function Func takes code funcy returns nothing
local trigger t = CreateTrigger()
call TriggerAddAction(t,funcy)
set t = null
endfunction
function Call takes code takesNothingReturnsNothing returns nothing
local trigger t=CreateTrigger()
local triggeraction ta=TriggerAddAction(t,takesNothingReturnsNothing)
call TriggerExecute(t)
call TriggerRemoveAction(t,ta)
call DestroyTrigger(t)
set t=null
set ta=null
endfunction
function Evaluate takes code takesNothingReturnsBoolean returns boolean
local trigger t=CreateTrigger()
local boolean b
call TriggerAddCondition(t,Filter(takesNothingReturnsBoolean))
set b=TriggerEvaluate(t)
call DestroyTrigger(t)
set t=null
return b
endfunction
function func1 takes code func2 returns nothing
local trigger t = CreateTrigger() // you forgot create trigger.
call TriggerAddAction( t, func2 )
endfunction