Skip to content
Snippets Groups Projects
Commit 2b4427a3 authored by Peter Nerlich's avatar Peter Nerlich
Browse files

fix stopping trains

parent b8df2d17
No related branches found
No related tags found
No related merge requests found
local DISABLE_TIMEOUT = tonumber(minetest.settings:get("kif_custom.advtrains.disable_timeout")) or 60 * 60
local trains_disabled = #minetest.get_connected_players == 0
local trains_disabled = #minetest.get_connected_players() == 0
local disable_job = nil
......@@ -11,15 +11,17 @@ minetest.register_on_joinplayer(function(player, last_login)
disable_job = nil
end
if trains_disabled then
minetest.log("action", "[kif_custom] Enabling trains.")
trains_disabled = false
end
end)
minetest.register_on_leaveplayer(function(player, timed_out)
if #minetest.get_connected_players() == 0 then
if #minetest.get_connected_players() <= 1 then -- leaving player is still counted
-- deactivate trains
if disable_job == nil then
disable_job = minetest.after(DISABLE_TIMEOUT, function()
minetest.log("action", "[kif_custom] No player logged in for a time. Disabling trains.")
trains_disabled = true
disable_job = nil
end)
......
......@@ -13,6 +13,8 @@ dofile(MP.."/missing_recipes.lua")
dofile(MP.."/advtrains/survival_recipes.lua")
-- make trains ignore microblocks and some others
dofile(MP.."/advtrains/ignore_collisions.lua")
-- make trains stop some time after last player left server
dofile(MP.."/advtrains/stop_on_inactivity.lua")
-- warning message for default password (if set)
if minetest.settings:get("default_password") then
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment