Postado Janeiro 17, 2015 10 anos Em 17/01/2015 em 19:17, elwyn disse: Só aplica os 20s de cd se o tile que você usar a runa tiver uma mw existente. Em 17/01/2015 em 19:34, Natanael Beckman disse: É exatamente isso Se você já verificou a positionToVariant como contendo uma magic wall, qual a necessidade de aplicar 20 segundos de exhaustion? Só seria necessário um intervalo pra usar a runa novamente, em outra posição. Tente: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) local time = 3 -- seconds local stor = 98765 local v = getTileItemByType(variantToPosition(var), ITEM_TYPE_MAGICFIELD) if v.uid > 0 then return false elseif exhaustion.get(cid, stor) then return doPlayerSendCancel(cid, 'Cooldown['..exhaustion.get(cid, stor)..']') and false end return doCombat(cid, combat, var) and exhaustion.set(cid, stor, time) end
Postado Janeiro 17, 2015 10 anos Autor Em 17/01/2015 em 20:15, Suicide disse: Se você já verificou a positionToVariant como contendo uma magic wall, qual a necessidade de aplicar 20 segundos de exhaustion? Só seria necessário um intervalo pra usar a runa novamente, em outra posição. Tente: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) local time = 3 -- seconds local stor = 98765 local v = getTileItemByType(variantToPosition(var), ITEM_TYPE_MAGICFIELD) if v.uid > 0 then return false elseif exhaustion.get(cid, stor) then return doPlayerSendCancel(cid, 'Cooldown['..exhaustion.get(cid, stor)..']') and false end return doCombat(cid, combat, var) and exhaustion.set(cid, stor, time) end Obrigado pela ajuda mano, mais vai ser o que eu imaginava, source!
Postado Janeiro 17, 2015 10 anos Se quiser uma ultima tentativa... local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local tempo = 2 function onCastSpell(cid, var) if exhaustion.check(cid, 1000) == false then exhaustion.set(cid,1000, tempo) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]") end end Apenas mudei o tempo do exaust que o script confere para 2 segundos (que seria um tempo de cooldown da mw).
Postado Janeiro 17, 2015 10 anos Autor Em 17/01/2015 em 21:27, danihcv disse: Se quiser uma ultima tentativa... local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local tempo = 2 function onCastSpell(cid, var) if exhaustion.check(cid, 1000) == false then exhaustion.set(cid,1000, tempo) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]") end end Apenas mudei o tempo do exaust que o script confere para 2 segundos (que seria um tempo de cooldown da mw). Obrigado pela tentativa mano, podem fechar o tópico vou corrigir na source, TENTAR!
Postado Agosto 1, 2015 9 anos desculpe por reabrir o topico, e que eu acho que sei como... =P talvez assim? Mostrar conteúdo oculto local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var)if exhaustion.check(cid, 1000) == false then local tem_magic_wall = getTileItemById(variantToPosition(var), ID_DA_MW) if tem_magic_wall and tem_magic_wall > 0 thenexhaustion.set(cid,1000, 20) endreturn doCombat(cid, combat, var)elsedoPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]")endend se ajudei Natanael, por favor, me ajude no seu topico de compilação abraço Editado Agosto 1, 2015 9 anos por foxkbt (veja o histórico de edições)
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.