как обновить функцию внутри таймерного периодического триггера?
как заменить внутри Trg_Main "111" на "222" ?
как заменить внутри Trg_Main "111" на "222" ?
globals
trigger t=CreateTrigger()
string txt="111"
end globals
function Trg_Main takes nothing returns nothing
call BJDebugMsg(txt)
endfunction
function Trg_init takes nothing returns nothing
call TriggerRegisterTimerEvent(t,1,true)
call TriggerAddAction(t,function Trg_Main)
endfunction
только вот такое полукостыльное решение?:
function Trg_init takes nothing returns nothing
call DisableTrigger(t)
set t=null
set t=CreateTrigger()
call TriggerRegisterTimerEvent(t,1,true)
call TriggerAddAction(t,function Trg_Main)
endfunction
function text222 takes nothing returns nothing
set txt="222"
call Trg_init()
endfunction
Принятый ответ
globals
triggeraction Act = null
endglobals
set Act = TriggerAddAction(t,function Trg_Main)
// когда нужно поменять действие
call TriggerRemoveAction(t, Act)
set Act = TriggerAddAction(t,function Trg_Main2)
если тебе надо просто текст поменять, просто обновляешь переменную и всё, к чему вся эта возня с отключениями?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. host_pi
восхитительно
ещё есть - call TriggerClearActions(t)
пришлось городить огород с переопределением тригера
и твоё решение подъехало вторым вариантом
TriggerAddAction и TriggerRemoveAction - твой бро
TriggerClearActions - не твой бро