Сказали мне что Wait работает нестабильно, при паузе в игре он продолжает отсчитывать. Сказали что нужно ставить Таймеры. Но о каких Таймерах идёт речь? Это какие-то самодельные триггеры, или те Таймеры что в таблице отсчитывают время? Дайте подробности как их нужно правильно делать.

на гуях:
сперва создаем таймеры в редакторе переменных (скажем штук 5 таймеров):
когда нужна задержка, запускаем таймер:
и еще нужен другой триггер, который выполняет действия когда таймер истечет - те что должны быть выполнены после задержки:
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
22
AlexSan, задержка перед обнулением переменной не нужна, сам таймер никуда от этого не исчезает
локальная переменная обнуляется чтобы не утекала ссылка на объект
15
В GUI, в меню создания переменных, их тип так и называется "Таймер".
В действиях триггера, это раздел "Обратный отсчет".
7
AlexSan, сгодится на крайний случай, но Я работаю на GUI, мне нужно малой кровью сделать.
Не пойму, зачем так извращаться? Есть "Wait", а под ним, тут же, "Wait (game-time)", проверил тщательно, ждал 5 минут в Паузе Игры 30-ти секундную задержку, всё работает. А под ним, ещё, Wait For Condition, Wait For Sound, на любую потребу.
17
используй вайты,таймеры нужны для точности да и для малых периудов то ейть вейты с 0.01 = 0.2 примерно,да и темболее 0.2-1 сек погрешности это пустяк
7
вейты с 0.01 = 0.2 примерно,да и темболее 0.2-1 сек погрешности это пустяк
Тогда нет, у меня есть такие важные периоды... Объясни тогда, как правильно написать таймер? Просто создал, не помогло. Тут вечно не договаривают. Скупы на слова. Приходится вытягивать по слову.
22
Принятый ответ
на гуях:
сперва создаем таймеры в редакторе переменных (скажем штук 5 таймеров):
когда нужна задержка, запускаем таймер:
и еще нужен другой триггер, который выполняет действия когда таймер истечет - те что должны быть выполнены после задержки:
Загруженные файлы
7
и еще нужен другой триггер
У меня есть Wait-ы в цикле Integer, и там очень важное заклинание, которое Я долго делал, которое работает стабильно, всё отлажено... Отказаться жалко. И после каждого прохода цикла идёт проверка условия, изменилось ли значение в булёвой переменной в режиме реального времени. А за тем циклом, идёт другой цикл, и немного вводного и конечного кода, и кругом Wait-ы. И получается, что нельзя триггер прерывать, и переносить в другой триггер тот же самый участок кода. У меня там 120 проходов, и что, на каждое истечение Таймера делать новый триггер с тем же кодом? Это 120 триггеров, и каждый передаёт управление следующему по таймеру? Жаль нет функции "Go To", как это в других языках программирования. Возможно действительно, стоит сделать отдельный триггер как jass-функцию, к которой и нужно обращаться через Custom Script? Но будет ли он обратно переходить на ту точку откуда его вызвали? В Гуях такого нет.
22
Dagger667, подумай
триггер срабатывает каждый раз когда таймер истекает. тебе не нужно 120 триггеров.
достаточно запустить периодический таймер один раз и будет тебе цикл каждые 0.01 сек. пока не остановишь таймер
стандартный wait game-time это и есть таймер в одну строчку который ты хотел сделать. он именно так и работает, что можно легко подсмотреть в jngp.
сложные спеллы лучше делать на джассе и если поставить jngp, то он легче чем эти гуи для всего кроме триггеров в два действия. ничего сложного там нет. в ЖНГП есть поисковик функций, никаких кодов там учить наизусть не нужно.
7
периодический таймер
Ах да, периодический же ещё есть... Значит можно разбить где-то на два-три триггера. Использовать TurnOn и TurnOff, чтобы они зря не мотали, и передавать управление следующему триггеру. У меня там два по 120 в одном триггере, значит два таких триггера хватит. Один отработал, передал другому... Но код мне придётся писать вместе с таймером, верно? То есть это не универсальный таймер, а для какого-то одного триггера? Для другого нужно делать другой таймер?
22
Dagger667, да, придется разбивать на отдельные триггеры если хочешь задержку меньше 0.1 сек.
На каждый цикл действий свой триггер и свой таймер.
Проблемы с turnon/turnoff будут если спелл использует больше чем один юнит.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.