<globalevent name="Server Save" time="01:55:00" script="serversave.lua" />
local shutdownAtServerSave = true
local cleanMapAtServerSave = false
local function serverSave()
if shutdownAtServerSave then
Game.setGameState(GAME_STATE_SHUTDOWN)
else
Game.setGameState(GAME_STATE_CLOSED)
if cleanMapAtServerSave then
cleanMap()
end
Game.setGameState(GAME_STATE_NORMAL)
end
end
local function secondServerSaveWarning()
broadcastMessage("Server is saving game in one minute. Please logout.", MESSAGE_STATUS_WARNING)
addEvent(serverSave, 60000)
end
local function firstServerSaveWarning()
broadcastMessage("Server is saving game in 3 minutes. Please logout.", MESSAGE_STATUS_WARNING)
addEvent(secondServerSaveWarning, 120000)
end
function onTime(interval)
broadcastMessage("Server is saving game in 5 minutes. Please logout.", MESSAGE_STATUS_WARNING)
Game.setGameState(GAME_STATE_STARTUP)
addEvent(firstServerSaveWarning, 120000)
return not shutdownAtServerSave
end
Code:<globalevent name="Server Save" time="01:55:00" script="serversave.lua" />Code:local shutdownAtServerSave = true local cleanMapAtServerSave = false local function serverSave() if shutdownAtServerSave then Game.setGameState(GAME_STATE_SHUTDOWN) else Game.setGameState(GAME_STATE_CLOSED) if cleanMapAtServerSave then cleanMap() end Game.setGameState(GAME_STATE_NORMAL) end end local function secondServerSaveWarning() broadcastMessage("Server is saving game in one minute. Please logout.", MESSAGE_STATUS_WARNING) addEvent(serverSave, 60000) end local function firstServerSaveWarning() broadcastMessage("Server is saving game in 3 minutes. Please logout.", MESSAGE_STATUS_WARNING) addEvent(secondServerSaveWarning, 120000) end function onTime(interval) broadcastMessage("Server is saving game in 5 minutes. Please logout.", MESSAGE_STATUS_WARNING) Game.setGameState(GAME_STATE_STARTUP) addEvent(firstServerSaveWarning, 120000) return not shutdownAtServerSave end
function savePlayers()
local players = Game.getPlayers()
for i = 0, #players do
players[i]:save()
end
addEvent(savePlayers, 30 * 1000)
end
function saveServer()
saveServer()
addEvent(saveServer, 2 * 60 * 60 * 1000)
end
function onStartup()
addEvent(savePlayers, 30 * 1000)
addEvent(saveServer, 2 * 60 * 60 * 1000)
end