Ir para conteúdo

[Creaturescript] Autosave_Player + Log_Ipplayer


Beeki

Posts Recomendados

Bem esse script é baseado em um antigo post do Gustavo ( http://www.xtibia.co...to-save-player/ ) aqui no XTibia, um sistema que executa um save a cada 30 Minutos no Player assim evitando de rollback caso o servidor cair.

 

Sistema de LOG_IP, é uma boa eu uso pra gravar o IP do player, ajuda muito a identificar players que tentam Nukar o servidor, assim facilitando deletar os personagens dele !

 

savePlayer.lua

 

local save = {}
function saveRepeat(cid)
if not isPlayer(cid) then return true end
doPlayerSave(cid)
doPlayerSendTextMessage(cid,19, 'Your character\'s progress is saved.')
doSendMagicEffect(getThingPos(cid), 11)
save[cid] = addEvent(saveRepeat, math.random(30,43) *60*1000, cid)
end
function onLogin(cid)
save[cid] = addEvent(saveRepeat, math.random(30,43)*60*1000, cid)
return true
end
function onLogout(cid)
stopEvent(save[cid])
return true
end

 

vá no creaturescripts.xml e adicione isso.

 

 <event type="login" name="savePlayer" event="script" value="savePlayer.lua" />
 <event type="logout" name="savePlayer_L" event="script" value="savePlayer.lua" />

 

apos feito isso, vá até o login.lua e adicione isso antes o return true

 

registerCreatureEvent(cid, "savePlayer_L")

 

Sistema log_IP.lua

 

function onLogin(cid)
local tmp = {playerName = getPlayerName(cid), ip = getPlayerIp(cid)}
db.executeQuery("UPDATE `players` SET `ip` = '" .. doConvertIntegerToIp(tmp.ip) .. "' WHERE name = '"..tmp.playerName.."';")
return true
end

 

Após feito o arquivo do Script, execute esse comando no seu Banco de dados.

 

ALTER TABLE players ADD ip varchar(255) NOT NULL

 

Créditos: OTland Sync

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

não precisava da parte do código de onLogout, era só vc colocar pra remover ele da tabela caso ele não encontrasse o player.

 

mas ta legal, té

 

vlw!

Link para o comentário
Compartilhar em outros sites

depende da Maquina que você utiliza, meu dedicado é 2.5 GB de ram e nunca tive problemas ao usar esse script, só não recomendo em VPS, até!

Link para o comentário
Compartilhar em outros sites

Xiii, eu ja ia usar no vps.

 

Mais só uma dúvida, como fasso para executar o comando no SQL não n MYSQL

 

Não sei amigo, nunca usei SQL, malz, até

Link para o comentário
Compartilhar em outros sites

creio que é muito bom, pena q concerteza geraria lags, em ot cheios, pois seria muitos players pra salvar ao msmo tempo e seria mais cabivel usar comand de save, salva qm quer a hora que quizer!

 

mais msmo assim pode ser muito ultilizavel, da hora!

Link para o comentário
Compartilhar em outros sites

creio que é muito bom, pena q concerteza geraria lags, em ot cheios, pois seria muitos players pra salvar ao msmo tempo e seria mais cabivel usar comand de save, salva qm quer a hora que quizer!

 

mais msmo assim pode ser muito ultilizavel, da hora!

 

esse script não da save em todos os players de vez do OT, e sim em um por vez, tipo: eu Loguei as 3 Horas meu char so ira ser salvo as 3:30 já você que logou as 3:01 só ira ser salvo as 3:31 entende ?

Link para o comentário
Compartilhar em outros sites

msmo assim faraá muitos saves aleatorias isso da mais lagg do msmo jeito!

 

Amigo, o script ta ai, se não quer usar não use, até fui.

Link para o comentário
Compartilhar em outros sites

msmo assim faraá muitos saves aleatorias isso da mais lagg do msmo jeito!

 

Amigo, o script ta ai, se não quer usar não use, até fui.

 

nao entendi o pq da forma agressiva, eu fiz um comentario, nao usei palavras ruin contra niguem e nao pixei nada, aprende ver criticas construtivas! e nao me faça perder tempo vendo quotes idiotas!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...