call TriggerRegisterTimerEvent(t,time,true)
есть ли функция по изменению значения таймера?
чтобы он тикал не time=1 а time=2
чтобы он тикал не time=1 а time=2
или только через удаление и создание нового тригера?
call DisableTrigger(t)
call TriggerRemoveAction(t, action)
set t=CreateTrigger()
call TriggerRegisterTimerEvent(t,time,true)
set action=TriggerAddAction(t,function Main)
Принятый ответ
Можно просто TriggerRemoveAction, потом DestroyTrigger. Если нет действий, а только условия, то тогда сразу DestroyTrigger.а если мы используем DisableTrigger(t) + TriggerRemoveAction(t) + DestroyTrigger(t) - то будет правильно и без утечек?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. host_pi
во-вторых изменение времени в нём же не будет отличаться по сути от тригера? т.е. в таймере тоже надо заново его объявлять если надо сменить периодичность таймера, да?
Ред. PT153
Причём я думаю, что отключение триггера не останавливает ивент-таймер, он дальше тикает, просто не запускает условия и действия. Это легко проверить: стартануть триггер в периодом в 5с, отключить его за 1с до тика, включить после 1с от тика. Триггер должен сработать после 4с, а не через 1с.
Ред. host_pi
это нужно было для радужного текста, в принципе он уже релизнут итак на этом решении
а какая есть альтернатива то?
Ред. host_pi
или можно просто DestroyTrigger(t)?
либо делать периодический таймер, но в случае паузы вручную отлавливать натиканное время и потом это время докармливать другому периодическому таймеру чтобы он продолжил тикать с этого же места?
Ред. PT153
Ред. host_pi
второе решение на таймере примерно такое - через непериодический но с перезапуском и возможностью запаузить:
сам код не напишешь - никто не напишет
это решение оплимитно
поэтому нормальное решение только одно и оно в шапке
либо садить этот таймер на отдельный оплимито-обходный триггер и всем говорить, что это решение на таймере