chukky-jr
Member
- Reaction score
- 15
JASS:
function StopMovingUnitXY takes trigger t returns nothing
call FlushChildHashtable(udg_SkillTable, GetHandleId(t) )
call DestroyTrigger(t)
endfunction
function MoveUnitXY takes unit wUnit, real speed, real X, real Y, trigger exec returns trigger
local trigger t = CreateTrigger()
call SaveReal(udg_SkillTable, GetHandleId(t), StringHash("X"), X)
call SaveReal(udg_SkillTable, GetHandleId(t), StringHash("Y"), Y)
call SaveReal(udg_SkillTable, GetHandleId(t), StringHash("speed"), speed)
call SaveUnitHandle(udg_SkillTable, GetHandleId(t), StringHash("wUnit"), wUnit)
call SaveTriggerHandle( udg_SkillTable, GetHandleId(t), StringHash("Exec"), exec )
call TriggerRegisterTimerEvent(t, udg_updateSpeed, true)
call TriggerAddAction(t,function MoveProc)
return t
endfunction
so this is a part of code that got me confused, how does DestroyTrigger() works? i meant a simple GUI i create never have DestroyTrigger() in it, so i'm kinda confused on how it works
and also i don't get how a trigger that doesn't have any events can run in WC3, i meant when i create a trigger, it is used to add condition, events, and action to another trigger (gg_trg from GUI), for example on that JASS, local trigger t surely has event and action since it is added by function MoveUnitXY, but function MoveUnitXY itself doesn't have event to make itself fire its actions