[Tutorial] Resolvendo Exit-Trainer

ThiagoBji
em Globalevents e Spells

ThiagoBji

Blindão
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/12Posts: 789

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!

thiagobji.jpg

Contato FACE: FaceBook.com/Thiagobji | Skype: Thiagobji2

Atenciosamente, Thiagobji.

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

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

 

Tutorial aprovado.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

ThiagoBji

Blindão
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/12Posts: 789

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.

thiagobji.jpg

Contato FACE: FaceBook.com/Thiagobji | Skype: Thiagobji2

Atenciosamente, Thiagobji.

leandroo02

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/12Posts: 30Char no Tibia: leeo rush

Valew cara tava precisando saber disso vlw msm !

Candrade

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/08/13Posts: 1

Como faço para diminuir o tempo do exit ?

GODMedieval

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/09/13Posts: 11

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 !

JumentoCuzaum

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 24/01/11Posts: 245

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