Postado Setembro 2, 2021 3 anos Olá, será que alguem pode editar essa spell para mim e colocar um delay no teleport? Tipo, eu adcionei 2 effect nessa spell, cada um com seu time. O primeiro leva coisa de 4 milisegundos para acabar, e o segundo completa e da o dano. O primeiro é o effect que sai no player, o problema e que o teleport esta saindo instantaneamente e não consigo fazer ele sair depois que acaba o primeiro effect. Olha como está a spell local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_TEAL) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 32) function onGetFormulaValues(cid, level, maglevel) min = -((30) * (maglevel + level)) max = -((33) * (maglevel + level)) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local function onCastSpell1(parameters) return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} local waittime = 1 -- Tempo de exhaustion local storage = 445000 if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Podera usar novamente dentro de 1 segundos.") doSendMagicEffect(getCreaturePosition(cid), 32) return false end exhaustion.set(cid, storage, waittime) local positionp = getPlayerPosition(cid) local target = getCreatureTarget(cid) local enemypos = getCreaturePosition(target) addEvent(onCastSpell1, 550, parameters) if target == isMonster or isCreature then doTeleportThing(cid, enemypos) addEvent(doSendMagicEffect, 500, {x = enemypos.x, y = enemypos.y+1, z = enemypos.z}, 311) addEvent(doSendMagicEffect, 10, {x = positionp.x, y = positionp.y+1, z = positionp.z}, 312) end return true end
Postado Setembro 3, 2021 3 anos Solução local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_TEAL) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 32) function onGetFormulaValues(cid, level, maglevel) min = -((30) * (maglevel + level)) max = -((33) * (maglevel + level)) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local function onCastSpell1(parameters) return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} local waittime = 1 -- Tempo de exhaustion local storage = 445000 if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Podera usar novamente dentro de 1 segundos.") doSendMagicEffect(getCreaturePosition(cid), 32) return false end exhaustion.set(cid, storage, waittime) local positionp = getPlayerPosition(cid) local target = getCreatureTarget(cid) local enemypos = getCreaturePosition(target) addEvent(onCastSpell1, 550, parameters) if target == isMonster or isCreature then addEvent(function() if not isCreature(cid) then return LUA_ERROR end doTeleportThing(cid, enemypos) end, 500) addEvent(doSendMagicEffect, 500, {x = enemypos.x, y = enemypos.y+1, z = enemypos.z}, 311) addEvent(doSendMagicEffect, 10, {x = positionp.x, y = positionp.y+1, z = positionp.z}, 312) end return true end
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.