Ir para conteúdo
  • 0

Pedido: Tp Para Mais De 1 Lugar


piikiller

Pergunta

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 ^^

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

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.

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

  • 0

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.

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

  • 0

@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.

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

  • 0

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

 

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

  • 0

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.

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

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

@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...

Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...