- Joined
- Aug 26, 2016
- Messages
- 139
I’m trying to work with a hash table and timers and I can start it, but I can’t disable it.
JASS:
function Timer_Test takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), "Ok))" )
endfunction
function Timer_On takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u = LoadUnitHandle(Hash, GetHandleId(t), 0)
call FlushChildHashtable(Hash, GetHandleId(t))
call PauseTimer(t)
call DestroyTimer(t)
set t = null
set u = null
call DisplayTextToForce( GetPlayersAll(), "Off" )
endfunction
function Timer_Off takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(Hash, GetHandleId(t), 0, u)
call TimerStart (t, 0.20, true, function Timer_Test)
set t = null
set u = null
call DisplayTextToForce( GetPlayersAll(), "On" )
endfunction
function Trig_Shoot_Conditions takes nothing returns boolean
return BlzGetTriggerPlayerMouseButton() == MOUSE_BUTTON_TYPE_RIGHT
endfunction
//===========================================================================
function InitTrig_Shoot takes nothing returns nothing
local trigger On = CreateTrigger()
local trigger Off = CreateTrigger()
call TriggerRegisterPlayerMouseEventBJ( On, Player(0), bj_MOUSEEVENTTYPE_UP )
call TriggerAddCondition( On, Condition( function Trig_Shoot_Conditions ) )
call TriggerAddAction( On, function Timer_On )
call TriggerRegisterPlayerMouseEventBJ( Off, Player(0), bj_MOUSEEVENTTYPE_DOWN )
call TriggerAddCondition( Off, Condition( function Trig_Shoot_Conditions ) )
call TriggerAddAction( Off, function Timer_Off )
set On = null
set Off = null
endfunction
endlibrary