CS

[Tutorial] Como Resolver Problema Do Idle

Por cs007, 05 de abr. de 2012 em Tutoriais de Scripting

script
26
5.7k
cs007C
05 de abril de 2012 às 12:17

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 Abril 5 por cs007

AnneMottaA
05 de abril de 2012 às 12:40

Belo tutorial para quem tem problemas com isso, não irei dar rep pois ja esgotou meu limite, até!

cs007C
05 de abril de 2012 às 12:42

Valeu @AnneMotta =) espero ajudar o pessoal ;)

BeekiB
05 de abril de 2012 às 13:09

Pra mim o seu tutorial está aprovado button_ok.png, até

alldakieA
05 de abril de 2012 às 13:11

APROVADO, vai ajudar muitas pessoas, muito gentil da sua parte postar a solução...

felipejfF
05 de abril de 2012 às 14:36

Massa, irei testar aqui,

Rep +

cs007C
05 de abril de 2012 às 18:14

Valeu pessoal, sempre é bom ajudar =)

2 semanas depois...
Piabeta KunP
13 de abril de 2012 às 08:10

Testando e se ja foi aprovado por um estagiario e um sub moderador o que falta para mover para a sessao correta?

 

já edito! e msmo asism obrigado pelo conteudo!

Gabriel CoutoG
14 de abril de 2012 às 21:21

Aprovado, Parabéns, Continue Assim!

Mostrou um bom conteúdo, que, com certeza, deverá ajudar muita gente.

 

Movido para a Seção Correta!

cs007C
15 de abril de 2012 às 21:41

Obrigado =)

2 meses depois...
10 de junho de 2012 às 18:25

cs007 ajudo muito eu shuahsuahsuhaus REP +, Funcionando 100%

1 mês depois...
cs007C
27 de julho de 2012 às 21:06

Fmz ;)

DinoAdminD
30 de julho de 2012 às 13:30

APROVADO!!!

 

REP+

cs007C
30 de julho de 2012 às 13:47

Qualquer duvida é só postar que eu respondo.

DinoAdminD
30 de julho de 2012 às 17:52

Obrigado pela atençao, voce se dedica Bastante Parabens