From eeed4f148d95dd418ecee54fc6dfb22ab47f5f1b Mon Sep 17 00:00:00 2001 From: Jeija Date: Tue, 12 Feb 2013 10:25:24 +0100 Subject: [PATCH] Fix odd behaviour when using interrupts in the luacontroller --- mesecons_luacontroller/init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mesecons_luacontroller/init.lua b/mesecons_luacontroller/init.lua index 91551a1..5141f8a 100644 --- a/mesecons_luacontroller/init.lua +++ b/mesecons_luacontroller/init.lua @@ -162,9 +162,10 @@ end local getinterrupt = function(pos) local interrupt = function (time, iid) -- iid = interrupt id if type(time) ~= "number" then return end + local iid = iid or math.random() local meta = minetest.env:get_meta(pos) local interrupts = minetest.deserialize(meta:get_string("lc_interrupts")) or {} - table.insert (interrupts, iid or 0) + table.insert (interrupts, iid) meta:set_string("lc_interrupts", minetest.serialize(interrupts)) minetest.after(time, interrupt, {pos=pos, iid = iid}) end @@ -297,6 +298,7 @@ local reset_meta = function(pos, code, errmsg) end local reset = function (pos) + minetest.env:get_meta(pos):set_string("lc_interrupts", "") action(pos, {a=false, b=false, c=false, d=false}, true) end