Ir para conteúdo
  • 0

[Spell] Teleport Dimension And Return! [Spell] Summon Diferente


Newtonnotwen

Pergunta

Ola galera do xtibia estou querendo um script de uma spell que faz o seguinte:

 

Ao ser utilizada a magia abre um portal na frente do player e quando ele entra é teleportado pra um lugar no mapa marcado (ex: x=0 y=0 z=0) o teleporte continua la por durante 5 segundos (na frente de onde o player usou a magia), porem ao entrar no teleporte ele retornará automaticamente ao lugar onde usou a magia apos 10 segundos.

 

Obs: Se outro player (outro que não tenha utilizado a magia) entrar no teleporte no período de 5 segundos em que o teleporte esta aberto, ele ira retornar também no mesmo tempo que quem entrou primeiro ou após os 20 segundos dele, no caso voltando 5 segundos depois que o primeiro player.

 

Caso não seja possível fazer a seguinte spell gostaria então da seguinte:

 

Player utiliza magia e é teleportado para tal lugar (ex: x=0 y=0 z=0), porem sem abrir teleporte ele é teleportado no momento que fala e após 20 segundos retorna ao lugar original (onde usou a magia).

 

Porque quero essa magia?

 

-Queria uma magia tipo o jutsu do Tobi (no anime naruto) onde ele teleporta para outra dimensão e retorna.

 

Qual a funcionalidade?

 

-O player pode fugir de seu adversário mudando de "dimensão".

 

Protocolo: 8.6

Sevidor: The forgotten server

Nível de experiência: Stages

Informações adicionais: Nenhuma!

 

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

A outra spell seria a seguinte:

 

Queria um summon com efeito, segue o exemplo:

 

Sabe aquele efeito do espelho que sai um orc, do /z? Ou do dragão que sai da aguá?

 

Queria o seguinte:

-Ao player utilizar a magia ele invocasse um orc e aparecesse o espelho.

-Ao player utilizar a magia ele invocasse um dragon e aparecesse o efeito do dragão.

 

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

 

REP+ por cada spell (no caso das 2, REP+ por 2 dias seguidos)

 

Obs: Hoje não posso mais dar REP+ pois da dei (04/08/2012).Espere por amanhã.

 

 

Protocolo: 8.6

Sevidor: The forgotten server

Nível de experiência: Stages

Informações adicionais: Nenhuma!

 

 

Obrigado pela atenção!

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

Posts Recomendados

  • 0

Achei alguns bugs como por exemplo:

 

-Quando o player usa na borda

-Quando outro player entra no teleporte

-Quando se desloga ao entrar no teleporte

 

Porem de fácil correção, você poderia modificar o seguinte pra mim por favor?

 

-Teleporte nascer embaixo do player

-Sumir automaticamente o teleporte

 

Isso ira corrigir quais quer bugs possiveis exceto o battle, porem isso eu corrijo, irei adicionar um monstro invisivel e imortal que ataque o player.

 

@LockOake

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

  • 0

Sobre deslogar dentro da area do TP: é só colocar No Logout Zone no Map Editor

Sobre outro player entrar também: qual o problema quanto à isso?

Sobre o TP aparecer em baixo do player:

 

Substitua seu tp.lua por isso:

 

-- Script by Luck Oake

function onSay(cid, words, param)

local waittime = 10 -- Tempo de exhaustion

local storage = 5560

local tpId = 1387 -- ID do seu Teleport

local pos = getCreaturePosition(cid)

from = {x=pos.x, y=pos.y, z=7}

to = {x = 1000, y = 1000, z = 7} -- Para onde o teleport levará

area1 = {x = 998, y = 998, z = 7} -- Ponta de cima na esquerda na area que o tp leva

area2 = {x = 1002, y = 1002, z = 7} -- Ponta de baixo na direita na area que o tp leva

 

function back(cid)

if isInArea(getCreaturePosition(cid), area1, area2) then

doTeleportThing(cid, from)

end

end

 

function removeTp(tp)

local tp = getTileItemById(from, tpId)

if tp then

doRemoveItem(tp.uid, 1)

doSendMagicEffect(from, CONST_ME_POFF)

end

end

 

if exhaustion.check(cid, storage) == false then

for _, pid in ipairs(getPlayersOnline()) do

addEvent(back, 20000, pid)

end

exhaustion.set(cid, storage, waittime)

doCreateTeleport(tpId, to, from)

addEvent(removeTp, 5000, tp)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

end

return true

end

 

 

E o teleport já some automaticamente.

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

  • 0

Seu segundo pedido:

 

Talkactions.xml:

 

<talkaction words="!orc;!dragon" event="script" value="monsters.lua"/>

 

monsters.lua:

 

-- Script by Luck Oake

function onSay(cid, words, param)

local p = getCreaturePosition(cid)

if words == "!orc" then

local x = {

[0] = 57,

[1] = 58,

[2] = 57,

[3] = 58

}

ef = x[getCreatureLookDirection(cid)]

doSummonMonster(cid, "Orc")

doSendMagicEffect(p, ef)

end

if words == "!dragon" then

doSummonMonster(cid, "Dragon")

doSendMagicEffect(p, 33)

end

return true

end

 

 

Comandos: !orc e !dragon.

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

  • 0

Pode ser pra todos mesmos.

 

Acho que vou ficar ti devendo 2 REP+ hehe!

 

Me ajudou muito

 

@LuckOake

 

 

Pedido atendido.

Podem mover o tópico.

 

Primeira spell: Resolvida por LuckOake (No tópico)

Segunda spell: Resolvida por LuckOake (Private)

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

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