Ir para conteúdo

Teleport Por Talkaction


colex

Posts Recomendados

Olá

 

Este script é possivelmente inutil, porque existe um comando com uma função semelhante implementado nas sources, mas de qualquer jeito, este script poderá ajudar algumas pessoas nem que seja para "estudo".

 

Esta talkaction é acionada quando o player diz tp "coordenadas

por exemplo:

tp "150 500 7

 

na pasta data/talkactions/scripts crie um arquivo cujo nome é tp.lua e insira dentro do mesmo o seguinte:

--------Teleport Command by Colex-------------
function onSay(cid, words, param)



access = 3 ---só altere isso conforme deseja



acc = getPlayerAccess(cid)

pos = {}
h = {}
a = 1

if acc >= access then
 if string.len(param) >= 5 then 
   s = 1
   h[s] = 0
   i = 0
   repeat
     pos[s] = ""
     i = i + 1
     ver = string.byte(param, i)
     length = string.len(param) + 1
     if ver ~= 32 and length >= i then
         h[s] = i	
     else
pos[s] = string.sub(param, 1, h[s]+1)
param = string.gsub(param, pos[s], "")
pos[s+3] = getNumber(pos[s])
if pos[s+3] == 0 then
  s = 4
  doPlayerSendCancel(cid,'Wrong position!')
  a = 0
end
       s = s + 1
       h[s] = 0
i = 0
     end
   until s >= 4
   if a == 1 then
     doTeleportThing(cid,{x=pos[4], y=pos[5], z=pos[6]})
   end
 else
   doPlayerSendCancel(cid,'Wrong position!')
 end
else
 doPlayerSendCancel(cid,'You cannot use this command!')
end

return 1
end


function getNumber(txt)
x = string.gsub(txt,"%a","")
x = tonumber(x)
if x ~= nill and x > 0 then
return x
else
return 0
end
end

 

no arquivo talkactions.xml localizado no diretório data/talkactions adicione a seguinte linha:

<talkaction words="tp" script="tp.lua" />

 

 

Espero que ajude alguem e aproveitem bem

 

NÃO POSTAR EM QUALQUER OUTRO SITE SEM PEDIDO AO AUTOR PROCEDIDO POR UMA AUTORIZAÇÃO DO PRÓPRIO

 

Atenciosamente,

Colex

Link para o comentário
Compartilhar em outros sites

HiHo!

 

wow... mt bom hein =)

Só uma coisinha... na função function getNumber(txt)

if x ~= nill and x > 0 then
aqui teria que ser nil, não? eu não me lembro direito mais eh qse ctz q sim, dê uma olhadinha

btw a talkaction está muito boua =) parabéens =)

 

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

Obrigado pelos comentários

 

se uma pessoa estudar LUA provavelmente ira aprender "nil", mas eu fiz um teste e verifiquei que nill é igual a nil

 

caso alguem queira fazer o teste, eu usei estas linhas de codigo:

t = nill
if t == nil then
doPlayerSay(cid,'funciona!',2)
end

 

 

Abraços,

Colex

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

HiHo!

 

@leoziks

lembre-se de que apenas players de acesso

--------Teleport Command by Colex-------------

function onSay(cid, words, param)

 

access = 3 ---só altere isso conforme deseja

=) veja se o player que você usou tinha esse access =p

 

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

as funções que voce citou são do LUA, para saber mais sobre elas é só voce pesquisar no google que voce encontra definições.

 

o tonumber() fui eu que fiz e ela esta no script

Link para o comentário
Compartilhar em outros sites

Ah... Blzzz =PP Nem vi o tonumber no script xD

 

--Edit--

 

Procurei no google e nem achei nada :/// Num tem como você me passar um link não?

 

--Edit2--

 

Acheiii!!! Valeu mesmo!!!

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

@Colex

nao sabia q se era BR xD

@script

muito bom eu o uso...

 

Observaçoes:

para q ele funcione no The Forgotten Server troque

     doTeleportThing(cid,{x=pos[4], y=pos[5], z=pos[6]})

por

     doTeleportThing(cid, {x=pos[4], y=pos[5], z=pos[6]}, 0)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...