As the title says, my question is on how to run more of an addEvent without returning error in the console.
I use script spells with more than one attack, and to effect right out on the target I get his pos, and, as expected, if the target dies before the spell finishes, it returns an error on the console.
This is a exemple of one spell I use:
Thank you in advance and sorry for my English.
I use script spells with more than one attack, and to effect right out on the target I get his pos, and, as expected, if the target dies before the spell finishes, it returns an error on the console.
This is a exemple of one spell I use:
Lua:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
min = -(level * 9 + maglevel * 12) * 1.5
max = -(level * 12 + maglevel * 15) * 2.5
return min, max
end
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
min = -(level * 9 + maglevel * 12) * 1.5
max = -(level * 12 + maglevel * 15) * 2.5
return min, max
end
setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
min = -(level * 9 + maglevel * 12) * 1.5
max = -(level * 12 + maglevel * 15) * 2.5
return min, max
end
setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
min = -(level * 9 + maglevel * 12) * 1.5
max = -(level * 12 + maglevel * 15) * 2.5
return min, max
end
setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
min = -(level * 9 + maglevel * 12) * 1.5
max = -(level * 12 + maglevel * 15) * 2.5
return min, max
end
setCombatCallback(combat5, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
min = -(level * 9 + maglevel * 12) * 1.5
max = -(level * 12 + maglevel * 15) * 2.5
return min, max
end
setCombatCallback(combat6, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local function onCastSpell1(cid, var)
local fromPos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position = {x=monsterpos.x+1, y=monsterpos.y+1, z=monsterpos.z}
doSendDistanceShoot(fromPos, position, 9)
doSendMagicEffect(position, 15)
return doCombat(cid, combat1, var)
end
local function onCastSpell2(cid, var)
local fromPos1 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position1 = {x=monsterpos.x, y=monsterpos.y+1, z=monsterpos.z}
doSendDistanceShoot(fromPos1, position1, 9)
doSendMagicEffect(position1, 15)
return doCombat(cid, combat2, var)
end
local function onCastSpell3(cid, var)
local fromPos2 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position2 = {x=monsterpos.x+1, y=monsterpos.y-1, z=monsterpos.z}
doSendDistanceShoot(fromPos2, position2, 9)
doSendMagicEffect(position2, 15)
return doCombat(cid, combat3, var)
end
local function onCastSpell4(cid, var)
local fromPos3 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position3 = {x=monsterpos.x+1, y=monsterpos.y, z=monsterpos.z}
doSendDistanceShoot(fromPos3, position3, 9)
doSendMagicEffect(position3, 15)
return doCombat(cid, combat4, var)
end
local function onCastSpell5(cid, var)
local fromPos4 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position4 = {x=monsterpos.x, y=monsterpos.y, z=monsterpos.z}
doSendDistanceShoot(fromPos4, position4, 9)
doSendMagicEffect(position4, 15)
return doCombat(cid, combat5, var)
end
local function onCastSpell6(cid, var)
local fromPos5 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position5 = {x=monsterpos.x, y=monsterpos.y, z=monsterpos.z}
doSendDistanceShoot(fromPos5, position5, 9)
doSendMagicEffect(position5, 15)
return doCombat(cid, combat6, var)
end
function onCastSpell(cid, var)
local waittime = 2
local storage = 5870
if exhaustion.check(cid, storage) then
return false
end
addEvent(onCastSpell1, 0, cid, var)
addEvent(onCastSpell2, 400, cid, var)
addEvent(onCastSpell3, 800, cid, var)
addEvent(onCastSpell4, 1200, cid, var)
addEvent(onCastSpell5, 1600, cid, var)
addEvent(onCastSpell6, 2000, cid, var)
exhaustion.set(cid, storage, waittime)
return true
end
Thank you in advance and sorry for my English.