[0.7.1] Function switching of event

This subforum contains all the issues which we already resolved.
User avatar
rk84
Filter Inserter
Filter Inserter
Posts: 556
Joined: Wed Feb 13, 2013 9:15 am
Contact:

[0.7.1] Function switching of event

Post by rk84 »

Giving new functions inside ontick -event for ontick -event leads to crash. Can be avoided by calling "game.onevent(defines.events.ontick, nil)" before giving new function.

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
Test2: This one works, but if for example you remove nil in tack -function it will crash in 8-9. cycle. Might be bit random :?

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
Test mode
Searching Flashlight
[WIP]Fluid handling expansion
[WIP]PvP gamescript
[WIP]Rocket Express
Autofill: The torch has been pass to Nexela
kovarex
Factorio Staff
Factorio Staff
Posts: 8298
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: [0.7.1] Function switching of event

Post by kovarex »

Hello, as always, thank you for the report :)

This is fixed for 0.7.2
Post Reply

Return to “Resolved Problems and Bugs”