Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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 

 

 

Link para o post
Compartilhar em outros sites

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.

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
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)
Link para o post
Compartilhar em outros sites

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.

Link para o post
Compartilhar em outros sites
Em 14/04/2017 ás 19:37, FabiiioH disse:

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.

Mano, por que você não coloca so por spell, tipo o player leva tudo menos os monstros que a script bloqueia, e depois de x segundos volta pra onde tava ?

 

Link para o post
Compartilhar em outros sites
Em 22/04/2017 ás 15:42, pablobion disse:

como um monster vai sair do kamui? kkk

Morrendo uai kkk

Em 23/04/2017 ás 13:44, Radamanthys Wov disse:

Mano, por que você não coloca so por spell, tipo o player leva tudo menos os monstros que a script bloqueia, e depois de x segundos volta pra onde tava ?

 

É que eu acho mais legal e mais real (igual o anime, ou quase, haha) a criação de um portal, e eu não sei criar scripts ainda, eu vejo umas coisinhas mas fico perdido :/

Link para o post
Compartilhar em outros sites
  • 8 months later...
Em 06/04/2017 em 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.
 

  Ocultar conteúdo


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 

 


 

pode me dar outra ajudinha? quando outro player usa a spell ele volta para o lugar onde o primeiro usou, por exemplo: Alfredo usou a spell no Joãozinho, uns minutos depois, Felipe usou a spell no Pablo, felipe e pablo voltaram para o mesmo lugar que Alfredo tinha usado a spell no joãozinho, eles não voltam para onde usaram D:

Editado por FabiiioH
coloquei minha resposta junto coma citação do amigo ali em cima :P (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo