KI
dúvida

Não Loga em Pz

Por Kimbly, 19 de mai. de 2013 em Scripts

logout
pz
sistem
resolvido
script
6
1.5k
KimblyK
19 de maio de 2013 às 17:27

Esse script que eu tenho aqui ele teria a função de logar o player em pz para não ter que espera o batlle sair mais ele só logaria se estivesse em area pz

function onSay(cid, words, param, channel)
if getTilePzInfo(getPlayerPosition(cid)) then
doPlayerSendCancel(cid,"Voce não esta em protection zone.")
return TRUE
end
doCreatureSay(cid, "Voce sera kickado daki 10 segundos" ,35)
addEvent(doRemoveCreature, 10*1000, cid, true)
return TRUE
end

 

<talkaction words="!off" script="off.lua"/>

 

No caso quando ele esta em pz ele mostra a mensagem "Voce não esta em protection zone" e quando voce sai da area pz e usa o comando !off da erro no cliente no mesmo momento, quem souber arruma o script eu agradeço e +Rep...

OverxinO
19 de maio de 2013 às 17:35

Tenta esse aqui (:

 

 

 

function onSay(cid, words, param, channel)

if not getTilePzInfo(getPlayerPosition(cid)) then

doPlayerSendCancel(cid,"Voce não esta em protection zone.")

return true

end

doCreatureSay(cid, "Voce sera kickado daki 10 segundos" ,35)

addEvent(doRemoveCreature, 10*1000, cid, true)

return true

end

 

 

SkymagnumS
19 de maio de 2013 às 17:43
Melhor resposta

function onSay(cid, words, param, channel)

local time = 5

   if (getTileInfo(getThingPosition(cid)).protection) then
       addEvent(function()
                   if isCreature(cid) then
                       doRemoveCreature(cid)
                   end
               end, time * 1000)
       doPlayerSendTextMessage(cid, 27, "Você será kickado em " .. time .. " segundos.")
   else
       doPlayerSendTextMessage(cid, 27, "Você precisa estar em protection zone.")
   end

   return true
end

 

Esse evitara warnings no distro, caso o addEvent não encontre o jogador.

KimblyK
19 de maio de 2013 às 18:04

@ Overxin ~

 

Ainda está fechando o cliente desse modo.

 

@ Skymagnum ~

 

Funcionou, porém o script seria para um logout imediato então retirei a linha do aviso:

doPlayerSendTextMessage(cid, 27, "Você será kickado em " .. time .. " segundos.")

 

E troquei o time de 10 segundos:

end, time * 1000

 

Por 1 segundo:

end, time * 100

 

Podem fechar aqui!

Editado Maio 19 por Kimbly

OverxinO
19 de maio de 2013 às 18:30

Reportado, duvida sanada !

RoksasR
19 de maio de 2013 às 18:56

Tópico movido para a seção de dúvidas e pedidos resolvidos.