Fala, galera!
Aqui estou eu, Oneshot, de volta à minha primeira casa.
E para comemorar programei essa magia aqui que dei o nome de Meteor Rain.
Uma magia baseada no "famoso" servidor alternativo Kingdom Age, bem legal que causa muitos hits. Considero ela apelativa e não recomendo para servidores de multiplicadores altos.
-
Crie um arquivo chamado meteor rain.lua na sua pasta \data\spells\scripts. Insira este conteúdo nele.
local spellConfig = { {effect = CONST_ME_FIREATTACK, area = createCombatArea({ {1, 0, 1}, {0, 2, 0}, {0, 1, 0}}) }, {effect = CONST_ME_FIREAREA, area = createCombatArea({ {0, 1, 0, 0, 0}, {1, 0, 0, 1, 0}, {0, 0, 2, 0, 0}, {0, 0, 1, 0, 1}, {1, 0, 0, 1, 0}}) }, {effect = CONST_ME_FIREATTACK, area = createCombatArea({ {0, 0, 1, 0, 1}, {1, 0, 0, 0, 1}, {0, 0, 2, 1, 0}, {0, 1, 0, 0, 1}, {1, 0, 1, 0, 0}}) }, {effect = CONST_ME_HITBYFIRE, area = createCombatArea({ {0, 0, 1, 0, 1}, {1, 0, 0, 0, 1}, {0, 0, 2, 1, 0}, {0, 1, 0, 0, 1}, {1, 0, 1, 0, 0}}) }, {effect = CONST_ME_FIREAREA, area = createCombatArea({ {0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 1}, {0, 0, 1, 2, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 1}, {0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0}}) }, {effect = CONST_ME_HITBYFIRE, area = createCombatArea({ {0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 2, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 0}}) }, {effect = CONST_ME_FIREAREA, area = createCombatArea({ {0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 2, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 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, CONST_ANI_FIRE) end setCombatCallback(combats[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatParam(combats[k], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) 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
-
Insira essa tag no seu documento spells.xml localizado em \data\spells.
<instant name="Meteor Rain" words="meteor rain" lvl="80" mana="860" prem="1" exhaustion="2000" needlearn="0" event="script" value="meteor rain.lua"/>
Sinta-se livre para editar as vocações da magia.
Agora é só aproveitar-la

Abraços.