MA
talkaction

[Talkaction] Teleport Parecido Com Do P.o

Por MatheusGlad, 22 de set. de 2010 em Actions e Talkactions

script
14
7.8k
MatheusGladM
22 de setembro de 2010 às 22:35

Vá em talkactions/scripts e crie um arquivo.lua com o nome de poketeleport e bote o seguinte script dentro:

function getTime(s)
local n = math.floor(s / 60)
s = s - (60 * n)
return n, s
end

function onSay(cid, words, param)
   local configs = {
   needpa = TRUE,
   needlvl = {TRUE, level = 50},
   }   


   local cidades = {
   ["Carlin"] = {x=1000,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 1},
   ["Thais"] = {x=1002,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 2},
   } 
   teleport = FALSE

   if configs.needpa and not isPremium(cid) then
       return doPlayerSendCancel(cid, "You need to be a premmium account to use teleport.")
   end

   if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then
       return doPlayerSendCancel(cid, "You need to be level "..configs.needlvl.level.." or higher to use teleport.")
   end

   if #getCreatureSummons(cid) <= 0 then
       return doPlayerSendCancel(cid, "You need to have a monster summoned.") 
   end

   for i,x in pairs(cidades) do
       for _,z in pairs(getCreatureSummons(cid)) do          
           if isInArray(x.pokenames, getCreatureName(z)) then
               if param:lower() == "\"" .. i:lower() then
                   if os.time()-getPlayerStorageValue(cid, 64231) <= x.time*60 then
                       minutes,seconds = getTime(x.time*60-(os.time()-getPlayerStorageValue(cid, 64231)))
                       return doPlayerSendCancel(cid, "You need wait " .. minutes .. " minutes and " .. seconds .. " seconds.") 
                   else
                       doTeleportThing(cid, x)
                       doTeleportThing(z, x)
                       setPlayerStorageValue(cid, 64231, os.time())
                       teleport = TRUE
                       break
                   end
               end
           end
       end
   end

   if not teleport then
      return doPlayerSendCancel(cid, "This city don't exists or not is able to go in there with teleport or this monster don't able to use teleport.")
   end

return TRUE
end

 

Depois va em talkactions.xml e bote a seguinte TAG:

<talkaction words="!teleport" event="script" value="poketeleport.lua"/>

 

Como configurar o script:

Mecha nessas partes:

local configs = {

needpa = TRUE,

needlvl = {TRUE, level = 50},

}

 

 

local cidades = {

["Carlin"] = {x=1000,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 1},

["Thais"] = {x=1002,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 2},

}

 

Legendas:

-- Use TRUE ou FALSE --

Vermelho - Se precisa de premmium account para usar a talkaction.

Azul - Se precisa de level, e qual level precisa.

Rosa - As informaçoes sao, respectivamente: A pos pra aonde o teleport vai levar, os nomes dos pokes que podem levar para akele local, o tempo em minutos que demorara para usar novamente o teleport para akele local.

 

Como adicionar novos locais para teleport:

Copie a ultima linha, no caso:

["Thais"] = {x=1002,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 2},

 

Em seguida cole logo abaixo ficando assim:

local cidades = {

["Carlin"] = {x=1000,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 1},

["Thais"] = {x=1002,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 2},

["Thais"] = {x=1002,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 2},

}

 

Depois eh so mudar para as informaçoes que voce queira...

 

Como usar a talkaction in-game:

Basta voce falar !teleport "NOMEDOLOCAL

Ex: !teleport "carlin

 

 

 

Bem nao deu pra explicar muito bem por causa do meu tempo, espero que voces consigam entender.

 

De suas opnioes para as proximas versoes do script...

 

 

 

Dica Importante!

Se voce for botar o local de uma parte que for PROTECTION ZONE o seu pokemon ou summon nao ira andar e ficara preso, para que isso nao aconteça va em config.lua e procure por isso (CTRL+F):

 

teleportPlayerSummons

Se estiver false, mude para true para que o summon seja teleportado ate o player quando ele for para longe.

Editado Setembro 22 por MatheusMkalo

VodkartV
22 de setembro de 2010 às 23:03

T.T

mto foda

parabens cara,ótimo script

que bom que voltou ao xtibia xD

abraços

Saymon14S
23 de setembro de 2010 às 06:42

Talk~ muito boa, ainda bem que no script nao é configurado TownID.

 

 

REP+

 

ABRAÇOS

Editado Setembro 23 por Saymon14

DoidinD
23 de setembro de 2010 às 15:00

O script é bem criativo cara..

Parabéns ficou muito bom! =)

lenon00L
25 de setembro de 2010 às 05:50

muito bom, parabéns,

 

100% perfeito , obrigado :D

LaisDosOtsL
25 de setembro de 2010 às 11:26

Muito bom... Foi pro meu ot sem nennhum problema, que pena que eu desisti de Ot de pokemon, seria uma boa...

Uma pergunta;

Queira colocar essa Talkaction para poupar trabalhos no Map Editor [Teleportes], se eu colocar um X,Y,Z vai dar certo né? Não precisa ser cidade né²? E o nome que estiver aqui

["Carlin"] = {x=1000,y=1000,z=7, pokenames = {"Rat", "Bug"}, time = 1},
["Carlin"]

Vai ser o nome da palavra depois do !teleport?

Não vai dar Bug se por caso;

Sorcerer [101]: Utevo res "fire devil

Paladin Noob: [8]: !teleport Thais

 

Alguma pessoa fazer o comando com um monstro sumonado POR OUTRA PESSOA.

Parabéns pelo Script e continue assim!

MatheusGladM
28 de setembro de 2010 às 14:15

["Carlin"] aonde esta Carlin eh a palavra que voce usa pra teleport !teleport "Carlin

 

Sim nao precisa ser cidade, voce pode botar o X, Y , Z da posiçao que vai funcionar.

 

E a parte de poder fazer o comando por outra pessoa, nao da nao. Somente o dono do summon pode teleportar.

1 mês depois...
allansmidiiA
14 de outubro de 2010 às 14:45

muito bom ! vlw ae ,

 

 

REP +

skyakzS
17 de outubro de 2010 às 17:31

AEE BOUA

junta com seu Pokemon Systems ;x

23 de outubro de 2010 às 08:51

Boa cara ,outro script inovador =D

 

Parabens denovo ^^

1 mês depois...
papamixP
14 de novembro de 2010 às 03:01

Bom script.Funfo aki 100%, vc sempre fazendo boms scripts aki no xtibia.

Parabens

brunin86B
14 de novembro de 2010 às 07:52

Ae cara, obrigado por ajudar agente :D dou REP+ assim que possivel .

2 semanas depois...
485248524
27 de novembro de 2010 às 09:32

Nossa , Super Show :D ^^ Ganhou meus parabéns, :thumbsupsmiley: ainda mais que to kerendo cria 1 ot de pokémon ^^' :tongue2:

1 mês depois...
lucasweichL
13 de dezembro de 2010 às 23:19

[13/12/2010 22:55:37] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/poketeleport.lua:26: '}' expected (to close '{' at line 14) near 'if'

[13/12/2010 22:55:37] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/poketeleport.lua)

[13/12/2010 22:55:37] data/talkactions/scripts/poketeleport.lua:26: '}' expected (to close '{' at line 14) near 'if'

 

 

Ajuda :S