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

Принятый ответ

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
6 лет назад
0
Похожие вопросы:

ответ
Сама функция TriggerSleepAction (Wait) не вызывает утечек, но багнута и при использовании в качестве задержек может способствовать утечкам, поэтому никаких вейтов в спеллах и всяких респаунах - только таймеры, вейты нужны для синхронизации данных и роликов и точка!

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