Ir para conteúdo

Pergunta

Olá pessoal, estou com problema em meu ot, ele não dá KICK após 15min afk ... não sei mais oque fazer ... se puderem me ajudar!

"LUAN É SÓ ALTERAR O TEMPO DO KICK NO 'CONFIG.LUA' E PRONTO"

idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000

Então, isso foi a primeira coisa que tentei, e não dá certo! Obrigado!
Link para o comentário
https://xtibia.com/forum/topic/220220-ajuda-ot-n%C3%A3o-d%C3%A1-kick-time-15min/
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

 

Olá pessoal, estou com problema em meu ot, ele não dá KICK após 15min afk ... não sei mais oque fazer ... se puderem me ajudar!

"LUAN É SÓ ALTERAR O TEMPO DO KICK NO 'CONFIG.LUA' E PRONTO"

 

idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000

 

Então, isso foi a primeira coisa que tentei, e não dá certo! Obrigado!

 

Ve se em creaturescripts esta certo isso...

 

 

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

 

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
Link para o comentário
https://xtibia.com/forum/topic/220220-ajuda-ot-n%C3%A3o-d%C3%A1-kick-time-15min/#findComment-1555658
Compartilhar em outros sites

  • 0

Olá amigo ...

Em 'config.lua' já estava certo!
Em 'creaturescripts' também está, tanto no diretório principal, como nos scripts 'login.lua' e 'idle.lua'.

Também ja tentei a técnica de mudar no 'idle.lua' o local config, para ele ler o 'time' direto no script, sem ter que verificar a 'config.lua', e nada!

Não sei mais oque fazer ...

Alguém mais pode me ajudar?

Link para o comentário
https://xtibia.com/forum/topic/220220-ajuda-ot-n%C3%A3o-d%C3%A1-kick-time-15min/#findComment-1555917
Compartilhar em outros sites

  • 0

oO, bom vou ver aqui...
Nao sei se pode ser isso, mas no mapa (RME) tem adicionado o no-logout no tile ou como se fosse arena??(se for nos trainers)
ql versao vc esta usando e qual a source 0.3 ~~ 0.4...?

Editado por alissonfgp
Link para o comentário
https://xtibia.com/forum/topic/220220-ajuda-ot-n%C3%A3o-d%C3%A1-kick-time-15min/#findComment-1555970
Compartilhar em outros sites

  • 0

Creio que não seja tile, porque isso acontece em qualquer lugar do mapa.

Eu uso TFS 0.4, tibia 8.6

Aguardo resposta! Obrigado.

Editado por luanluciano93
Link para o comentário
https://xtibia.com/forum/topic/220220-ajuda-ot-n%C3%A3o-d%C3%A1-kick-time-15min/#findComment-1555992
Compartilhar em outros sites

  • 0

Cara, fiz um script anti-idle, talvez funcione para o que você quer.

 

Tag no creaturescripts.xml:

<event type="login" name="AntiIdle" event="script" value="antiidle.lua"/>

Arquivo antiidle.lua em creaturescripts/scripts (não precisa registrar no login.lua)

function doCheckIdle(cid,oldPos,oldDir)

local storage = 908870
local time = 20 -- tempo em minutos para que o cara seja kickado se ficar na mesma posição

    if not isPlayer(cid) then return false end
    
    local idleTime = getPlayerStorageValue(cid,storage)
    local newPos = getCreaturePosition(cid)
    local newDir = getPlayerLookDir(cid)
    if oldPos == newPos and oldDir == newDir then
        setPlayerStorageValue(cid,storage,idleTime+1)
    else
        setPlayerStorageValue(cid,storage,-1)
    end
    if idleTime >= time then
        doRemoveCreature(cid)
    elseif idleTime >= (time-1) then
        doPlayerSendTextMessage(cid,21,'Voce foi detectado pelo anti-idle. Mude sua posicao nos proximos 10 segundos ou sera kickado.')
        addEvent(doCheckIdle,10000,cid,newPos,newDir)
    else
        addEvent(doCheckIdle,60000,cid,newPos,newDir)
    end
return true
end


function onLogin(cid)
    addEvent(doCheckIdle,60000,cid,getCreaturePosition(cid),getPlayerLookDir(cid))
    return true
end
Link para o comentário
https://xtibia.com/forum/topic/220220-ajuda-ot-n%C3%A3o-d%C3%A1-kick-time-15min/#findComment-1556390
Compartilhar em outros sites

×
×
  • Criar Novo...