From aebbcbf398a9dde6b2cbc8ab05c103f44f6f703d Mon Sep 17 00:00:00 2001 From: Zefram Date: Wed, 16 Jul 2014 17:24:39 +0200 Subject: [PATCH] Fix indexing error in timer processing --- builtin/game/misc.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua index 4afcdb99e..a392386f1 100644 --- a/builtin/game/misc.lua +++ b/builtin/game/misc.lua @@ -11,11 +11,15 @@ core.register_globalstep(function(dtime) table.insert(core.timers, timer) end core.timers_to_add = {} - for index, timer in ipairs(core.timers) do + local index = 1 + while index <= #core.timers do + local timer = core.timers[index] timer.time = timer.time - dtime if timer.time <= 0 then timer.func(unpack(timer.args or {})) table.remove(core.timers,index) + else + index = index + 1 end end end)