Ir para conteúdo
  • 0

AJUDA - OT NÃO DÁ KICK TIME (15MIN)


luanluciano93

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
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
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
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
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
Compartilhar em outros sites

×
×
  • Criar Novo...