Bem, eu peguei a magia Apocalypse, que vem no Slayer Yurots e dupliquei, mudei a área dos efeitos e o tipo de dano e animação, vou mostrar.
A original (Apocalypse):
local combat = createCombatObject() 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) if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_HITBYFIRE) doAreaCombatHealth(param.cid, COMBAT_FIREDAMAGE, param.pos, 0, -100, -100, CONST_ME_EXPLOSIONHIT) end if(param.count < 5) then param.count = param.count + 1 addEvent(spellCallback, math.random(1000, 4000), param) end 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) return doCombat(cid, combat, var) end
E a outra a única coisa que alterei foi aquilo citado acima, olhem:
local combat = createCombatObject() 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) if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_GIANTICE) doAreaCombatHealth(param.cid, COMBAT_ICEDAMAGE, param.pos, 0, -100, -100, CONST_ME_ICEAREA) end if(param.count < 5) then param.count = param.count + 1 addEvent(spellCallback, math.random(1000, 4000), param) end 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) return doCombat(cid, combat, var) end
E deixei assim no spells.xml:
<instant name="Ice Time" words="exevo gran mas gelidus" lvl="100" mana="1000" prem="1" selftarget="1" exhaustion="1200" aggressive="1" script="attack/icerage.lua"> <vocation name="Elder Druid"/> </instant> <instant name="Fire Strike" words="exevo gran mas ignis" lvl="100" mana="1000" prem="1" selftarget="1" exhaustion="1200" aggressive="1" script="attack/armagedon.lua"> <vocation name="Master Sorcerer"/> </instant>
PS: Mudei o nome da apocalypse.lua para armagedon.lua
Ok, iniciei o server não dá erro nenhum, ai eu uso a magia de fogo, sai fogo, quando eu uso a de gelo também sai fogo. Não sei tenho que mudar os combat e por combat1. E não, eu não coloquei as duas no mesmo script.
Quem puder me ajudar serei grato.