Trokkin
L u a
offline
Опыт:
352Активность: |
Наполовину работающий JASS триггер
В процессе воплощения одной моей задумки, понадобилось заполнить всю карту зданиями одного типа, что реализовывалось бы триггером, написанным мной на JASS-е, и всё вроде как работало... До определённого момента - триггер заполнял только треть нужной мне карты. Немного поэкспериментировав с триггером, я выяснил, что чем больше действий описано в триггере, тем меньше он создаёт юнитов, т.е. исполняет функцию CreateUnit(). Также, функции, вызываемые в конце триггера также не работают. Триггер просто обрывает свою работу на определённом моменте, видимо, когда достигается лимит вызванных функций. Отделение содержимого цикла в отдельную функцию не помогло. Решения я так и не нашёл, по этому пишу сюда за помощью в проблеме. Карта с триггером прикладывается. |
14.03.2015, 13:04 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
30,496Активность: |
вейтом разделяй по ~900 действий. |
14.03.2015, 13:23 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Один триггер (условно говоря) может выполнить ограниченное количество jass инструкций (для разный действий из редактора выполняется разное количество jass инструкций). Если хотите подробности - ищите "поток". |
14.03.2015, 13:45 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Trokkin
L u a
offline
Опыт:
352Активность: |
Спасибо, wait помог, теперь всё работает. |
14.03.2015, 14:12 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Tapper
Ололо
offline
Опыт:
1,882Активность: |
Trokkin:
Все же вейт как-то не практично, лучше делай как сказал Адольф. |
14.03.2015, 16:34 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SirNickolas
offline
Опыт:
32Активность: |
Wait имеет вероятность в любой ситуации упасть по необъяснимым причинам. Лучше запускать части кода через ExecuteFunc. |
14.03.2015, 17:03 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
xgm.guru/p/wc3/code-flow-and-data-access-op-limit тут всё описано |
16.03.2015, 13:03 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Pippetz
Silenced by Pippetz
offline
Опыт:
1,015Активность: |
Код не смотрел, но:
|
16.03.2015, 14:38 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
30,496Активность: |
Для внезапных умников был написан пост №3. Читаем. делаем отладку у себя в мозу, проверяем.
Melissa добавил: И №6 кстати тоже, да. |
16.03.2015, 20:35 | #9
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
У меня кстати никогда проблем с Wait (и TriggerSleepAction) не возникало. Возможно потому, что я ими почти никогда не пользовался. |
17.03.2015, 22:36 | #10
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,258Активность: |
Каждый раз, когда ты используешь вейт, где-то в мире умирает котёнок. |
17.03.2015, 23:24 | #11
+2/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
30,496Активность: |
Особенно если юзаешь wait for condition или wait for sound |
18.03.2015, 00:25 | #12
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Нормально вейты работают, не надо упарываться. Только юзать аналог polledwait от векса, т.к. в дефолтном утечки, а простой слип не учитывает паузы
ScorpioT1000 добавил: Вот тут даже есть пример как с вейтом выделяются юниты по удаленности xgm.guru/p/wc3/sc-sorted-selector |
18.03.2015, 16:41 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
30,496Активность: |
ScorpioT1000:
? Если без трололо, то вейт плох невозможностью изменения длительности, когда он уже начался и неточностью, если ставить вейт больше 0.1 - будет неточность от 0.05 вплоть до нескольких сек(при длительных вейтах) |
18.03.2015, 17:41 | #14
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
А зачем вам такая точность? Приведите пример. |
18.03.2015, 18:47 | #15
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
30,496Активность: |
ADOLF:
на вскидку нужно удалять входящих юнитов через 12 секунд после входа, челлендж -мини-игра скажем. вейт 12 сек оставит юнитов несколько дольше, чем нужно. И да, все знают, что таймерами грамотнее, кэпы Melissa добавил: Ещё неточность вейтов будет неудобна в роликах, но в синематике благо почти всегда актуальнее wait for condition или wait for sound, а не обычный вейт. |
18.03.2015, 20:46 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
На 0.02 секунды? Вы серьезно?
Бедные Близы, и как они вообще на GUI сделали всю стандартную кампанию... |
19.03.2015, 22:35 | #17
+2/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,258Активность: |
ADOLF:
Движение снарядов же. |
20.03.2015, 06:50 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
30,496Активность: |
ADOLF:
больше вообще-то, всегда случайная, для справки. Запустите таймер, поэкспериментируйте. ADOLF: Я вообще всё на них делаю, всех жанров, никаких проблем не испытываю. Clamp: :trollface: Отредактировано Melissa, 20.03.2015 в 11:38. |
20.03.2015, 11:38 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,258Активность: |
Melissa:
Сказал чувак '12 года регистрации автору cJass и нескольких крупных проектов. |
20.03.2015, 16:45 | #20
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|