Ir para conteúdo

Posts Recomendados

Olá Xtibianos. Hoje irei postar um tópico aqui no Xtibia que ensina a resolver o problema que ocorre em muitos servidores (quase todos, principalmente nos baiaks).

 

O problema é aquele do exit trainer, que o player loga, vá no trainer e dá exit. Sendo assim, o char fica online e não desloga, e por esse motivo você toma ban no OT Serv List pelo motivo de "Spoofing".

 

Pra quem não quiser tomar ban no OT Serv List por esse motivo, então siga o tutorial abaixando explicando como resolver esse problema.

 

Vá em Pasta do seu OT -> data -> creaturescripts -> creaturescripts.xml:

 

<!-- Idle -->
<event type="think" name="Idle" event="script" value="idle.lua"/>

 

 

Agora vá em Pasta do seu OT -> data -> creaturescripts -> scripts -> idle.lua:

 

local config = {
idleWarning = getConfigValue('idleWarningTime'),
idleKick = getConfigValue('idleKickTime')
}
function onThink(cid, interval)
if(getTileInfo(getCreaturePosition(cid)).nologout or getCreatureNoMove(cid) or
getPlayerCustomFlagValue(cid, PlayerCustomFlag_AllowIdle)) then
return true
end
local idleTime = getPlayerIdleTime(cid) + interval
doPlayerSetIdleTime(cid, idleTime)
if(config.idleKick > 0 and idleTime > config.idleKick) then
doRemoveCreature(cid)
elseif(config.idleWarning > 0 and idleTime == config.idleWarning) then
local message = "You have been idle for " .. math.ceil(config.idleWarning / 60000) .. " minutes"
if(config.idleKick > 0) then
message = message .. ", you will be disconnected in "
local diff = math.ceil((config.idleWarning - config.idleKick) / 60000)
if(diff > 1) then
message = message .. diff .. " minutes"
else
message = message .. "one minute"
end
message = message .. " if you are still idle"
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, message .. ".")
end
return true
end

 

Para finalizar, agora vá em Pasta do seu OT -> data -> creaturescripts -> scripts -> login.lua:

 

registerCreatureEvent(cid, "Idle")

 

Para você alterar o tempo do exit, basta você abrir o config.lua e configura-la nessa parte:

 

idleWarningTime = 9 * 60 * 1000
idleKickTime = 10 * 60 * 1000

 

Pronto! Problema solucionado! Os créditos do script eu não sei, pois eu peguei ele do meu servidor, só que o script faltava uma parte para funcionar, então eu adicionei essa parte.

 

Então é isso! até mais!

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
  • 1 month later...
  • 1 month later...
  • 6 months later...
×
×
  • Criar Novo...