Tava colocando esta Spell no meu server, depois ao testar apareceu alguns bug, ao dar logout da erro na distro e quando o player solta a magia e morre tambem da erro na distro.
Peço ajuda de quem entende, aprendendo aos poucos.
A só para lembrar o erro na distro é sempre doAreaCombatHealth, ja retirei param.cid funciona so que não reconhece o player que esta soltando a magia.
Segue a magia abaixo:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, true) arr = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function spellCallback(param) local form = 100 if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_MORTAREA) doAreaCombatHealth(param.cid, COMBAT_DEATHDAMAGE, param.pos, 0, -(((form*getPlayerLevel(param.cid)/2)*getPlayerMagLevel(param.cid))/20)/2, -(((form*getPlayerLevel(param.cid)/2)*getPlayerMagLevel(param.cid))/20), CONST_ME_EXPLOSIONHIT) end if(param.count < 5) then param.count = param.count + 1 addEvent(spellCallback, math.random(1000, 3000), param) end end function onCastSpell(cid, var) doPlayerSetPzLocked(cid) return doCombat(cid, combat, var) end function onTargetTile(cid, pos) local param = {} param.cid = cid param.pos = pos param.count = 0 spellCallback(param) end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) doSetCreatureOutfit(cid,{lookType = 290, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons}, 18 * 1000) return doCombat(cid, combat, var) end