Ir para conteúdo

Action Que Muda O Destino Do Teleport


Lolksky

Posts Recomendados

Tipo do script: action (creio eu)

Protocolo (versão do Tibia): 8.60

Servidor utilizado: bayak yourots

Nível de experiência: médio

 

Queria um script da seguinte maneira.

No mapa haverá 4 alavancas e 1 teleport.

Esse teleport é ativado o destino se der "use" em 1 das alavancas, onde cada alavanca muda o destino do teleport.

Ou seja, eu clico na alavanca A, e o teleport me manda pra posição A;

se clico na alavanca B, o teleport me manda pra posição B;

e assim sucessivamente...

Gostaria também que pudese trocar, tipo, eu clico na alavanca A, mas depois quero trocar pra B, ai é só ir e clicar na B...

 

Se possível, colocar mensagens em cada alavanca (você escolheu a alavanca A, B, C etc)

e effect no player quando forem usadas.

 

É isso, valeu :D

Link para o comentário
Compartilhar em outros sites

Oi cara :p

 

Bom, não posso fazer o script, mas posso de dar uma dica.

 

Faz um pog no script assim.

 

1- Player da use na alavanca (GANHA 1 STORAGE)

 

2- No teleport você faz uma checagem (se storage == storage da alavanca) então ele vai para um lugar.

 

3- Caso ele aparte uma alavanca você faz uma checam se for diferente da storage outra alavanca, não deixa ele apertar.

 

4- Quando ele entrar no teleport retira a storage.

 

Eu acho que dá certo :p, tente fazer desse jeito :p

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

 

 

Em actions/actions.xml:

 

<action actionid="2009" event="script" value="alavancaA.lua"/>
<action actionid="2010" event="script" value="alavancaB.lua"/>
<action actionid="2011" event="script" value="alavancaC.lua"/>
<action actionid="2012" event="script" value="alavancaD.lua"/>

 

Em actions/scripts/

 

alavancaA.lua:

function onUse(cid, item, fromPosition, itemEx, toPosition)

setGlobalStorageValue(102090, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você escolheu a alavanca A.")
doSendMagicEffect(getPlayerPosition(cid), 30)

if (item.itemid == 1945) then
   doTransformItem(item.uid, item.itemid+1)
elseif (item.itemid == 1946) then
   doTransformItem(item.uid, item.itemid-1)
end

return TRUE
end

 

alavancaB.lua:

function onUse(cid, item, fromPosition, itemEx, toPosition)

setGlobalStorageValue(102090, 2)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você escolheu a alavanca B.")
doSendMagicEffect(getPlayerPosition(cid), 30)

if (item.itemid == 1945) then
   doTransformItem(item.uid, item.itemid+1)
elseif (item.itemid == 1946) then
   doTransformItem(item.uid, item.itemid-1)
end

return TRUE
end

 

alavancaC.lua:

function onUse(cid, item, fromPosition, itemEx, toPosition)

setGlobalStorageValue(102090, 3)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você escolheu a alavanca C.")
doSendMagicEffect(getPlayerPosition(cid), 30)

if (item.itemid == 1945) then
   doTransformItem(item.uid, item.itemid+1)
elseif (item.itemid == 1946) then
   doTransformItem(item.uid, item.itemid-1)
end

return TRUE
end

 

alavancaD.lua:

function onUse(cid, item, fromPosition, itemEx, toPosition)

setGlobalStorageValue(102090, 4)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você escolheu a alavanca D.")
doSendMagicEffect(getPlayerPosition(cid), 30)

if (item.itemid == 1945) then
   doTransformItem(item.uid, item.itemid+1)
elseif (item.itemid == 1946) then
   doTransformItem(item.uid, item.itemid-1)
end

return TRUE
end

 

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

 

Agora em movements/movements.xml a tag:

 

<movevent type="StepIn" actionid="22012" event="script" value="teleport.lua"/>

 

Em movements/scripts:

 

teleport.lua

function onStepIn(cid, item, pos)

local tpA = {x=966, y=1029, z=7} -- posição que vai pela alavanca A
local tpB = {x=966, y=1029, z=6}  
local tpC = {x=966, y=1029, z=5}  
local tpD = {x=966, y=1029, z=4}
local efectTel = 28 -- efeito do teleport

if (getGlobalStorageValue(102090) == 1) then
   doTeleportThing(cid, tpA)
   doSendMagicEffect(tpA, efectTel)
   return TRUE
end

if (getGlobalStorageValue(102090) == 2) then
   doTeleportThing(cid, tpB)
   doSendMagicEffect(tpB, efectTel)
   return TRUE
end

if (getGlobalStorageValue(102090) == 3) then
   doTeleportThing(cid, tpC)
   doSendMagicEffect(tpC, efectTel)
   return TRUE
end

if (getGlobalStorageValue(102090) == 4) then
   doTeleportThing(cid, tpD)
   doSendMagicEffect(tpD, efectTel)
   return TRUE
end


return TRUE
end

 

 

 

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

 

Com seu Mapa Editor, coloque os actions id nas alavanca e no teleport!

Não testei, qualquer erro me fala;

Link para o comentário
Compartilhar em outros sites

Vou testar aqui man, por enquanto valeu,..

 

já já venho pra dizer se deu algum erro

 

@EDIT

Funcionou perfeitamente man *--------------*

REP + pra ti

 

valeu mesmo

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

×
×
  • Criar Novo...