• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

GlobalEvent Shutdown and save serwer

Nurn

Member
Joined
Dec 30, 2012
Messages
239
Reaction score
11
The code calls subtitles 30 minutes before turning off the server.
There are several notifications ... (8)
30-20-15-10-5-3-2-1


Code:
<globalevent name="shutdown" time="[B]23:30[/B]" event="script" value="shutdown.lua"/>

Code:
local shutdown = {
final_shutdown = 100
}
function ShutDown()
doSetGameState(GAMESTATE_SHUTDOWN)
return TRUE
end
function Shut()
doSetGameState(GAMESTATE_CLOSED)
addEvent(ShutDown,shutdown.final_shutdown*100)
return TRUE
end
function Save()
doSaveServer()
addEvent(Shut,1*50)
return TRUE
end
function ServerClose1()
doBroadcastMessage("Server is going down in 1 minute, please log out now!")
addEvent(Save,60*100)
return TRUE
end
function ServerClose2()
doBroadcastMessage("Server is going down in 2 minute, please log out now!")
addEvent(ServerClose1,60*100)
return TRUE
end
function ServerClose3()
doBroadcastMessage("Server is going down in 3 minute, please log out now!")
addEvent(ServerClose2,60*100)
return TRUE
end
function ServerClose5()
doBroadcastMessage("Server is going down in 5 minute, please log out now!")
addEvent(ServerClose3,60*200)
return TRUE
end
function ServerClose10()
doBroadcastMessage("Server is going down in 10 minute, please log out!")
addEvent(ServerClose5,60*500)
return TRUE
end
function ServerClose15()
doBroadcastMessage("Server is going down in 15 minute!")
addEvent(ServerClose10,60*500)
return TRUE
end
function ServerClose20()
doBroadcastMessage("Server is going down in 20 minute!")
addEvent(ServerClose15,60*500)
return TRUE
end
function onTime(interval)
doBroadcastMessage("Server is going down in 30 minute!")
addEvent(ServerClose20,60*1000)
return true
end
 
I recommend my script:
Lua:
local timetoss = 10 --minutes

function onTime()
return prepareShutdown(math.abs(math.ceil(timetoss)))
end

function prepareShutdown(minutes)
	if(minutes <= 0) then
	addEvent(close, 1*1000)
	addEvent(global, 10*1000)
		return false
	end

	if(minutes == 1) then
		doBroadcastMessage("Server is going down in " .. minutes .. " minute, please log out now!")
	elseif(minutes <= 3) then
		doBroadcastMessage("Server is going down in " .. minutes .. " minutes, please log out.")
	else
		doBroadcastMessage("Server is going down in " .. minutes .. " minutes.")
	end

	shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1)
	return true
end


function close()
	doSetGameState(GAMESTATE_CLOSED)
end

function global()
	doSetGameState(GAMESTATE_SHUTDOWN)
end
 
http://otland.net/f82/global-save-shutdown-you-choose-hour-171077/

Credits to Someone I don't know who for function prepareShutdown.
Special thanks to Ninja
Thank you to Summ to getWorldUpTime()

If you want to give rep or like, give it to Ninja:p

XML:
<globalevent name="globalsave" time="3:00" event="script" value="globalsave.lua"/>

Lua:
function prepareShutdown(minutes) if(minutes <= 0) then
        doSetGameState(GAMESTATE_SHUTDOWN)
        return false
    end
 
 
    if(minutes == 1) then
        doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!")
    elseif(minutes <= 3) then
        doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.")
    else
        doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.")
    end
 
 
    shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1)
    return true
end


function onTime(interval)
	if os.date('%H') == "3" and getWorldUpTime() > 20*60*60 then
		return prepareShutdown(10)
	end
return TRUE
end

Default = 3h (dawn)
 
Back
Top