Maelstraz
offline
Опыт:
127Активность: |
Капризы JassHelper'а : syntax error в цикле
Пытаясь сохранить карту, я вижу, как ДжассХелпер выдаёт, что у меня синтаксическая ошибка в коде :
Код:
Ему не нравится моё "exitwhen = 13" Что я упускаю ? PS : Это весь код карты на данный момент. PPS : Ногами сильно не пинать, я только начал изучение jass |
12.10.2009, 18:12 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
» А так? Код:
|
12.10.2009, 18:19 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
|
12.10.2009, 18:22 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Магия : оба варианта не работают.
Пробую по-другому : Код:
Теперь выдаётся ошибка "symbol массива multiply defined" (на массивы udg_MBNum и udg_Hero). "Идентификатор массива определен несколько раз" ? |
12.10.2009, 19:02 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Так может они у тебя уже в редакторе переменных созданы? |
12.10.2009, 19:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Van Damm, исправил это недоразумение. Однако, при попытке запуска карты всё равно выдаётся ошибка. Хотя ДХ уже не капризничает.
Возможно ли, что проблема в версии варика ? (у меня 1.24.1) Так, тест карты был успешно проведён при запуске карты в обычном редакторе, однако код банально не работает : не создаётся злополучный юнит. Попытка заменить h000 на hfoo, для чистоты эксперимента, успехом не увенчалась. Отредактировано Maelstraz, 12.10.2009 в 20:49. |
12.10.2009, 19:21 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
Maelstraz, а ты уверен, что у тебя стоит галочка "Продолжается инициализация карты" ? =) |
12.10.2009, 20:55 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Maelstraz, А событие кто добавлять будет? о_О
|
12.10.2009, 22:20 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Попытка #3 :
(Код написан в единственном триггере Main) Код:
Никто из проверяющих синтаксис не возмущается, но юниты по-прежнему не создаются. Галочка "Продолжается инициализация карты" стоит. После нажания на пунктик "Включён" ДХ выдаёт что триггер Мэйн задан несколько раз, так что сиё действие не нужно. Отредактировано Maelstraz, 12.10.2009 в 23:20. |
12.10.2009, 23:13 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Код:
Это писать не надо, этот триггер создаётся автоматически при сохраниении. |
12.10.2009, 23:22 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Nekit1234007, если этого не писать, проверщик синтаксиса говорит о необъявленной переменной gg_trg_Main в строке "set gg_trg_Main = CreateTrigger( )". Как быть ?
|
12.10.2009, 23:44 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
|
12.10.2009, 23:55 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Van Damm, библиотека вообще тьму-тьмущую самых разнообразных ошибок выдаёт...
Подавляющее их большинство - "расположение (переменной) вне функции". |
13.10.2009, 00:07 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Ну не знаю, у меня сохраняется без ошибок. Код, что я дал, нужно вставить вместо всего кода триггера.
И проверь, чтобы не стояла галка "Disable vJass syntax" в меню "JassHelper" |
13.10.2009, 00:14 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Цитата:
Да-да, именно так и я сделал. Упомянутая галка не стоит, проверено. Тест карты положительных результатов не дал, юнитов по-прежнему нет. М, а дело не может быть в unit id для CreateUnit ? Тип этого параметра "integer", а я уверенно пишу там "string" ('h000', название юнита при Ctrl+D), по примеру некоторых пользователей, чьи посты уже читал перед началом своей бурной деятельности. |
|
13.10.2009, 00:26 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Garret
Недоброе творится
offline
Опыт:
3,893Активность: |
Код объектов - инт. Пробуй BJDebugMsg, это самое простое, что в твоей ситуации можно и нужно сделать. |
13.10.2009, 00:39 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
'h000' это integer. Карта уже сохраняется? |
13.10.2009, 02:13 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Van Damm, карта сохраняется.
Однако, Syntax Check продолжает ругаться, а код по-прежнему отказывается работать. Garret, Debug Message не появляется. |
13.10.2009, 09:10 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Arty3ooo
...
offline
Опыт:
3,125Активность: |
Иногда нужно писать это без всяких initializer'ов, тк иначе триггер не будет работать. Аналогично с событиями таймер истек, кнопка нажата и тд. а обнулить xD |
13.10.2009, 09:19 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Maelstraz
offline
Опыт:
127Активность: |
Elf_Stratigo, по заявкам :
Использован код, предложенный Van Damm. Arty3ooo, ничего не понял. |
13.10.2009, 09:34 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|