OK
pedido

Global Server Save 2X Ao Dia

Por oktober15, 23 de ago. de 2012 em Scripts

global server save
20
4.8k
oktober15O
24 de agosto de 2012 às 15:33

ja salva

 

 

function onTimer()
broadcastMessage("Global server save, server será desligado em 5 segundos,", 25)
doSaveServer()
addEvent(doShutdown(), 5*1000)
return true
end

 

globalevents.xml

<globalevent name="globalSave" time="17:00" event="script" value="globalSave.lua"/>

 

esse funciona direitinho, só preciso que ele comece a avisar 5 minutos antes..

24 de agosto de 2012 às 15:34

<globalevent name="CloseAndSave" interval="60" event="script" value="closecleansave.lua"/>

tente colocar ali no interval = 300000 ( representa 5min em milesegundos )

VodkartV
24 de agosto de 2012 às 15:39

então usa assim

 

function onTimer()
function doBroadSave(delay)
if delay ~= 0 then 
doBroadcastMessage("[Global server save] O server será desligado em "..delay.." Minuto"..(delay > 1 and "s" or "")) 
addEvent(doBroadSave, 60000, delay -1) 
else
doSaveServer()
doShutdown()
end
end 
doBroadSave(5)
return true
end

 

<globalevent name="globalSave" time="17:00" event="script" value="globalSave.lua"/>

oktober15O
24 de agosto de 2012 às 16:10

deu certo 100%.

vlw vodkart.. voce é o melhor cara, sou seu fã deboa.

 

Duvida sanada.

EskyloE
24 de agosto de 2012 às 16:20


function onTimer()

local delay = 5*60 --Após quantos segs o servidor irá fechar
local avisos = {5*60,3*60,30} --Avisos faltando quantos segundos

for i = 1, #avisos do
local time = aviso[i]
if time < 60 then
str = os.date("%S segundo(s)", time)
elseif math.fmod(time, 60) == 0 then
str = os.date("%M minuto(s)", time)
else
str = os.date("%M minuto(s) e %S segundo(s)", time)
end
addEvent(broadcastMessage, (delay-time)*1000, "[Global server save] O server será desligado em "..str..".", 25)
end

addEvent(doSaveServer, delay*1000) --Apague esta linha caso seu server já salve o server com o doShutdown
addEvent(doShutdown, delay*1000)

return true
end

 

Qualquer coisa troque onTimer por onTime

 

deu o seguinte erro:

 

 

[13:44:00.146] [Error - GlobalEvent Interface]

[13:44:00.147] data/globalevents/scripts/saveshut.lua:onTime

[13:44:00.147] Description:

[13:44:00.148] data/globalevents/scripts/saveshut.lua:7: attempt to index global

'aviso' (a nil value)

[13:44:00.149] stack traceback:

[13:44:00.150] data/globalevents/scripts/saveshut.lua:7: in function <data/glob

alevents/scripts/saveshut.lua:1>

[13:44:00.152] [Error - GlobalEvents::timer] Couldn't execute event: globalSave

 


function onTimer()

local delay = 5*60 --Após quantos segs o servidor irá fechar
local avisos = {5*60,3*60,30} --Avisos faltando quantos segundos

for i = 1, #avisos do
local time = avisos[i]
if time < 60 then
str = os.date("%S segundo(s)", time)
elseif math.fmod(time, 60) == 0 then
str = os.date("%M minuto(s)", time)
else
str = os.date("%M minuto(s) e %S segundo(s)", time)
end
addEvent(broadcastMessage, (delay-time)*1000, "[Global server save] O server será desligado em "..str..".", 25)
end

addEvent(doSaveServer, delay*1000) --Apague esta linha caso seu server já salve o server com o doShutdown
addEvent(doShutdown, delay*1000)

return true
end