Pedido: Tp Para Mais De 1 Lugar

piikiller
em Scripts

piikiller

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/07/11Posts: 7Char no Tibia: Avhren

Ae galero eu to precisando de algo mais ou menos assim:

 

Todas as cidades do meu mapa tem um tp para o mesmo shop, mas para players nao teleportarem de cidade para cidade de graça nao criearei mais de 1 teleport para voltar. Por isso preciso de um script que volte para a cidade que o player entrou no tp anteriormente. Tudo isso precisa ser feito em um unico magic forcefield. Ex.: entrei no shop pela cidade 3 saio do shop na cidade 3. Nao sei se me expressei bem mas é isso ae :s. Agradeço desde já. Rep + pra quem conseguir me ajudar ^^

Procuro items.otb e Items.xml 8.6 100% com todos os itens funcionando!!

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Primeiro coloque um action id no teleport.

 

Movements.xml:

 

<movevent type="StepIn" actionid="xxxx" event="script" value="tp.lua"/>
<movevent type="StepIn" actionid="yyyy" event="script" value="tp.lua"/>

 

No xxxx você coloca o action id do teleport.

 

tp.lua:

 

-- Script by Luck Oake

function onStepIn(cid, item, position)

shop = {x=166, y=77, z=5} -- Coordenadas da loja

p = getCreaturePosition(cid)

local b = {

[0] = {x=p.x, y=p.y+1, z=p.z},

[1] = {x=p.x-1, y=p.y, z=p.z},

[2] = {x=p.x, y=p.y-1, z=p.z},

[3] = {x=p.x+1, y=p.y, z=p.z}

}

pos = b[getCreatureLookDirection(cid)]

if item.actionid == xxxx then

setPlayerStorageValue(cid, 4455, pos.x)

setPlayerStorageValue(cid, 4456, pos.y)

setPlayerStorageValue(cid, 4457, pos.z)

doTeleportThing(cid,shop)

end

s1 = getPlayerStorageValue(cid, 4455)

s2 = getPlayerStorageValue(cid, 4456)

s3 = getPlayerStorageValue(cid, 4457)

bpos = {x=s1, y=s2, z=s3}

if item.actionid == yyyy then

doTeleportThing(cid,bpos)

end

return true

end

 

 

PS: Nem precisa ser teleport. Se quiser, pode colocar um tile ou um item qualquer no mapa com o action id do script que funciona do mesmo jeito.

Newtonnotwen

Só quero saber o porque, o resto são detalhes.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/08/12Posts: 762

Esse script ira retornar para a cidade do player não?

 

Tipo:

 

Player mora em cidade 1 e esta na cidade 2, ele entra no teleporte (que se localiza na cidade 2), ele não vai retornar a cidade 2 mas sim a cidade 1, que é onde ele mora.

 

------------------------------------

 

@LuckOake pode transformar aquela minha talkaction em spell?

 

A do dragão e a do orc que tem efeito.

b5feb15da83eca8bd379039567f3992860f398f765aea98c57dcd2a1ffb0d35ca20603caaf7d9f03da39a3ee5e6b4b0d3255bfef95601890afd807098c4de7dfec2a3351efcdaa9ed8451e6c.gif

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

@Newtonnotwen

 

Realmente, não pensei nisso. Vou ver se dou um jeito.

 

E quanto à sua talk, eu não sei se consigo fazer isso. Se você me falar para quê você quer que a talk vire spell, eu poderia ajudar melhor.

Newtonnotwen

Só quero saber o porque, o resto são detalhes.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/08/12Posts: 762

Só pelo exausted que quero que vire spell.

b5feb15da83eca8bd379039567f3992860f398f765aea98c57dcd2a1ffb0d35ca20603caaf7d9f03da39a3ee5e6b4b0d3255bfef95601890afd807098c4de7dfec2a3351efcdaa9ed8451e6c.gif

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Consegui ajustar o spell.

 

tp.lua:

 

-- Script by Luck Oake

function onStepIn(cid, item, position)

shop = {x=166, y=77, z=5} -- Coordenadas da loja

p = getCreaturePosition(cid)

local b = {

[0] = {x=p.x, y=p.y+1, z=p.z},

[1] = {x=p.x-1, y=p.y, z=p.z},

[2] = {x=p.x, y=p.y-1, z=p.z},

[3] = {x=p.x+1, y=p.y, z=p.z}

}

pos = b[getCreatureLookDirection(cid)]

if item.actionid == xxxx then

setPlayerStorageValue(cid, 4455, pos.x)

setPlayerStorageValue(cid, 4456, pos.y)

setPlayerStorageValue(cid, 4457, pos.z)

doTeleportThing(cid,shop)

end

s1 = getPlayerStorageValue(cid, 4455)

s2 = getPlayerStorageValue(cid, 4456)

s3 = getPlayerStorageValue(cid, 4457)

bpos = {x=s1, y=s2, z=s3}

if item.actionid == yyyy then

doTeleportThing(cid,bpos)

end

return true

end

 

Newtonnotwen

Só quero saber o porque, o resto são detalhes.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/08/12Posts: 762

Aqui funcionou.

 

Aprovado!

b5feb15da83eca8bd379039567f3992860f398f765aea98c57dcd2a1ffb0d35ca20603caaf7d9f03da39a3ee5e6b4b0d3255bfef95601890afd807098c4de7dfec2a3351efcdaa9ed8451e6c.gif

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

by LuckOake? então porque você copiu parcialmente a parte do script do Zmovir(minha antiga conta) ?

jeoz.png

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Copiar o que e de onde? A única parte que não fui eu que fiz nesse script foi essa, que eu dei CTRL + C e V de um outro script, pra não ter que escrever tudo na mão, e que eu nem sem quem fez e tenho certeza de que não foi você.

 

local b = {
[0] = {x=p.x, y=p.y+1, z=p.z},
[1] = {x=p.x-1, y=p.y, z=p.z},
[2] = {x=p.x, y=p.y-1, z=p.z},
[3] = {x=p.x+1, y=p.y, z=p.z}]
}

 

Se você já fez algum script parecido com esse, só lamento, mas esse ai eu que fiz.

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

Foi o ZMovir era minha antiga conta

jeoz.png

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Na verdade, fui pesquisar esse trecho e o script era do Vodkart. E na sua conta antiga não vi nenhum script com isso. Não fique tentando roubar créditos, cara. Não é só porque umas poucas linhas de um script que você pode ter feito há um tempo foram usadas em outro script que significa que você também tem que levar crédito. Se fosse assim, teria que por crédito do criador da função doPlayerAddItem em todo script que ela fosse usada.

Newtonnotwen

Só quero saber o porque, o resto são detalhes.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/08/12Posts: 762

@Skymagnum

 

Já é a segunda vez que vejo você falando "esse script foi eu que fiz".

 

Fez isso comigo em outro tópico sendo que o script estava em meu ot.

 

Obs: é a segunda vez que VEJO, não sei se é a segunda...

b5feb15da83eca8bd379039567f3992860f398f765aea98c57dcd2a1ffb0d35ca20603caaf7d9f03da39a3ee5e6b4b0d3255bfef95601890afd807098c4de7dfec2a3351efcdaa9ed8451e6c.gif

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

LINK

http://www.xtibia.com/forum/topic/185281-talkaction-create-teleport/

jeoz.png

Newtonnotwen

Só quero saber o porque, o resto são detalhes.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/08/12Posts: 762

Os scripts não estão iguais.

 

Assim sendo, Script by LockOake.

b5feb15da83eca8bd379039567f3992860f398f765aea98c57dcd2a1ffb0d35ca20603caaf7d9f03da39a3ee5e6b4b0d3255bfef95601890afd807098c4de7dfec2a3351efcdaa9ed8451e6c.gif

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Além de não estar igual, eu não peguei esse trecho script de você, e sim de um outro do Vodkart. Mas só porque UM TRECHO está igual, não significa que o script foi feito por você ou que você mereça créditos. Como eu já disse, se fosse assim, teria que por crédito do criador da função doPlayerAddItem em todo script que ela fosse usada.

 

@Topic

 

Bom, o assunto tá fugindo, então cadê o dono do tópico?