Postado Junho 6, 2017 7 anos Peguei uma spell aqui no fórum(não lembro os creditos e tbm não sei se precisa) local teleportar_para = {x= 1615, y= 1039, z= 6} local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 10) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function removeTeleport(pos) tp = getTileItemById(pos, 1387).uid doRemoveItem(tp, 1) doSendMagicEffect(pos, 2) end function x(p, d) local t = {{x=p.x,y=p.y-1,z=p.z},{x=p.x+1,y=p.y,z=p.z},{x=p.x,y=p.y+1,z=p.z},{x=p.x-1,y=p.y,z=p.z}} return t[d+1] end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 5677) == 1 then doPlayerSendCancel(cid, "Você não pode usar tal magia aqui") return false end local pos = getCreaturePosition(cid) local criar_tp = pos doCreateTeleport(1387, teleportar_para, criar_tp) local tp = getTileItemById(criar_tp, 1387).uid doItemSetAttribute(tp, "aid", 5678) for i = 1, 5 do addEvent(doSendMagicEffect, i*1000, criar_tp, 134) end addEvent(removeTeleport, 5000, criar_tp) return doCombat(cid, combat, var) end o unico problema dessa spell é que quando o teleporte é criado ele n me teleporta automaticamente eu tenho que sair e depois pisar novamente no teleporte para ser teleportado e ela esta sem exausthed alguem poderia arrumar isso pra min ? não sei como faz :C
Postado Junho 7, 2017 7 anos Teste o seguinte: em 9 horas atrás, Rikikajimo disse: local pos = getCreaturePosition(cid) substitua por local pos = getCreatureLookPosition(cid) e onde está a spells.xml Coloque a magia da seguinte forma: <instant name="teleport" words="teleport" lvl="1" mana="1" prem="0" range="1" casterTargetOrDirection="1" needlearn="0" blockwalls="1" exhaustion="5000" event="script" value="teleport.lua"></instant> (Altere o que precisar nome/palavras, level, mana e onde está "value=" coloque a localização do script, no meu caso está em data/spells/script/teleport.lua)
Postado Junho 7, 2017 7 anos Autor 1 hora atrás, Hankro disse: Teste o seguinte: em substitua por local pos = getCreatureLookPosition(cid) e onde está a spells.xml Coloque a magia da seguinte forma: <instant name="teleport" words="teleport" lvl="1" mana="1" prem="0" range="1" casterTargetOrDirection="1" needlearn="0" blockwalls="1" exhaustion="5000" event="script" value="teleport.lua"></instant> (Altere o que precisar nome/palavras, level, mana e onde está "value=" coloque a localização do script, no meu caso está em data/spells/script/teleport.lua) não funcionou mano criou o teleporte na minha frente, eu quero que crie embaixo de min. só que eu quero q ao ele ser criado me teleporte na hora o meu script cria embaixo mas não teleporta eu tenho que sair de cima e pisar novamente para poder teleportar e para por exausthed na propria spell como se faz ? sem ser pelo xml (exhaustion="5000) pelo proprio .lua coloquei uma imagem para melhor entendimento aqui eu usei a spell e criou o portal embaixo de min (o que eu quero que aconteça) mas ele n me teleportou para o lugar eu tenho que sair de cima e pisar novamente ai sim ele teleporta. Teria como ao usar a magia criar o portal e me teleportar ao mesmo tempo ? Editado Junho 7, 2017 7 anos por Rikikajimo explicar melhor ficou um pouco confuso (veja o histórico de edições)
Postado Junho 7, 2017 7 anos Citar local teleportar_para = {x= 1615, y= 1039, z= 6} local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 10) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function removeTeleport(pos) tp = getTileItemById(pos, 1387).uid doRemoveItem(tp, 1) doSendMagicEffect(pos, 2) end function x(p, d) local t = {{x=p.x,y=p.y-1,z=p.z},{x=p.x+1,y=p.y,z=p.z},{x=p.x,y=p.y+1,z=p.z},{x=p.x-1,y=p.y,z=p.z}} return t[d+1] end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 5677) == 1 then doPlayerSendCancel(cid, "Você não pode usar tal magia aqui") return false end local pos = getCreaturePosition(cid) local storage = 23585 -- Storage pra verificar se o player já pode usar novamente (altere se já estiver usando em outra coisa) local tempo = 10 --Tempo para usar novamente (em segundos) local criar_tp = pos if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Voce ainda deve esperar: "..tempo.." segundos entre cada teleport.") return false else doCreateTeleport(1387, teleportar_para, criar_tp) local tp = getTileItemById(criar_tp, 1387).uid doItemSetAttribute(tp, "aid", 5678) doTeleportThing(cid,teleportar_para) exhaustion.set(cid, storage, tempo) addEvent(removeTeleport, 5000, criar_tp) return doCombat(cid, combat, var) end end E na spells.xml <instant name="teleport" words="teleport" lvl="1" mana="1" prem="0" range="1" selftarget="1" needlearn="0" blockwalls="1" event="script" value="teleport.lua"></instant>
Postado Junho 7, 2017 7 anos Autor 6 minutos atrás, Hankro disse: E na spells.xml <instant name="teleport" words="teleport" lvl="1" mana="1" prem="0" range="1" selftarget="1" needlearn="0" blockwalls="1" event="script" value="teleport.lua"></instant> perfeito cara REP+
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.