Ir para conteúdo

[Tutorial] Como Resolver Problema Do Idle


cs007

Posts Recomendados

Bom eu estive com esse problema durante muito tempo e finalmente consegui resolver esse problema. vamos lá...

 

Verifique se você tem o Idle: Vá até a pasta do seu Server \data\creaturescripts\scripts veja se tem o aquivo Idle.lua

se você já tem substitua por esse que está abaixo se não tiver nenhum faça uma cópia de qualquer arquivo da pasta, renomeá para idle.lua e cole o que está abaixo.

 

local config = {
idleWarning = 240000,  -- Tempo que ele vai mandar o aviso. (Mesma coisa que 5 minutos)
idleKick = 300000		  -- Tempo que ele vai kickar o player. (Mesma coisa que 6 minutos)
}
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

 

O problema no idle está logo no inicio onde coloquei o tempo, de alguma forma a distro não está lendo essa função do config.lua então o que eu fiz foi fazer ele ler diretamente do script.

 

Depois vá até a pasta do seu server \data\creaturescripts em creaturescripts.xml é coloque isso.

 

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

 

E por ultimo de uma olhada no login.lua que fica na pasta script vê se tem essa linha lá

 

registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
 registerCreatureEvent(cid, "SkullCheck")
end
registerCreatureEvent(cid, "ReportBug")
return true
end

 

Pronto agora é só você configurar o tempo desejado. Flws

 

Ajudei? REP +

Editado por cs007
Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 1 month later...
×
×
  • Criar Novo...