Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Olá, eu estou procurando ajuda de alguém para uma spell que eu uso em meu servidor, nela eu(jogador) uso uma magia em um player(target) e somos teleportados para outra dimensão, ou outro local do mapa, porém depois de X segundos eu sou teleportado de volta para a posição antes de teleportar a pessoa, eu gostaria que não tivesse estes X segundos para voltar, e tivesse um portal para sair e voltar na posição que eu teleportei a pessoa, por exemplo:

 

Eu estou em uma cidade, do lado de uma casa e eu teleporto um jogador(target) para a dimensão, vai ter um tempo de 15 segundos para voltar para o mesmo local(em uma cidade, do lado de uma casa) antes de teleportar o jogador(target), eu queria remover estes 15 segundos e adicionar um portal na dimensão que faz a mesma coisa que estes 15 segundos, para eu poder ficar o tempo eu quiser no local e poder sair a quando que eu quiser.

 

Também gostaria que eu pudesse teleportar criaturas tipo, monstros e summons para a dimensão, quando eu tento teleportar aparece uma mensagem dizendo que só posso teleportar jogadores.

 

Eu já pedi ajuda para o @xWhiteWolf, porém eu não entendo nada de script, eu gostaria da ajuda de vocês para desenvolver este codigo para toda a comunidade <3

 

Ah, o @xWhiteWolf me orientou a fazer isto, mas eu não entendi muito bem, não tenho muito conhecimento sobre isso:

 

"Bom, a idéia é assim: você vai ter uma area com um teleport pra voltar e dois scripts:
1) será a spell propriamente dita, vc irá utilizar algo muito parecido com o Kamui In que eu postei porém irá remover a parte de voltar depois de X segundos e antes de você teleportar para o Kamui você vai salvar 3 storages, um deles vc vai salvar o componente x da posição do player, o outro o componente y e por ultimo o componente z.

2) você vai ter um script em movements que irá colocar no teleporte. Perceba que a posição que o tp te leva de volta não pode ser algo fixo definido no teleporte, então vc vai colocar apenas o teleporte lá e inserir um action ou uniqueid nele referente a este script em questão. Basicamente o script será você pegando os 3 storages do player e formando uma posição com eles.
local pos {x = storagex, y = storagey, z = storagez} e aí então teleportando para a posição pos." - @xWhiteWolf
 

 

Script da Spell logo abaixo:

 

Spoiler

function onCastSpell(cid, var)

local Tile1 = {x=1556, y=1256, z=7} -- onde o player sera teleportado
local Tile2 = {x=1556, y=1259, z=7} -- onde o player target teleportado
local from1,to1 = {x=1509, y=1259, z=7},{x=1509, y=1255, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from2,to2 = {x=979, y=911, z=7},{x=994, y=918, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from3,to3 = {x=1514, y=1262, z=7},{x=1504, y=1253, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from4,to4 = {x=1552, y=1254, z=7},{x=1561, y=1262, z=7} -- ponto 1 ao ponto 2 da area
local from5,to5 = {x=979, y=911, z=7},{x=994, y=918, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from6,to6 = {x=1156, y=1192, z=7},{x=1172, y=1172, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from7,to7 = {x=664, y=1096, z=7},{x=685, y=1104, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from8,to8 = {x=1553, y=1254, z=7},{x=1562, y=1262, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from9,to9 = {x=1133, y=1039, z=12},{x=972, y=873, z=12} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from10,to10 = {x=1133, y=1039, z=11},{x=972, y=873, z=11} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from11,to11 = {x=1133, y=1039, z=10},{x=972, y=873, z=10} -- ponto 1 ao ponto 2 da area em que ele sera teleportado

local pos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local targetpos = getCreaturePosition(target)
local time = 15 -- tempo para voltar em segundos

if isInRange(pos, from1, to1) or isInRange(pos, from2, to2) or isInRange(pos, from3, to3) or isInRange(pos, from4, to4) or isInRange(pos, from5, to5) or isInRange(pos, from6, to6) or isInRange(pos, from7, to7) or isInRange(pos, from8, to8) or isInRange(pos, from9, to9) or isInRange(pos, from10, to10) or isInRange(pos, from11, to11) then
doPlayerSendCancel(cid, "Você nao pode usar o Kamui aqui!")
return FALSE
end

local function Teleport_Player(cid)
doTeleportThing(cid, pos)
end

local function Teleport_Target(target)
doTeleportThing(target, targetpos)
end

if isPlayer(target) then
doTeleportThing(cid, Tile1)
doTeleportThing(target, Tile2)
doSendMagicEffect(pos, 196)
doSendMagicEffect(targetpos, 196)
addEvent(Teleport_Player, time*1000, cid)
addEvent(Teleport_Target, time*1000, target)
doCreatureSay(cid, "Kamui Me", TALKTYPE_MONSTER)
else
doPlayerSendCancel(cid, "Voce so pode usar esta magia em players!")
end
end 

 

 

  • Respostas 7
  • Visualizações 1.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • thelifeofpbion
    thelifeofpbion

    Acho que consegui fazer mais ou menos o que você queria... Só não entendi uma coisa, o tp deveria ser apagado? porque eu apenas criei, até consigo fazer um add Event, que apaga depois de x tempo o t

Postado

Acho que consegui fazer mais ou menos o que você queria...
Só não entendi uma coisa, o tp deveria ser apagado? porque eu apenas criei, até consigo fazer um add Event, que apaga depois de x tempo o tp...

se for para apagar quando pisa acho que teria que ser um movement dai.. ou fazer com que esse tp criado receba uma action e em movements colocar pra apagar quando pisar, sei lá.
enfim é isso.
 

Spoiler

function onCastSpell(cid, var)
local createpos = {x=164, y=54,z=7} --- onde o tp vai aparecer
local Tile1 = {x=160, y=54, z=7} -- onde o player sera teleportado
local Tile2 = {x=160, y=54, z=7} -- onde o player target teleportado


local from1,to1 = {x=1509, y=1259, z=7},{x=1509, y=1255, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from2,to2 = {x=979, y=911, z=7},{x=994, y=918, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from3,to3 = {x=1514, y=1262, z=7},{x=1504, y=1253, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from4,to4 = {x=1552, y=1254, z=7},{x=1561, y=1262, z=7} -- ponto 1 ao ponto 2 da area
local from5,to5 = {x=979, y=911, z=7},{x=994, y=918, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from6,to6 = {x=1156, y=1192, z=7},{x=1172, y=1172, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from7,to7 = {x=664, y=1096, z=7},{x=685, y=1104, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from8,to8 = {x=1553, y=1254, z=7},{x=1562, y=1262, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from9,to9 = {x=1133, y=1039, z=12},{x=972, y=873, z=12} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from10,to10 = {x=1133, y=1039, z=11},{x=972, y=873, z=11} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from11,to11 = {x=1133, y=1039, z=10},{x=972, y=873, z=10} -- ponto 1 ao ponto 2 da area em que ele sera teleportado

local pos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local targetpos = getCreaturePosition(target)
local topos = {x=pos.x, y=pos.y,z=pos.z}

local storage_x = 50000                   --Storage que guarda a posicao x
local storage_y = 50001                   --Storage que guarda a posicao y
local storage_z = 50002                  --storage que guarda a posicao z

if isInRange(pos, from1, to1) or isInRange(pos, from2, to2) or isInRange(pos, from3, to3) or isInRange(pos, from4, to4) or isInRange(pos, from5, to5) or isInRange(pos, from6, to6) or isInRange(pos, from7, to7) or isInRange(pos, from8, to8) or isInRange(pos, from9, to9) or isInRange(pos, from10, to10) or isInRange(pos, from11, to11) then
doPlayerSendCancel(cid, "Você nao pode usar o Kamui aqui!")
return FALSE
end

local function Teleport_Player(cid)
doTeleportThing(cid, pos)
end

local function Teleport_Target(target)
doTeleportThing(target, targetpos)
end


doTeleportThing(cid, Tile1)
doTeleportThing(target, Tile2)
doSendMagicEffect(pos, 196)
doSendMagicEffect(targetpos, 196)

setPlayerStorageValue(cid, storage_x, pos.x)
setPlayerStorageValue(cid, storage_y, pos.y)
setPlayerStorageValue(cid, storage_z, pos.z)
  
pos.x = getPlayerStorageValue(cid, storage_x)
pos.y = getPlayerStorageValue(cid, storage_y)
pos.z = getPlayerStorageValue(cid, storage_z)

doCreateTeleport(1387,topos, createpos)

doCreatureSay(cid, "Kamui Me", TALKTYPE_MONSTER)
end 

 



 

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

  • 2 weeks later...
Postado
  • Autor
Em 06/04/2017 ás 19:34, pablobion disse:

Acho que consegui fazer mais ou menos o que você queria...
Só não entendi uma coisa, o tp deveria ser apagado? porque eu apenas criei, até consigo fazer um add Event, que apaga depois de x tempo o tp...

se for para apagar quando pisa acho que teria que ser um movement dai.. ou fazer com que esse tp criado receba uma action e em movements colocar pra apagar quando pisar, sei lá.
enfim é isso.

Mais ou Menos, eu gostaria que quando uma pessoa levasse a outra para o kamui, o portal ficasse lá, ai nesse que você me mandou eu consigo ir pro kamui, levar as pessoas, mas também consigo levar trainer, tirando isso tá otimo, mas também eu queria que o portal levasse o player e o target para o local certo onde usei a magia antes pra ir pro kamui, tipo se uma pessoa usa o kamui e eu uso depois ele, eu vou pro kamui, até ai tudo bem, mas na hora de sair pelo portal, eu saio onde a primeira pessoa q usou o kamui estava antes de usar o kamui.

 

um Exemplo:

 

A  Pessoa X antes de mim usa o kamui, o portal é criado, ela sai normalmente.

Eu usei o kamui, o portal eu acho que também é criado, porem quando eu passo nele, eu vou para onde a Pessoa X estava.

 

Eu gostaria que eu voltasse para onde eu usei a spell antes de ir lá.

 

Obrigado.

Editado por FabiiioH
Deixar o post menos confuso :P (veja o histórico de edições)

Postado

como um monster vai sair do kamui? kkk

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo