Cytuj:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 1)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.5, -140, -1.6, -140)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.5, -140, -1.6, -140)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 11)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1.5, -140, -1.6, -140)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 9)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1.5, -140, -1.6, -140)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 8)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -1.5, -140, -1.6, -140)
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -1.5, -140, -1.6, -140)
arr1 = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
arr2 = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
arr3 = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
arr4 = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
arr5 = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
arr6 = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
local area6 = createCombatArea(arr6)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
setCombatArea(combat6, area6)
function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
function onCastSpell3(parameters)
doCombat(parameters.cid, parameters.combat3, parameters.var)
end
function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
function onCastSpell5(parameters)
doCombat(parameters.cid, parameters.combat5, parameters.var)
end
function onCastSpell6(parameters)
doCombat(parameters.cid, parameters.combat6, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, combat6 = combat6 }
addEvent(onCastSpell1, 0, parameters)
addEvent(onCastSpell2, 500, parameters)
addEvent(onCastSpell3, 1000, parameters)
addEvent(onCastSpell4, 1600, parameters)
addEvent(onCastSpell5, 2000, parameters)
addEvent(onCastSpell6, 2500, parameters)
end
Dużo roboty nie? A efekt marny.
Cytuj:
function ShortSpell(dmg,arr,effect,min1,min2,max1,max1)
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, dmg)
setCombatParam(combat, COMBAT_PARAM_EFFECT, effect)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, min1, min2, max1, max2)
local area = createCombatArea(arr)
setCombatArea(combat, area)
return combat
end
local function onCastSpellEx(parameters)
doCombat(parameters.cid, parameters.cmb, parameters.var)
end
arr = {
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0}
}
cmb1 = ShortSpell(COMBAT_PHYSICALDAMAGE,arr,1,-1.5,-140,-1,6,-140)
cmb2 = ShortSpell(COMBAT_PHYSICALDAMAGE,arr,17,-1.5,-140,-1,6,-140)
cmb3 = ShortSpell(COMBAT_PHYSICALDAMAGE,arr,11,-1.5,-140,-1,6,-140)
cmb4 = ShortSpell(COMBAT_PHYSICALDAMAGE,arr,9,-1.5,-140,-1,6,-140)
cmb5 = ShortSpell(COMBAT_PHYSICALDAMAGE,arr,8,-1.5,-140,-1,6,-140)
cmb6 = ShortSpell(COMBAT_PHYSICALDAMAGE,arr,5,-1.5,-140,-1,6,-140)
function onCastSpell(cid, var)
addEvent(onCastSpellEx, 1000, {cid = cid, var = var, cmb=cmb1})
addEvent(onCastSpellEx, 2000, {cid = cid, var = var, cmb=cmb2})
addEvent(onCastSpellEx, 3000, {cid = cid, var = var, cmb=cmb3})
addEvent(onCastSpellEx, 4000, {cid = cid, var = var, cmb=cmb4})
addEvent(onCastSpellEx, 5000, {cid = cid, var = var, cmb=cmb5})
addEvent(onCastSpellEx, 6000, {cid = cid, var = var, cmb=cmb6})
end
To samo, ale o ile krócej i łatwiej do edytowania ;)