Ir para conteúdo
  • 0

Comando salvar servidor inteiro cada meia hora


vudi

Pergunta

Queria um comando pra salvar o servidor inteiro personagems , house tudo só pelo comando

 

e queria que esse comando fosse a cada meia hora USO Pda by sciler 1.9 ou Tibia 8.54

Editado por vudi
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Ok, então vai em data/globalevents/scripts, crie um arquivo chamado save.lua e adicione:

 

 

local config = {

broadcast = {120, 30},

shallow = "no",

delay = 120,

events = 30

}

 

config.shallow = getBooleanFromString(config.shallow)

 

local function executeSave(seconds)

if(isInArray(config.broadcast, seconds)) then

local text = ""

if(not config.shallow) then

text = "Full s"

else

text = "S"

end

 

text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!"

doBroadcastMessage(text)

end

 

if(seconds > 0) then

addEvent(executeSave, config.events * 1000, seconds - config.events)

else

doSaveServer(config.shallow)

end

end

 

function onThink(interval, lastExecution, thinkInterval)

if(table.maxn(config.broadcast) == 0) then

doSaveServer(config.shallow)

else

executeSave(config.delay)

end

 

return true

end

 

 

 

 

Agora em globalevents.xml, adicione essa tag:

 

	<globalevent name="save" interval="1800" event="script" value="save.lua"/>

 

 

Prontinho, meia hora :))

 

Praticamente você itendeu quase tudo agora falta usar como base a outra script no lugar dessa que você mencionou . a script que postei acima

Link para o comentário
Compartilhar em outros sites

  • 0

O motivo é que não queria que aparecese o tempo de salvar , salvase sem tempo tendeu?

 

por exemplo " o servidor vai salvar em 120 segundos, cuidado pode travar "

 

Eu não quero que aparece essa mesangem , queria que salvase sem tempo de 120 segundos e 30 segundos tendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Era só retirar uma linha, ta ai :))

 

 

local config = {

broadcast = {120, 30},

shallow = "no",

delay = 120,

events = 30

}

 

config.shallow = getBooleanFromString(config.shallow)

 

local function executeSave(seconds)

if(isInArray(config.broadcast, seconds)) then

local text = ""

if(not config.shallow) then

text = "Full s"

else

text = "S"

end

 

text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!"

end

 

if(seconds > 0) then

addEvent(executeSave, config.events * 1000, seconds - config.events)

else

doSaveServer(config.shallow)

end

end

 

function onThink(interval, lastExecution, thinkInterval)

if(table.maxn(config.broadcast) == 0) then

doSaveServer(config.shallow)

else

executeSave(config.delay)

end

 

return true

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Era só retirar uma linha, ta ai :))

 

 

local config = {

broadcast = {120, 30},

shallow = "no",

delay = 120,

events = 30

}

 

config.shallow = getBooleanFromString(config.shallow)

 

local function executeSave(seconds)

if(isInArray(config.broadcast, seconds)) then

local text = ""

if(not config.shallow) then

text = "Full s"

else

text = "S"

end

 

text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!"

end

 

if(seconds > 0) then

addEvent(executeSave, config.events * 1000, seconds - config.events)

else

doSaveServer(config.shallow)

end

end

 

function onThink(interval, lastExecution, thinkInterval)

if(table.maxn(config.broadcast) == 0) then

doSaveServer(config.shallow)

else

executeSave(config.delay)

end

 

return true

end

 

 

QUe linha? pode passar a script sem o tempo ?

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, você quer que a cada 30 segundos, faça um save automatico correto?

Mas você não quer que apareça: O sv vai saalvar em x minutos

 

Não é?

Então..

Vai em data/globalevents/scripts, crie um arquivo chamado savenew.lua e adicione dentro:

 

 

 

 

local config = {

shallow = "no",

delay = 120,

events = 30

}

 

config.shallow = getBooleanFromString(config.shallow)

 

local function executeSave(seconds)

if(seconds > 0) then

addEvent(executeSave, config.events * 1000, seconds - config.events)

else

doSaveServer(config.shallow)

end

end

 

function onThink(interval, lastExecution, thinkInterval)

doSaveServer(config.shallow)

else

executeSave(config.delay)

return true

end

 

 

E na pasta data/globalevents, o arquivo globalevents.xml, abra-o com o bloco de notas e cole isso:

<globalevent name="save" interval="1800" event="script" value="savenew.lua"/>

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

  • 0

Vo testar qualquer coisa te falo e edito o post

 

EDIT: Deu certo Obrigado , pelo suporte e pela paciencia no meu jeito de explicar ;D Rep+ Dado

 

Edit Novamente : Olha o erro que apareceu

[/b]
[b][03/03/2013 19:40:25] [Error - GlobalEvent Interface]
[03/03/2013 19:40:25] data/globalevents/scripts/save.lua:onThink
[03/03/2013 19:40:25] Description:
[03/03/2013 19:40:25] data/globalevents/scripts/save.lua:18: bad argument #1 to 'maxn' (table expected, got nil)
[03/03/2013 19:40:25] stack traceback:
[03/03/2013 19:40:25]  [C]: in function 'maxn'
[03/03/2013 19:40:25]  data/globalevents/scripts/save.lua:18: in function <data/globalevents/scripts/save.lua:17>
[03/03/2013 19:40:25] [Error - GlobalEvents::think] Couldn't execute event: save
Editado por vudi
Link para o comentário
Compartilhar em outros sites

  • 0

Mals, cometi um errinho no script ^^

Editei meu post acima, espero que funcione!

 

GOODLUCK

 

Olha o erro

 

 

 

 

[03/03/2013 20:12:34] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/save.lua:19: 'end' expected (to close 'function' at line 17) near 'else'
[03/03/2013 20:12:34] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/save.lua)
[03/03/2013 20:12:34] data/globalevents/scripts/save.lua:19: 'end' expected (to close 'function' at line 17) near 'else'
[03/03/2013 20:12:34] Reloaded global events.

 

 

Editado por vudi
Link para o comentário
Compartilhar em outros sites

  • 0

Com isso oque?

Uma outra opção é substituir por esse que eu adaptei com seu talkaction:

 

 

 

local savingEvent = 0

function onThink(interval, lastExecution, thinkInterval)

doSaveServer()

return true

end

function save(delay)

doSaveServer()

if(delay > 0) then

savingEvent = addEvent(save, delay, delay)

end

end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Com isso oque?

Uma outra opção é substituir por esse que eu adaptei com seu talkaction:

 

 

 

local savingEvent = 0

function onThink(interval, lastExecution, thinkInterval)

doSaveServer()

return true

end

function save(delay)

doSaveServer()

if(delay > 0) then

savingEvent = addEvent(save, delay, delay)

end

end

 

 

 

 

Agora deu Certo Brother Obrigado por tudo

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...