Fala galera, eu to com 2 scripts d spells aki, os dois dao varios ataques com um msm cast, o primeiro qdo vc anda a area do dano anda com vc, ja o segundo n, e eu n faço ideia pq, ja mexi em tudo
1° Spell
local spellConfig = { {effect = 28, area = createCombatArea({ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}}) }, {effect = 29, area = createCombatArea({ {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}}) }, {effect = 30, area = createCombatArea({ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}}) }, {effect = 28, area = createCombatArea({ {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}}) }, {effect = 29, area = createCombatArea({ {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}}) }, {effect = 30, area = createCombatArea({ {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}}) }, {effect = 28, area = createCombatArea({ {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}}) }, {effect = 29, area = createCombatArea({ {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}}) }, {effect = 30, area = createCombatArea({ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}}) }, {effect = 28, area = createCombatArea({ {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 0, 1, 1}, {1, 1, 1, 0, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}}) }, {effect = 29, area = createCombatArea({ {0, 1, 0, 1, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0}, {1, 0, 1, 0, 1, 0, 1}, {1, 0, 0, 2, 1, 0, 0}, {0, 0, 1, 0, 0, 1, 0}, {1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 1}}) }, {effect = 34, area = createCombatArea({ {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 0, 1, 1}, {1, 1, 1, 0, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}}) } } local combats = {} for k, config in ipairs(spellConfig) do combats[k] = createCombatObject() onTargetTile = function(cid, pos) local basePos = getThingPosition(cid) local fromPos = {x=basePos.x-6, y=basePos.y-8, z=basePos.z} doSendDistanceShoot(fromPos, pos, 37) end setCombatCallback(combats[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatParam(combats[k], COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combats[k], COMBAT_PARAM_EFFECT, config.effect) setCombatFormula(combats[k], COMBAT_FORMULA_LEVELMAGIC, -0.593, -50, -0.929, -100) setCombatArea(combats[k], config.area) end local function castingSpellTime(p) if(isCreature(p[1]) == TRUE) then doCombat(unpack(p)) end end function onCastSpell(cid, var) for k, combat in ipairs(combats) do addEvent(castingSpellTime, (250*k), {cid, combat, var}) end return true end
2º Spell
local spellConfig = { {effect = 255, area = createCombatArea({ {1, 0, 0}, {0, 3, 0}, {0, 0, 1}}) }, {effect = 255, area = createCombatArea({ {0, 1, 0}, {0, 3, 0}, {0, 1, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 1}, {0, 3, 0}, {1, 0, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 0}, {1, 3, 1}, {0, 0, 0}}) }, {effect = 255, area = createCombatArea({ {1, 0, 0}, {0, 3, 0}, {0, 0, 1}}) }, {effect = 255, area = createCombatArea({ {0, 1, 0}, {0, 3, 0}, {0, 1, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 1}, {0, 3, 0}, {1, 0, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 0}, {1, 3, 1}, {0, 0, 0}}) }, {effect = 255, area = createCombatArea({ {1, 0, 0}, {0, 3, 0}, {0, 0, 1}}) }, {effect = 255, area = createCombatArea({ {0, 1, 0}, {0, 3, 0}, {0, 1, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 1}, {0, 3, 0}, {1, 0, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 0}, {1, 3, 1}, {0, 0, 0}}) }, {effect = 255, area = createCombatArea({ {1, 0, 0}, {0, 3, 0}, {0, 0, 1}}) }, {effect = 255, area = createCombatArea({ {0, 1, 0}, {0, 3, 0}, {0, 1, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 1}, {0, 3, 0}, {1, 0, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 0}, {1, 3, 1}, {0, 0, 0}}) }, {effect = 255, area = createCombatArea({ {1, 0, 0}, {0, 3, 0}, {0, 0, 1}}) }, {effect = 255, area = createCombatArea({ {0, 1, 0}, {0, 3, 0}, {0, 1, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 1}, {0, 3, 0}, {1, 0, 0}}) }, {effect = 255, area = createCombatArea({ {0, 0, 0}, {1, 3, 1}, {0, 0, 0}}) } } local combats = {} for k, config in ipairs(spellConfig) do combats[k] = createCombatObject() onTargetTile = function(cid, pos) local basePos = getCreaturePosition(cid) doSendDistanceShoot(basePos, pos, 24) end setCombatCallback(combats[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatParam(combats[k], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats[k], COMBAT_PARAM_EFFECT, config.effect) setCombatFormula(combats[k], COMBAT_FORMULA_SKILL, 0.6, -100, 1.2, -90) setCombatArea(combats[k], config.area) end local function castingSpellTime(p) if(isCreature(p[1]) == TRUE) then doCombat(unpack(p)) end end function onCastSpell(cid, var) for k, combat in ipairs(combats) do addEvent(castingSpellTime, (250*k), {cid, combat, var}) end return true end
BUG ! PODE FECHA O TOPICO