Ir para conteúdo

Featured Replies

Postado

Bom dia pessoal!

 

Procurei nos 4 cantos desse fórum e não achei script algum que funcionasse para auto save no TFS 1.x.

Estou usando Thornia 10.95 e o servidor não executa automaticamente save a cada 30 minutos  e por ai vai.

 

1 - O script de server save as 5:00 da manha funciona normalmente.(OK, não quero mexer nisso)

2 - O auto save não funciona, se quiserem posso postar o script aqui, mas acho que será inútil pois ele nem é chamado e nem da erro no servidor.

 

E sim, eu coloquei ele no globalevents.xml. Então era pra estar tudo certo, se o script prestasse.

 

Preciso de ajuda, obrigado desde já!

 

 

RESOLVIDO - SEGUE O CÓDIGO (gambiarra mas funciona) -  em data/globalevents/scripts/save.lua

local shutdownAtServerSave = false  
local cleanMapAtServerSave = false
   
local function serverSave()
	if shutdownAtServerSave then
		Game.setGameState(GAME_STATE_SHUTDOWN)
	else
		Game.setGameState(GAME_STATE_NORMAL)
	end

	if cleanMapAtServerSave then
		cleanMap()
	end

	saveServer()
end

local function secondServerSaveWarning()
	addEvent(serverSave, 60000)
end

local function firstServerSaveWarning()
	addEvent(secondServerSaveWarning, 120000)
end

function onThink(interval, lastExecution)
	addEvent(firstServerSaveWarning, 120000)
	return not shutdownAtServerSave
end

 

em data/globalevents/globalevents.xml

 

<globalevent name="Save" interval="1500000" script="save.lua" />

 

Sei que tem um timer de 5 minutos após ele ser iniciado no save.lua, mas como não entendo nada de script, foi o único jeito dele salvar sem dar mensagem de save e de meia em meia hora.

Está é a config que estou utilizando!

 

Pra quem quiser, está disponível.

Editado por guiozores (veja o histórico de edições)

  • Respostas 6
  • Visualizações 2.3k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

faz assim:


em globalevents/scripts adicone um serversave.lua

local shutdownAtServerSave = false  -- deixe true se você quer desligar o servidor
local cleanMapAtServerSave = false   -- deixe true se quiser limpar o mapa

local function serverSave()
	if shutdownAtServerSave then
		Game.setGameState(GAME_STATE_SHUTDOWN)
	else
		Game.setGameState(GAME_STATE_NORMAL)
	end

	if cleanMapAtServerSave then
		cleanMap()
	end

	saveServer()
end

local function secondServerSaveWarning()
	Game.broadcastMessage('Server is saving game in one minute. Please go to a safe place.', MESSAGE_STATUS_WARNING)
	addEvent(serverSave, 60000)
end

local function firstServerSaveWarning()
	Game.broadcastMessage('Server is saving game in 3 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING)
	addEvent(secondServerSaveWarning, 120000)
end

function onTime(interval)
	Game.broadcastMessage('Server is saving game in 5 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING)
	Game.setGameState(GAME_STATE_STARTUP)
	addEvent(firstServerSaveWarning, 120000)
	return not shutdownAtServerSave
end

em globalevents.xml

<globalevent name="ServerSave" interval="1800000" script="serversave.lua" /> 

caso você ative a opção de desligar o servidor no lugar de interval="1800000" coloca time="04:55:00"

 

O script não é de minha autoria, achei na base do meu servidor.

Postado
  • Autor
54 minutos atrás, igorlabanca disse:

faz assim:


em globalevents/scripts adicone um serversave.lua


local shutdownAtServerSave = false  -- deixe true se você quer desligar o servidor
local cleanMapAtServerSave = false   -- deixe true se quiser limpar o mapa

local function serverSave()
	if shutdownAtServerSave then
		Game.setGameState(GAME_STATE_SHUTDOWN)
	else
		Game.setGameState(GAME_STATE_NORMAL)
	end

	if cleanMapAtServerSave then
		cleanMap()
	end

	saveServer()
end

local function secondServerSaveWarning()
	Game.broadcastMessage('Server is saving game in one minute. Please go to a safe place.', MESSAGE_STATUS_WARNING)
	addEvent(serverSave, 60000)
end

local function firstServerSaveWarning()
	Game.broadcastMessage('Server is saving game in 3 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING)
	addEvent(secondServerSaveWarning, 120000)
end

function onTime(interval)
	Game.broadcastMessage('Server is saving game in 5 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING)
	Game.setGameState(GAME_STATE_STARTUP)
	addEvent(firstServerSaveWarning, 120000)
	return not shutdownAtServerSave
end

em globalevents.xml


<globalevent name="ServerSave" interval="1800000" script="serversave.lua" /> 

caso você ative a opção de desligar o servidor no lugar de interval="1800000" coloca time="04:55:00"

 

O script não é de minha autoria, achei na base do meu servidor.

 

 

 

Ahhhhhhhh agora entendi esse script, eu na realidade já tenho um de SS as 4:55 da manha que desliga o OT.

Ok.

 

O ideal seria eu criar outro script e colocar falso para que não desligue o servidor, certo? e False também para não dar clean, correto?

Vou testar aqui, obrigado pela ajuda.

 

Mas estre script manda msg em broadcast avisando ou não?

 

Vou testar aqui e já te aviso!

Editado por guiozores (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo