На примере:
Динамические создается юнит, через примерно пять секунд получает приказ идти куда либо
СоздаемЮнита

call TriggerSleepAction(пять секунд)

ПриказИдти
Какие последствия могут быть в таком случае ? кроме того, что вейты не точны (плюс минус секунда не имеет значения)
Вопрос связан с тем, что во многих статьях, ответах на вопросы и тд. рекомендуют не использовать вейты, а пользоваться таймерами (кроме того, что вейты не точны, о других причинах( если они есть) инфы не нашел)

Вэйты плохо работают, если в какой-то момент игра паузится. Они продолжают течь.
`
ОЖИДАНИЕ РЕКЛАМЫ...
16
Вэйты плохо работают, если в какой-то момент игра паузится. Они продолжают течь.
Принятый ответ
4
Если нужно сколько-то подождать, но не важно сколько wait отлично справится. Поэтому обычно используются 0.01с вейты. Из-за игровой паузы погрешность может быть не плюс-минус секунда, а плюс-минус минута, так что в остальных случаях не рекоммендуется.
12
Использование вейтов в цикле очень плохая затея, чем больше цикл и время тем больше погрешность, которая насратает и становиться уж точно больше чем 1 сек. Допустим у нас цикл, в нем 15 раз что- то происходит , а вейт 0.5 сек.В результате мы получим погрешность 2-3 сек уже.Также точно вейт нельзя использовать в отрядах , тупо не работают действия ниже.Нельзя использовать в вызываемых функциях, вейт обрывает поток и пока он не выполнется дальнейшие действия в первом триггере не пройдут.Еще в локальной сети могут быть задержки разной длительности . если игрок лагает.
33
Как показали последние исследования в области информационной безопасности
теста triggersleepactions он работает идеально даже в цикле и даже в таймере, не знаю мест где бы он не работал
Вот видео
Здесь падают блоки в воду, и это не таймер, эта вещь отработала около 300 раз во всех вариациях, и раз 200 в сетевой игре
И это WAIT IN LOOP, я прекрасно работаю с таймера, но эта вещь была сделана намеренно чтобы проверить и разрушить все мифы
Далее
zogorlol:
Из-за игровой паузы погрешность может быть не плюс-минус секунда
Возможно вы не о TriggerSleepAction, а вы проверяли?
Я проверял:
событие - инициализация
действие - TriggerSleepAction 20 сек
действие показать сообщение "прошло 20 секунд"
Можете хоть в сетевой игре запустить и поставить на паузу, вы не получите это сообщение во время паузы и не получите раньше, триггер сработает как надо, согласно паузе и времени отведенному в паузе
А ещё TriggerSleepAction можно совать даже на таймер, но период таймера не должен быть меньше чем Слип
Но разумеется всё это работает не в ГУИ, и с соблюдением ещё 10 условий, но оно работает, главное знать все нюансы
9
Ну вот, мнения разнятся, и как выбирать лучший ответ...
32
Все всплывет в мультиплеере, есть такая карта, пародия на всеми известный "Вампиризм", называется она как не странно - "Алкоголизм". Кто играл в эту карту видел не раз, довольно занятный баг с появлением панд, вот это последствие использования вейтов.
Ну в итоге - в мультплеерных картах вейтам не место.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.