Ir para conteúdo
  • 0

Teleporte com tempo


kakuzo12300

Pergunta

Fala ai galera, esse é meu primeiro pedido no xtibia

 

-- Antes eu tirava apenas duvidas aqui, e PERCEBI o quanto é bom esse site --

 

~.~ Vamos lá? ~.~

 

¹ Queria um SCRIPT de um 'teleport', com tempo!

Explicaçao: Eu pucho uma alavanca, e abre um portal na frente do templo, durante 90

Segundos...

Quando acabar os 90 segundos, o teleporte some!

 

² Se alguem puder fazer um script desse jeito para mim eu ficaria muito grato

 

³ E se possivel queria também que aparecesse os numeros em contagem regressiva em cima

Do Teleporte; 90.. 89... 88.. 87.. 86.. 85..

 

 

2 REP+ Para quem me ajuda!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

tenta assim...

 

local toPos = {x = 111, y = 111, z = 7}  --pos para onde o player sera teleportado
local createPos = {x = 222, y = 222, z = 7} --pos aonde o tp sera criado
local tpID = 1387    --id do tp, nunca usei um, n sei se eh esse ms...
local tempo = 90 --90seg

local function removeTP(pos, id, time)
if time == 0 then
  local item = getTileItemById(pos, id).uid
  if item > 1 then
  doRemoveItem(item, 1)
  doSendAnimatedText(pos, "Closed!", 192)
  end
else
  doSendAnimatedText(pos, time, 227)
  addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
local item = getTileItemById(createPos, tpID).uid
  if item > 1 then
  return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
  end

doCreateTeleport(tpID, toPos, createPos)
removeTP(createPos, tpID, tempo)
doTransformItem(item.uid, (item.itemid == 1945 and 1946 or 1945))

return true
end

 

 

tag:

<action actionid="xxxx" event="script" value="yyyy.lua"/>

 

n esqueça de por o actionID na alavanca.. e coloque a alavanca 1945...

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

  • 0

Bom, peguei de base um script do caotic! Aqui está. Faltou as mensagens animadas em cima do teleport, esperemos alguém corrigir, vamos lá!

 

Crie um arquivo na pasta data/actions/scripts chamado pushtp.lua, coloque isso dentro:

 

 

function onUse(cid, item, frompos, item2, topos)

local pos = {x = 123, y = 321, z = 7} --Aqui é a posição do teleport

local topos = {x=321, y=123, z=7} -- Aqui é para onde o player vai ser teleportado

local tempo = 1.5 -- Tempo em minutos pra sumir o teleport (1.5 = 90 sec)

pid = doCreateTeleport(1387, topos, pos)

addEvent(deleteTp, tempo*60*1000, pid)

broadcastMessage("Teleport Aberto!",22)

return true

end

function deleteTp(pos)

local pos = {x = 123, y = 321, z = 7, stackpos = 1} -- Aqui você coloca a posição do teleport

doRemoveItem(getThingfromPos(pos).uid,1)

broadcastMessage("Teleport Closed",22)

end

 

 

Explicação: Aonde está em vermelho é configurável, é o tempo e as posições! Agora em actions.xml adicione essa tag:

 

<action uniqueid="6566" script="pushtp.lua" />

 

Agora coloque a alavanca no mapa, e adicione o UniqueID 6566 para ela. Teste e poste resultados, boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 0

Slicer Obrigado deu certiinho!

 

 

Quanto ao

Roksas Foi genial! -- Só faltou a contagem regressiva!

 

Ja que estou indeciso para quem dar o REP+

Irei fazer o seguinte! > Darei o REP+ Para quem fazer o seguinte!

Quando eu puxar a alavanca,

Quero que apareça uma mensagem para TODOS OS PLAYERS!

Exemplo: EVENTO MEGA WAR FOI ABERTO!

Quero que essa mensagem apareça em branco para cada cidadao do server ^.~'

 

 

Sera que vcs conseguem?

Link para o comentário
Compartilhar em outros sites

  • 0

local toPos = {x = 111, y = 111, z = 7}  --pos para onde o player sera teleportado
local createPos = {x = 222, y = 222, z = 7} --pos aonde o tp sera criado
local tpID = 1387    --id do tp, nunca usei um, n sei se eh esse ms...
local tempo = 90 --90seg

local function removeTP(pos, id, time)
if time == 0 then
  local item = getTileItemById(pos, id).uid
  if item > 1 then
  doRemoveItem(item, 1)
  doSendAnimatedText(pos, "Closed!", 192)
  doBroadcastMessage("ENTRADA PARA O EVENTO MEGA WAR ESTA FECHADA!", 20)
  end
else
  doSendAnimatedText(pos, time, 227)
  addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
local item = getTileItemById(createPos, tpID).uid
  if item > 1 then
  return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
  end

doCreateTeleport(tpID, toPos, createPos)
removeTP(createPos, tpID, tempo)
doBroadcastMessage("EVENTO MEGA WAR FOI ABERTO!", 20)
doTransformItem(item.uid, (item.itemid == 1945 and 1946 or 1945))

return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

Slicer Meu garoooto HDUSHUDH

 

Poxa, Eu só queria saber o segredo pra ser tao foda :S

 

REP+ Para voçê!

 

Amanha vou dar outro REP+

Para o nosso amigo

 

Roksas Porque também ajudou neh, gastou tempo e tals!, prometo que seu REP+ vai chega ^^

 

¹ De brinde queria que alguem mandasse o link de um tutorial ensinando a postar em "spoiler" ou mande um resumo

De como postar em "spoiler"! :DD

 

² Se nao for possivél, ta tranquilo :DD

OBS: (é porque sou iniciante e tals)

 

DUVIDA SANADA BROTHER's

 

Podem fechar o topico! -- GRATZ --

Link para o comentário
Compartilhar em outros sites

  • 0

slices estava preocurando por essa script, slicer tem alguma que ao clikar na alavanca teleporta para um lugar fazendo a contagem aonde lavanca ta e aonde foi teleportadado ?? preciso muito dessa script :X

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...