TH

[Tutorial] Resolvendo Exit-Trainer

Por ThiagoBji, 13 de mar. de 2013 em Globalevents e Spells

tutorial resolvendo exit
trainer
tutorialresolvendo
otserv
tibia
script
7
6k
ThiagoBjiT
13 de março de 2013 às 17:37

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!

RoksasR
13 de março de 2013 às 17:42

Parabéns pelo Tutorial, de fácil entendimento. Aqui no fórum não existe esse código, apenas em Pedidos.

 

Tutorial aprovado.

ThiagoBjiT
13 de março de 2013 às 18:08

Hum.. obrigado pela atenção e pelo elogio. Vamos dizer assim que eu já estou acostumado a mexer em fórum, sei como deixar um tópico organizado, limpo e agradável.

4 meses depois...
leandroo02L
01 de julho de 2013 às 11:43

Valew cara tava precisando saber disso vlw msm !

1 mês depois...
CandradeC
07 de agosto de 2013 às 13:20

Como faço para diminuir o tempo do exit ?

1 mês depois...
GODMedievalG
22 de setembro de 2013 às 23:50

Para servidores mais antigos é uma boa, mais para os atuais não serve muito :/
Boa informação para os donos dos servers que não possuem o Offline Training !

7 meses depois...
06 de abril de 2014 às 02:28

Gostei, vai ajudar muito os novatos! vou recomendar a amigos...