data\globalevents\globalevents.xml
<globalevent name="save" interval="3600" event="script" value="save.lua"/>
edita na onde ta red se seu tiver diferente aposta
globalevents.xml
info
Grupo: Conde
Registrado: 03/01/12
Posts: 884
Reputação: +233
Char no Tibia: Segredo

data\globalevents\globalevents.xml
<globalevent name="save" interval="3600" event="script" value="save.lua"/>
edita na onde ta red se seu tiver diferente aposta
globalevents.xml
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin

eu quero o global server save, que salva e derruba o server. ai com o autorestarter.sh que fiz volta sosinho.
esse save qe tem no globalevents nao é assim. quero o global server save.
mais obrigado..
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

/data/globalevents/scripts globalSave
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"/>
nem testei
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin

testei, abriu normalmente nao deu nenhum erro, porem quando da a hora marcada nada acontece..
nao da nenhum erro no distro nem nada..
a hora do otserver pode esta diferente ou coisa assim?
vlw
EDIT:
consegui arrumar um pouco.
mude o onTimer para onTime
function onTimer()broadcastMessage("Global server save, server será desligado em 5 segundos,", 25)
doSaveServer()
addEvent(doShutdown(), 5*1000)
return true
end
agora ela salva e fexa o server normalmente..
eu queria que avisase com 5 minutos, com 3 minutos e com 30 segundos antes de fexar..
e tbm deu um erro:
<luaAddEvent> Callback paramenter should be a function
mais esta funcionando direitinho..
Editado Agosto 24 por öKTöBëR
info
Grupo: Campones
Registrado: 12/08/12
Posts: 7
Reputação: +9
Char no Tibia: No have

Tenta esse:
function onTime()
local function doShutdown()
broadcastMessage("Global server save, server será desligado em 5 segundos,", 25)
doSaveServer()
addEvent(doShutdown(), 5*1000)
return true
end
info
Grupo: Visconde
Registrado: 11/08/10
Posts: 477
Reputação: +175
Gênero: Masculino

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
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin

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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

tipo
ele começa a avisar 04:55
as 05:00 ele fecha e salva
e abre que hrs? as 05:05?
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin

tipo
ele começa a avisar 04:55
as 05:00 ele fecha e salva
e abre que hrs? as 05:05?
tipo, as 4:55 ele começa a avisar e as 5:00 ele salva e fexa..
e com o autorestarter.sh ele ja abre sosinho, isso eu ja tenho
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

closecleansave.lua
local config = {
times = {"04:55","16:55"},
minutes = 5
}
function CloseAndSave()
if doSetGameState(GAMESTATE_CLOSED) then
doSaveServer(false)
addEvent(doSetGameState, 5000, GAMESTATE_NORMAL)
end
end
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)
end
end
function onThink(interval, lastExecution)
if isInArray(config.times, tostring(os.date("%X")):sub(1, 5)) then
doBroadSave(config.minutes)
addEvent(CloseAndSave, config.minutes*60*1000)
end
return true
end
globalevebts.xml
<globalevent name="CloseAndSave" interval="60" event="script" value="closecleansave.lua"/>
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin

closecleansave.lua
local config = { times = {"04:55","16:55"}, minutes = 5 } function CloseAndSave() if doSetGameState(GAMESTATE_CLOSED) then doSaveServer(false) addEvent(doSetGameState, 5000, GAMESTATE_NORMAL) end end 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) end end function onThink(interval, lastExecution) if isInArray(config.times, tostring(os.date("%X")):sub(1, 5)) then doBroadSave(config.minutes) addEvent(CloseAndSave, config.minutes*60*1000) end return true end
globalevebts.xml
<globalevent name="CloseAndSave" interval="60" event="script" value="closecleansave.lua"/>
ele começa a enviar muuuuitas mensagens no interval de 60, a cada 60 milesegundos repete as mensagens e tbm repete o save.
e pelo que vi o script apenas da save e closeserver..
preciso de ele use o evento shutdown. para que fexe completamente o distro.
addEvent(doShutdown)
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

o seu serve é em mile segundos?
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin

sim.. TFS 0.3.7 SVN rev 5761
info
Grupo: Artesão
Registrado: 03/02/09
Posts: 134
Reputação: +15
Char no Tibia: Knight sparxzin
Ola, meu server ja esta configurado para dar server save todos os dias as 5h da manha, e ja esta tudo ok. no config.lua
globalSaveEnabled = true
globalSaveHour = 5
globalSaveMinute = 0
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = true
porem agora eu quero que ele de save 2x ao dia, sendo 5h da manha e 5h da tarde.
como faço? se eu colocar assim pode funcionar?
globalSaveEnabled = true
globalSaveHour = 5
globalSaveHour = 17
globalSaveMinute = 0
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = true
desde ja obrigado. e rep++