From 42f6fd5190faa7caecc308c8e41ab0fcd344dae9 Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 23 Sep 2016 18:27:14 -0500 Subject: [PATCH] Fix bug in player hook --- mods/adventuretest/functions.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mods/adventuretest/functions.lua b/mods/adventuretest/functions.lua index c111bf0..2d46028 100644 --- a/mods/adventuretest/functions.lua +++ b/mods/adventuretest/functions.lua @@ -22,16 +22,23 @@ end adventuretest.pl_hooks = {} function adventuretest.player_loop(dtime) local p = minetest.get_connected_players() + local reset_hooks = { } for _, player in pairs(p) do local name = player:get_player_name() for k,hook in pairs(adventuretest.pl_hooks) do adventuretest.pl_hooks[k].timer = adventuretest.pl_hooks[k].timer + dtime if adventuretest.pl_hooks[k].timer >= adventuretest.pl_hooks[k].timeout then + reset_hooks[#reset_hooks+1] = k adventuretest.pl_hooks[k].timer = 0 adventuretest.pl_hooks[k].func(player,name,dtime) end end end + if #reset_hooks > 0 then + for _,hid in pairs(reset_hooks) do + adventuretest.pl_hooks[hid].timer = 0 + end + end end function adventuretest.register_pl_hook(f,t)