• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Multi Shot Spell

Trader

New Member
Joined
Aug 12, 2009
Messages
219
Reaction score
2
Hello,
How can I make a spell like "Exori Vis" except it shoots more than 1 time

When you say it once, It will shoot 10 exori vis shots at the target

Code:
local combat1 = createCombatObject()
	setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
	setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
        setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
	setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat2 = createCombatObject()
	setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
	setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
        setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
	setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat3 = createCombatObject()
	setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
	setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
        setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
	setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat4 = createCombatObject()
	setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
	setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
        setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
	setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat5 = createCombatObject()
	setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
	setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
        setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
	setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat6 = createCombatObject()
	setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
	setCombatParam(combat6, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
        setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
	setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -1.5, -100)

local combat7 = createCombatObject()
	setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
	setCombatParam(combat7, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
        setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
	setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -1.5, -100)

local combat8 = createCombatObject()
	setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
	setCombatParam(combat8, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
        setCombatParam(combat8, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
	setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -1.5, -100)

local combat9 = createCombatObject()
	setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
	setCombatParam(combat9, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
        setCombatParam(combat9, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
	setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat10 = createCombatObject()
	setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
	setCombatParam(combat10, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
        setCombatParam(combat10, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
	setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat11 = createCombatObject()
	setCombatParam(combat11, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
	setCombatParam(combat11, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
        setCombatParam(combat11, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
	setCombatFormula(combat11, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat12 = createCombatObject()
	setCombatParam(combat12, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
	setCombatParam(combat12, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
        setCombatParam(combat12, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
	setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat13 = createCombatObject()
	setCombatParam(combat13, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
	setCombatParam(combat13, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
        setCombatParam(combat13, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
	setCombatFormula(combat13, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -2.0, -100)

local combat14 = createCombatObject()
	setCombatParam(combat14, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
	setCombatParam(combat14, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
        setCombatParam(combat14, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
	setCombatFormula(combat14, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -1.5, -100)

local combat15 = createCombatObject()
	setCombatParam(combat15, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
	setCombatParam(combat15, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
        setCombatParam(combat15, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
	setCombatFormula(combat15, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -1.5, -100)

local combat16 = createCombatObject()
	setCombatParam(combat16, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
	setCombatParam(combat16, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
        setCombatParam(combat16, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
	setCombatFormula(combat16, COMBAT_FORMULA_LEVELMAGIC, -1.0, -50, -1.5, -100)


setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
setCombatArea(combat6, area6)
setCombatArea(combat7, area7)
setCombatArea(combat8, area8)
setCombatArea(combat9, area0)
setCombatArea(combat10, area10)
setCombatArea(combat11, area11)
setCombatArea(combat12, area12)
setCombatArea(combat13, area13)
setCombatArea(combat14, area14)
setCombatArea(combat15, area15)
setCombatArea(combat16, area16)


local function onCastSpell1(parameters)
	doCombat(parameters.cid, combat1, parameters.var)
end

local function onCastSpell2(parameters)
	doCombat(parameters.cid, combat2, parameters.var)
end

local function onCastSpell3(parameters)
	doCombat(parameters.cid, combat3, parameters.var)
end

local function onCastSpell4(parameters)
	doCombat(parameters.cid, combat4, parameters.var)
end

local function onCastSpell5(parameters)
	doCombat(parameters.cid, combat5, parameters.var)
end

local function onCastSpell6(parameters)
	doCombat(parameters.cid, combat6, parameters.var)
end

local function onCastSpell7(parameters)
	doCombat(parameters.cid, combat7, parameters.var)
end

local function onCastSpell8(parameters)
	doCombat(parameters.cid, combat8, parameters.var)
end

local function onCastSpell9(parameters)
	doCombat(parameters.cid, combat9, parameters.var)
end

local function onCastSpell10(parameters)
	doCombat(parameters.cid, combat10, parameters.var)
end

local function onCastSpell11(parameters)
	doCombat(parameters.cid, combat11, parameters.var)
end

local function onCastSpell12(parameters)
	doCombat(parameters.cid, combat12, parameters.var)
end

local function onCastSpell13(parameters)
	doCombat(parameters.cid, combat13, parameters.var)
end

local function onCastSpell14(parameters)
	doCombat(parameters.cid, combat14, parameters.var)
end

local function onCastSpell15(parameters)
	doCombat(parameters.cid, combat15, parameters.var)
end

local function onCastSpell16(parameters)
	doCombat(parameters.cid, combat16, 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, combat7 = combat7, combat8 = combat8, combat9 = combat9, combat10 = combat10, combat11 = combat11, combat12 = combat12, combat13 = combat13, combat14 = combat14, combat15 = combat15, combat16 = combat16 } 
	addEvent(onCastSpell1, 1, parameters)
	addEvent(onCastSpell2, 125, parameters)
	addEvent(onCastSpell3, 250, parameters)
	addEvent(onCastSpell4, 375, parameters)
	addEvent(onCastSpell5, 500, parameters)
	addEvent(onCastSpell6, 650, parameters)
	addEvent(onCastSpell7, 800, parameters)
	addEvent(onCastSpell8, 820, parameters)
	addEvent(onCastSpell9, 900, parameters)
	addEvent(onCastSpell10, 950, parameters)
	addEvent(onCastSpell11, 1100, parameters)
	addEvent(onCastSpell12, 1250, parameters)
	addEvent(onCastSpell13, 1400, parameters)
	addEvent(onCastSpell14, 1550, parameters)
	addEvent(onCastSpell15, 1700, parameters)
	addEvent(onCastSpell16, 1850, parameters)
		return true
end

I found this spell, but it doesn't work properly. Instead of shooting the target, it shoots yourself 16 times

I will add rep+
 
Its not the spell file.

Its the XML file, Post it or change the lines youre self ;).
Regards
Wibbenz
 
Back
Top