@@ -8,14 +8,14 @@ local timerid = 0
88local function Execute (self , name )
99 self .data .timer .runner = name
1010
11- self .data [' timer' ].timers [name ] = nil
11+ self .data [" timer" ].timers [name ] = nil
1212
1313 if (self .entity and self .entity .Execute ) then
1414 self .entity :Execute ()
1515 end
1616
17- if ! self .data [' timer' ].timers [name ] then
18- timer .Remove (" e2_" .. self .data [' timer' ].timerid .. " _" .. name )
17+ if not self .data [" timer" ].timers [name ] then
18+ timer .Remove (" e2_" .. self .data [" timer" ].timerid .. " _" .. name )
1919 end
2020
2121 self .data .timer .runner = nil
@@ -31,19 +31,19 @@ local function AddTimer(self, name, delay)
3131 Execute (self , name )
3232 end )
3333 timer .Start (timerName )
34- elseif ! self .data [' timer' ].timers [name ] then
34+ elseif not self .data [" timer" ].timers [name ] then
3535 timer .Create (timerName , delay / 1000 , 2 , function ()
3636 Execute (self , name )
3737 end )
3838 end
3939
40- self .data [' timer' ].timers [name ] = true
40+ self .data [" timer" ].timers [name ] = true
4141end
4242
4343local function RemoveTimer (self , name )
44- if self .data [' timer' ].timers [name ] then
45- timer .Remove (" e2_" .. self .data [' timer' ].timerid .. " _" .. name )
46- self .data [' timer' ].timers [name ] = nil
44+ if self .data [" timer" ].timers [name ] then
45+ timer .Remove (" e2_" .. self .data [" timer" ].timerid .. " _" .. name )
46+ self .data [" timer" ].timers [name ] = nil
4747 end
4848end
4949
@@ -71,7 +71,7 @@ local function luaTimerGetNextIncrementalKey(self)
7171end
7272
7373local function luaTimerGetInternalName (entIndex , name )
74- return entIndex .. ' _gmod_wire_expression2_luatimer_' .. name
74+ return entIndex .. " _gmod_wire_expression2_luatimer_" .. name
7575end
7676
7777local function luaTimerExists (self , name )
@@ -104,11 +104,11 @@ local function luaTimerCreate(self, name, delay, repetitions, callback)
104104 }
105105
106106 timer .Create (internalName , delay , repetitions , function ()
107- if timer .RepsLeft (internalName ) == 0 then
107+ ent :Execute (callback )
108+
109+ if timer .RepsLeft (internalName ) == 0 and luaTimers [entIndex ] then
108110 luaTimers [entIndex ][name ] = nil
109111 end
110-
111- ent :Execute (callback )
112112 end )
113113end
114114
@@ -128,15 +128,15 @@ end
128128/* *****************************************************************************/
129129
130130registerCallback (" construct" , function (self )
131- self .data [' timer' ] = {}
132- self .data [' timer' ].timerid = timerid
133- self .data [' timer' ].timers = {}
131+ self .data [" timer" ] = {}
132+ self .data [" timer" ].timerid = timerid
133+ self .data [" timer" ].timers = {}
134134
135135 timerid = timerid + 1
136136end )
137137
138138registerCallback (" destruct" , function (self )
139- for name ,_ in pairs (self .data [' timer' ].timers ) do
139+ for name ,_ in pairs (self .data [" timer" ].timers ) do
140140 RemoveTimer (self , name )
141141 end
142142
0 commit comments