Postado Setembro 2, 2021 3 anos Olá novamente, estou atrás de uma spell a 2 dias e não encontrei nenhuma igual oque eu quero e nem consegui editar as existentes. Se trata de um Kamui, para os não jogadores de derivado é uma spell que teleporta você ou o alvo para outro local do mapa. Já existe diversos spells de Kamui mas nem todas completas, sempre falta alguma coisa que me impede de editar por não ter conhecimento em script. Como quero que seja: Primeiro o player vai ter duas possibilidades, primeiro ele usa com target, e segundo ele usa sem target. De preferencia na mesma spell. (Caso seja complicado fazer dessa forma pode fazer duas spells diferentes cada uma fazendo uma coisa). Com target, o player ou monstro selecionado (se possível adicionar uma parte com exceções para mim adicionar o nome de alguns monstros), o target será enviado para o Kamui (x1000y1000z15) que eu editei no mapa. Sem target quem será enviado para o Kamui será o próprio player que conjurou a spell. Mesma coordenada (x1000y1000z15). Segundo, essa spell terá um cooldown de 5 min e também SE POSSIVEL, ela de um dano caso usada no target Ela terá 2 effects, um no player e um no target e se possível também o teleport não ser instantâneo, ele levar uns 3 milissegundos para teleportar após o uso da spell. Não vai voltar automático. E terceiro, dentro desse mundo terá um portal que será responsável por fazer a pessoa voltar para o local de onde ela foi teleportada.(Até encontrei o script para esse portal mas é necessário que a spell grave 3 storages da posição do player e do target com os valores de x,y,z para que o portal possa teleportar essa pessoa de volta). Ou seja, resumindo: Uma spell de teleport no mapa que leva você ou caso esteja no target leve o target com exceção de alguns monstros, com cd ajustável, delay no teleport, 2 effects, causar dano, e dentro dessa área que leva o teleport ter um portal que leva de volta. Bom, não faço a menor ideia se é difícil ou fácil criar essa spell, pois tudo que eu citei eu já vi em outras spells então possível eu sei que é, mas não tenho noção do grau de dificuldade, por isso coloquei alguns "se possível" para facilitar caso esteja muito complexo. Muito obrigado a quem tentar ajudar, é uma spell bem dahora que vai ajudar muitos servidores de NTO caso seja feita. Qualquer dúvida só perguntar ai que eu respondo. TFS 0.4 8.60
Postado Setembro 2, 2021 3 anos Só tenho uma dúvida, se vários jogadores usarem essa mesma spell juntos? vai lotar a area de monstros ou de players... E como vai fazer para o monstro que foi enviado para lá voltar? pq ele não volta sozinho né? [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Setembro 2, 2021 3 anos Autor 7 horas atrás, Vodkart disse: Só tenho uma dúvida, se vários jogadores usarem essa mesma spell juntos? vai lotar a area de monstros ou de players... E como vai fazer para o monstro que foi enviado para lá voltar? pq ele não volta sozinho né? Então, nesse caso é só matando mesmo o monstro, por isso seria bom uma parte que eu coloque a exeção dos bixos, para não levarem boses, trainers entre outros. E com um CD alto as pessoas não vão ficar o tempo todo puxando os monstros. Além de só 2 personagens terem essa spell. No caso dos players e normal estar cheio mesmo Editado Setembro 2, 2021 3 anos por Nother (veja o histórico de edições)
Postado Setembro 3, 2021 3 anos testa assim (só para teste) spell: local from, to = {x=980, y=980, z=15}, {x=1050, y=1050, z=15} -- area total do kamui local teleport = {x=1000, y=1000, z=15} -- para onde vai local blocks = {"demon", "hydra"} -- defina o nome dos monstro em minusculo local storage = 753159 function isInKamuiArea(cid) return isInRange(getCreaturePosition(cid), from, to) and true or false end function TeleportToKamui(alvo, pos) if not isCreature(alvo) then return LUA_ERROR end doTeleportThing(alvo, pos) doSendMagicEffect(getCreaturePosition(alvo), 3) -- target end function onCastSpell(cid, var) local target = var.number if target and isCreature(target) then -- se tiver target if isMonster(target) then if isInArray(blocks, getCreatureName(target):lower()) then doPlayerSendCancel(cid, "voce nao pode usar a spell neste monstro") return true end doSendMagicEffect(getCreaturePosition(cid), 4) -- cid addEvent(TeleportToKamui, 300, target,teleport) elseif isPlayer(target) then -- salva a coordenada do target player if isInKamuiArea(target) then doPlayerSendCancel(cid, "voce nao pode usar a spell em um target dentro do kamui") return true end setPlayerStorageValue(target, storage, ":".. getCreaturePosition(target).x ..",:".. getCreaturePosition(target).y ..",:".. getCreaturePosition(target).z) doSendMagicEffect(getCreaturePosition(cid), 4) -- cid addEvent(TeleportToKamui, 300, target,teleport) end else if isInKamuiArea(cid) then doPlayerSendCancel(cid, "voce nao pode usar a spell dentro do kamui") return true end setPlayerStorageValue(cid, storage, ":".. getCreaturePosition(cid).x ..",:".. getCreaturePosition(cid).y ..",:".. getCreaturePosition(cid).z) doSendMagicEffect(getCreaturePosition(cid), 4) -- cid addEvent(TeleportToKamui, 300, cid, teleport) end return true end e o movements o teleport: function onStepIn(cid, item, position, fromPosition) local storage = 753159 if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, storage) == -1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) return true end local w = tostring(getPlayerStorageValue(cid, storage)):gsub(':', ''):explode(',') doTeleportThing(cid, {x = tonumber(w[1]), y = tonumber(w[2]), z = tonumber(w[3])}) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) return true end [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Setembro 3, 2021 3 anos Autor 1 hora atrás, Vodkart disse: testa assim (só para teste) spell: local from, to = {x=980, y=980, z=15}, {x=1050, y=1050, z=15} -- area total do kamui local teleport = {x=1000, y=1000, z=15} -- para onde vai local blocks = {"demon", "hydra"} -- defina o nome dos monstro em minusculo local storage = 753159 function isInKamuiArea(cid) return isInRange(getCreaturePosition(cid), from, to) and true or false end function TeleportToKamui(alvo, pos) if not isCreature(alvo) then return LUA_ERROR end doTeleportThing(alvo, pos) doSendMagicEffect(getCreaturePosition(alvo), 3) -- target end function onCastSpell(cid, var) local target = var.number if target and isCreature(target) then -- se tiver target if isMonster(target) then if isInArray(blocks, getCreatureName(target):lower()) then doPlayerSendCancel(cid, "voce nao pode usar a spell neste monstro") return true end doSendMagicEffect(getCreaturePosition(cid), 4) -- cid addEvent(TeleportToKamui, 300, target,teleport) elseif isPlayer(target) then -- salva a coordenada do target player if isInKamuiArea(target) then doPlayerSendCancel(cid, "voce nao pode usar a spell em um target dentro do kamui") return true end setPlayerStorageValue(target, storage, ":".. getCreaturePosition(target).x ..",:".. getCreaturePosition(target).y ..",:".. getCreaturePosition(target).z) doSendMagicEffect(getCreaturePosition(cid), 4) -- cid addEvent(TeleportToKamui, 300, target,teleport) end else if isInKamuiArea(cid) then doPlayerSendCancel(cid, "voce nao pode usar a spell dentro do kamui") return true end setPlayerStorageValue(cid, storage, ":".. getCreaturePosition(cid).x ..",:".. getCreaturePosition(cid).y ..",:".. getCreaturePosition(cid).z) doSendMagicEffect(getCreaturePosition(cid), 4) -- cid addEvent(TeleportToKamui, 300, cid, teleport) end return true end e o movements o teleport: function onStepIn(cid, item, position, fromPosition) local storage = 753159 if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, storage) == -1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) return true end local w = tostring(getPlayerStorageValue(cid, storage)):gsub(':', ''):explode(',') doTeleportThing(cid, {x = tonumber(w[1]), y = tonumber(w[2]), z = tonumber(w[3])}) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) return true end Funcionou tudo que você adicionou ai, realmente muito bom. Bom falta apenas 3 coisinhas caso não dê a terceira de boa falta agora o effect ser ajustável a posição, e sair no alvo (está saindo só em mim), só consigo usar no target se eu colocar no xml needtarget 1, se eu quiser usar em mim o kamui preciso colocar needtarget 0. e o ultimo e menos importante, dar dano no alvo.
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.