diff --git a/form.lua b/form.lua index 1d1c1b3..5cc7865 100644 --- a/form.lua +++ b/form.lua @@ -91,10 +91,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.toggle_state then if state == "on" then - state = "mesecons" - timer:stop() - - elseif state == "mesecons" then state = "off" timer:stop() @@ -129,9 +125,5 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end - if state == "on" then - timer:start(0) - end - - + timer:start(0) end) diff --git a/soundblock.lua b/soundblock.lua index 1bbf69c..065454d 100644 --- a/soundblock.lua +++ b/soundblock.lua @@ -97,9 +97,19 @@ minetest.register_node("soundblock:block", { mesecons = { effector = { action_on = function (pos) - execute(pos) + local meta = minetest.get_meta(pos) + meta:set_string("state", "on") + + local timer = minetest.get_node_timer(pos) + timer:start(0) end, action_off = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("state", "off") + + local timer = minetest.get_node_timer(pos) + timer:stop() + stop_sound(pos) end }