Code: Select all
if settings.startup["treesaplingsredux_upsfriendlyplanters"].value then
script.on_event(defines.events.on_tick, onTick_NoLoopPlanters)
else
script.on_event(defines.events.on_tick, onTick)
end
Code: Select all
if settings.startup["treesaplingsredux_upsfriendlyplanters"].value then
script.on_event(defines.events.on_tick, onTick_NoLoopPlanters)
else
script.on_event(defines.events.on_tick, onTick)
end
Code: Select all
script.on_init(Init)
script.on_configuration_changed(ConfigChanged)
script.on_event(defines.events.on_built_entity, BuiltEntity)
script.on_event(defines.events.on_player_mined_entity, MinedEntity)
script.on_event(defines.events.on_robot_built_entity, BuiltEntity)
script.on_event(defines.events.on_robot_mined_entity, MinedEntity)
script.on_event(defines.events.on_entity_died, MinedEntity)
script.on_event(defines.events.script_raised_built, ScriptBuiltEntity)
script.on_event(defines.events.script_raised_revive, ScriptBuiltEntity)
if settings.startup["treesaplingsredux_upsfriendlyplanters"].value then
script.on_event(defines.events.on_tick, onTick_NoLoopPlanters)
else
script.on_event(defines.events.on_tick, onTick)
end
Yes, you can assign another function (or nil to stop listening to an event). However, you must do this when the game is loading (this can be before on_load) or within an event. Also, something like this is possible:FuryoftheStars wrote: ↑Thu May 05, 2022 2:28 amIs it ok to change which function is registered for a particular event based on a setting?
Code: Select all
script.on_event(defines.events.on_entity_died, function(event)
if event.entity.name == x then
script.on_event(defines.events.on_tick, function(event)
game.print(event.tick)
end)
end
end)
Code: Select all
script.on_event(defines.events.on_tick, function(event)
if event.tick == 10000 then
script.on_event(defines. events.on_tick, nil)
end
end)