Test1: never prints tock
Code: Select all
--test1.lua
game.onevent(defines.events.ontick, function(event) tick(event) end)
function tick()
game.player.print("tick")
game.onevent(defines.events.ontick, function(event) tack(event) end)
end
function tack()
game.player.print("tack")
game.onevent(defines.events.ontick, function(event) tock(event) end)
end
function tock()
game.player.print("tock")
game.onevent(defines.events.ontick, function(event) tick(event) end)
end

Code: Select all
--test2.lua
game.onevent(defines.events.ontick, function(event) tick(event) end)
function tick()
game.player.print("tick")
game.onevent(defines.events.ontick, nil)
game.onevent(defines.events.ontick, function(event) tack(event) end)
end
function tack()
game.player.print("tack")
game.onevent(defines.events.ontick, nil)
game.onevent(defines.events.ontick, function(event) tock(event) end)
end
function tock()
game.player.print("tock")
game.onevent(defines.events.ontick, nil)
game.onevent(defines.events.ontick, function(event) tick(event) end)
end