-- SpellCreator generated.
-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatArea(combat0_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (20),(30)
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat0_Brush = {CONST_ANI_HOLY,0,0}
-- Areas/Combat for 1000ms
local combat10_Brush = createCombatObject()
setCombatParam(combat10_Brush, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat10_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatParam(combat10_Brush, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatArea(combat10_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (20),(30)
end
setCombatCallback(combat10_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat10_Brush = {CONST_ANI_HOLY,0,0}
-- Areas/Combat for 2000ms
local combat20_Brush = createCombatObject()
setCombatParam(combat20_Brush, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat20_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatParam(combat20_Brush, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatArea(combat20_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (20),(30)
end
setCombatCallback(combat20_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat20_Brush = {CONST_ANI_HOLY,0,0}
-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end
function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
addEvent(RunPart,1000,combat10_Brush,cid,var,dfcombat10_Brush,startPos)
addEvent(RunPart,2000,combat20_Brush,cid,var,dfcombat20_Brush,startPos)
return true
end
Yo there! I wouldn't be bothering here if I really didn't need it, but I am impressed with your software! It works great! I don't understand very much Conditions but its great. Anyway, I got a problem when making a healing spell, it heals monsters but not players, I'm trying to make a spell that heals people but it doesn't.
View attachment 17435
Code:
This spell is suposed to shoot 3 times a healing spell on a sio" player and it does that but does not heal, got another one configuring the same but looking like exura gran mas res and only heals WILD and Summoned monsters, no player neither others.
Where do I have the bug? Been changing the spell for damn 3 hours! And tested more than 20 combinations and no way! Please
- - - Updated - - -
I don't know why I cannot EDIT post, it does not allow me, by the way, I've also put HEALING instead of Holy Damage...
- - - Updated - - -
Okey edited, but cannot delete things... Awww
Ofcourse I've done that unticking Agressive, but stills making effect only on mobs.
- - - Updated - - -
Spell created from 0 again and tested, and made a video for you to check it out
spells - YouTube
-- SpellCreator generated.
-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_skeleton_rune_1 = createCombatObject()
setCombatParam(combat0_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat0_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat0_skeleton_rune_1,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 3, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
setCombatFormula(combat0_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat0_skeleton_rune_1 = {CONST_ANI_FIRE,0,3,1,2,2,1,3,0,2,-1,1,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,0,2,-1,1,-2,0,-1,-1,-1,0,0,-1,0,-2,1,-1,2,0,1,0,1,1,0,1,0,0}
-- Areas/Combat for 300ms
local combat3_skeleton_rune_1 = createCombatObject()
setCombatParam(combat3_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat3_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat3_skeleton_rune_1,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 3, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
setCombatFormula(combat3_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat3_skeleton_rune_1 = {CONST_ANI_FIRE,0,3,1,2,2,1,3,0,2,-1,1,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,0,0}
-- Areas/Combat for 500ms
local combat5_skeleton_rune_1 = createCombatObject()
setCombatParam(combat5_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat5_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat5_skeleton_rune_1,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{1, 1, 3, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}}))
setCombatFormula(combat5_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat5_skeleton_rune_1 = {CONST_ANI_FIRE,0,2,0,1,1,1,1,0,2,0,1,-1,0,-1,0,-2,-1,-1,-1,0,-2,0,-1,1,0,0}
-- Areas/Combat for 900ms
local combat9_skeleton_rune_2 = createCombatObject()
setCombatParam(combat9_skeleton_rune_2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat9_skeleton_rune_2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat9_skeleton_rune_2,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{1, 1, 2, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}}))
setCombatFormula(combat9_skeleton_rune_2, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)local combat9_skeleton_rune_1 = createCombatObject()
setCombatParam(combat9_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat9_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat9_skeleton_rune_1,createCombatArea({{3}}))
setCombatFormula(combat9_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat9_skeleton_rune_1 = {CONST_ANI_FIRE,0,0}
-- Areas/Combat for 1100ms
local combat11_skeleton_rune_1 = createCombatObject()
setCombatParam(combat11_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat11_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat11_skeleton_rune_1,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
setCombatFormula(combat11_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat11_skeleton_rune_1 = {CONST_ANI_FIRE,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1}local combat11_skeleton_rune_2 = createCombatObject()
setCombatParam(combat11_skeleton_rune_2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat11_skeleton_rune_2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat11_skeleton_rune_2,createCombatArea({{3}}))
setCombatFormula(combat11_skeleton_rune_2, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
-- Areas/Combat for 1600ms
local combat16_skeleton_rune_3 = createCombatObject()
setCombatParam(combat16_skeleton_rune_3, COMBAT_PARAM_EFFECT, CONST_ME_PURPLEENERGY)
setCombatParam(combat16_skeleton_rune_3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat16_skeleton_rune_3,createCombatArea({{0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 3, 1, 0, 0, 1},
{0, 1, 0, 1, 1, 1, 1, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 1, 0}}))
setCombatFormula(combat16_skeleton_rune_3, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
-- Areas/Combat for 2400ms
local combat24_skeleton_rune_3 = createCombatObject()
setCombatParam(combat24_skeleton_rune_3, COMBAT_PARAM_EFFECT, CONST_ME_PURPLEENERGY)
setCombatParam(combat24_skeleton_rune_3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat24_skeleton_rune_3,createCombatArea({{0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 2, 1, 0, 1, 0},
{1, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 1}}))
setCombatFormula(combat24_skeleton_rune_3, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
-- Areas/Combat for 2900ms
local combat29_skeleton_rune_4 = createCombatObject()
setCombatParam(combat29_skeleton_rune_4, COMBAT_PARAM_EFFECT, CONST_ME_YELLOWENERGY)
setCombatParam(combat29_skeleton_rune_4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat29_skeleton_rune_4,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
setCombatFormula(combat29_skeleton_rune_4, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat29_skeleton_rune_4 = {CONST_ANI_ENERGY,1,1,-1,1,-1,-1,1,-1,0,-1,0,1,1,0,-1,0}
-- Areas/Combat for 3100ms
local combat31_skeleton_rune_4 = createCombatObject()
setCombatParam(combat31_skeleton_rune_4, COMBAT_PARAM_EFFECT, CONST_ME_YELLOWENERGY)
setCombatParam(combat31_skeleton_rune_4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat31_skeleton_rune_4,createCombatArea({{3}}))
setCombatFormula(combat31_skeleton_rune_4, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat31_skeleton_rune_4 = {CONST_ANI_ENERGY,0,0}
-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end
function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
local startDir = getCreatureLookDirection(cid)
RunPart(combat0_skeleton_rune_1,cid,var,dfcombat0_skeleton_rune_1,startPos,startDir)
addEvent(RunPart,300,combat3_skeleton_rune_1,cid,var,dfcombat3_skeleton_rune_1,startPos,startDir)
addEvent(RunPart,500,combat5_skeleton_rune_1,cid,var,dfcombat5_skeleton_rune_1,startPos,startDir)
addEvent(RunPart,900,combat9_skeleton_rune_2,cid,var)
addEvent(RunPart,900,combat9_skeleton_rune_1,cid,var,dfcombat9_skeleton_rune_1,startPos,startDir)
addEvent(RunPart,1100,combat11_skeleton_rune_1,cid,var,dfcombat11_skeleton_rune_1,startPos,startDir)
addEvent(RunPart,1100,combat11_skeleton_rune_2,cid,var)
addEvent(RunPart,1600,combat16_skeleton_rune_3,cid,var)
addEvent(RunPart,2400,combat24_skeleton_rune_3,cid,var)
addEvent(RunPart,2900,combat29_skeleton_rune_4,cid,var,dfcombat29_skeleton_rune_4,startPos,startDir)
addEvent(RunPart,3100,combat31_skeleton_rune_4,cid,var,dfcombat31_skeleton_rune_4,startPos,startDir)
return true
end
local startPos = getCreaturePosition(cid)
if (variantToNumber(var) == 0) return true; end
local startPos = variantToPosition(var);
if (variantToNumber(var) == 0) return true; end
local startPos = variantToPosition(var);
function onCastSpell(cid, var)
local target = variantToNumber(var)
if (variantToNumber(var) == 0) return true; end
local startPos = variantToPosition(var);
RunPart(combat0_skeleton_rune_1,cid,var,dfcombat0_skeleton_rune_1,startPos, target)
addEvent(RunPart,300,combat3_skeleton_rune_1,cid,var,dfcombat3_skeleton_rune_1,startPos, target)
addEvent(RunPart,500,combat5_skeleton_rune_1,cid,var,dfcombat5_skeleton_rune_1,startPos, target)
addEvent(RunPart,900,combat9_skeleton_rune_2,cid,var)
addEvent(RunPart,900,combat9_skeleton_rune_1,cid,var,dfcombat9_skeleton_rune_1,startPos, target)
addEvent(RunPart,1100,combat11_skeleton_rune_1,cid,var,dfcombat11_skeleton_rune_1,startPos, target)
addEvent(RunPart,1100,combat11_skeleton_rune_2,cid,var)
addEvent(RunPart,1600,combat16_skeleton_rune_3,cid,var)
addEvent(RunPart,2400,combat24_skeleton_rune_3,cid,var)
addEvent(RunPart,2900,combat29_skeleton_rune_4,cid,var,dfcombat29_skeleton_rune_4,startPos, target)
addEvent(RunPart,3100,combat31_skeleton_rune_4,cid,var,dfcombat31_skeleton_rune_4,startPos, target)
return true
end
-- SpellCreator generated.
-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_skeleton_rune_1 = createCombatObject()
setCombatParam(combat0_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat0_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat0_skeleton_rune_1,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 3, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
setCombatFormula(combat0_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat0_skeleton_rune_1 = {CONST_ANI_FIRE,0,3,1,2,2,1,3,0,2,-1,1,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,0,2,-1,1,-2,0,-1,-1,-1,0,0,-1,0,-2,1,-1,2,0,1,0,1,1,0,1,0,0}
-- Areas/Combat for 300ms
local combat3_skeleton_rune_1 = createCombatObject()
setCombatParam(combat3_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat3_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat3_skeleton_rune_1,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 3, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
setCombatFormula(combat3_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat3_skeleton_rune_1 = {CONST_ANI_FIRE,0,3,1,2,2,1,3,0,2,-1,1,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,0,0}
-- Areas/Combat for 500ms
local combat5_skeleton_rune_1 = createCombatObject()
setCombatParam(combat5_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat5_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat5_skeleton_rune_1,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{1, 1, 3, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}}))
setCombatFormula(combat5_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat5_skeleton_rune_1 = {CONST_ANI_FIRE,0,2,0,1,1,1,1,0,2,0,1,-1,0,-1,0,-2,-1,-1,-1,0,-2,0,-1,1,0,0}
-- Areas/Combat for 900ms
local combat9_skeleton_rune_2 = createCombatObject()
setCombatParam(combat9_skeleton_rune_2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat9_skeleton_rune_2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat9_skeleton_rune_2,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{1, 1, 2, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}}))
setCombatFormula(combat9_skeleton_rune_2, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)local combat9_skeleton_rune_1 = createCombatObject()
setCombatParam(combat9_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat9_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat9_skeleton_rune_1,createCombatArea({{3}}))
setCombatFormula(combat9_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat9_skeleton_rune_1 = {CONST_ANI_FIRE,0,0}
-- Areas/Combat for 1100ms
local combat11_skeleton_rune_1 = createCombatObject()
setCombatParam(combat11_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat11_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat11_skeleton_rune_1,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
setCombatFormula(combat11_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat11_skeleton_rune_1 = {CONST_ANI_FIRE,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1}local combat11_skeleton_rune_2 = createCombatObject()
setCombatParam(combat11_skeleton_rune_2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat11_skeleton_rune_2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat11_skeleton_rune_2,createCombatArea({{3}}))
setCombatFormula(combat11_skeleton_rune_2, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
-- Areas/Combat for 1600ms
local combat16_skeleton_rune_3 = createCombatObject()
setCombatParam(combat16_skeleton_rune_3, COMBAT_PARAM_EFFECT, CONST_ME_PURPLEENERGY)
setCombatParam(combat16_skeleton_rune_3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat16_skeleton_rune_3,createCombatArea({{0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 3, 1, 0, 0, 1},
{0, 1, 0, 1, 1, 1, 1, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 1, 0}}))
setCombatFormula(combat16_skeleton_rune_3, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
-- Areas/Combat for 2400ms
local combat24_skeleton_rune_3 = createCombatObject()
setCombatParam(combat24_skeleton_rune_3, COMBAT_PARAM_EFFECT, CONST_ME_PURPLEENERGY)
setCombatParam(combat24_skeleton_rune_3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat24_skeleton_rune_3,createCombatArea({{0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 2, 1, 0, 1, 0},
{1, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 1}}))
setCombatFormula(combat24_skeleton_rune_3, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
-- Areas/Combat for 2900ms
local combat29_skeleton_rune_4 = createCombatObject()
setCombatParam(combat29_skeleton_rune_4, COMBAT_PARAM_EFFECT, CONST_ME_YELLOWENERGY)
setCombatParam(combat29_skeleton_rune_4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat29_skeleton_rune_4,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
setCombatFormula(combat29_skeleton_rune_4, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat29_skeleton_rune_4 = {CONST_ANI_ENERGY,1,1,-1,1,-1,-1,1,-1,0,-1,0,1,1,0,-1,0}
-- Areas/Combat for 3100ms
local combat31_skeleton_rune_4 = createCombatObject()
setCombatParam(combat31_skeleton_rune_4, COMBAT_PARAM_EFFECT, CONST_ME_YELLOWENERGY)
setCombatParam(combat31_skeleton_rune_4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat31_skeleton_rune_4,createCombatArea({{3}}))
setCombatFormula(combat31_skeleton_rune_4, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)
local dfcombat31_skeleton_rune_4 = {CONST_ANI_ENERGY,0,0}
-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
dirEmitPos = getCreaturePosition(cid)
if (dirList ~= nil) then -- Emit distance effects
dirEmitPos = getCreaturePosition(cid)
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end
function onCastSpell(cid, var)
local target = variantToNumber(var)
local startPos = variantToPosition(var)
RunPart(combat0_skeleton_rune_1,cid,var,dfcombat0_skeleton_rune_1,startPos, target)
addEvent(RunPart,300,combat3_skeleton_rune_1,cid,var,dfcombat3_skeleton_rune_1,startPos, target)
addEvent(RunPart,500,combat5_skeleton_rune_1,cid,var,dfcombat5_skeleton_rune_1,startPos, target)
addEvent(RunPart,900,combat9_skeleton_rune_2,cid,var)
addEvent(RunPart,900,combat9_skeleton_rune_1,cid,var,dfcombat9_skeleton_rune_1,startPos, target)
addEvent(RunPart,1100,combat11_skeleton_rune_1,cid,var,dfcombat11_skeleton_rune_1,startPos, target)
addEvent(RunPart,1100,combat11_skeleton_rune_2,cid,var)
addEvent(RunPart,1600,combat16_skeleton_rune_3,cid,var)
addEvent(RunPart,2400,combat24_skeleton_rune_3,cid,var)
addEvent(RunPart,2900,combat29_skeleton_rune_4,cid,var,dfcombat29_skeleton_rune_4,startPos, target)
addEvent(RunPart,3100,combat31_skeleton_rune_4,cid,var,dfcombat31_skeleton_rune_4,startPos, target)
return true
end
<rune name="Skeleton Fire Rune" id="2268" allowfaruse="1" charges="1" lvl="1000" maglv="4" exhaustion="3200" selftarget="1" event="script" value="skeleton rune.lua"/>
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
Alright then this is it !
Code:-- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_skeleton_rune_1 = createCombatObject() setCombatParam(combat0_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat0_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat0_skeleton_rune_1,createCombatArea({{0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 3, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}})) setCombatFormula(combat0_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat0_skeleton_rune_1 = {CONST_ANI_FIRE,0,3,1,2,2,1,3,0,2,-1,1,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,0,2,-1,1,-2,0,-1,-1,-1,0,0,-1,0,-2,1,-1,2,0,1,0,1,1,0,1,0,0} -- Areas/Combat for 300ms local combat3_skeleton_rune_1 = createCombatObject() setCombatParam(combat3_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat3_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat3_skeleton_rune_1,createCombatArea({{0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0}, {1, 0, 0, 3, 0, 0, 1}, {0, 1, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}})) setCombatFormula(combat3_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat3_skeleton_rune_1 = {CONST_ANI_FIRE,0,3,1,2,2,1,3,0,2,-1,1,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,0,0} -- Areas/Combat for 500ms local combat5_skeleton_rune_1 = createCombatObject() setCombatParam(combat5_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat5_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat5_skeleton_rune_1,createCombatArea({{0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, {1, 1, 3, 1, 1}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0}})) setCombatFormula(combat5_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat5_skeleton_rune_1 = {CONST_ANI_FIRE,0,2,0,1,1,1,1,0,2,0,1,-1,0,-1,0,-2,-1,-1,-1,0,-2,0,-1,1,0,0} -- Areas/Combat for 900ms local combat9_skeleton_rune_2 = createCombatObject() setCombatParam(combat9_skeleton_rune_2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat9_skeleton_rune_2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat9_skeleton_rune_2,createCombatArea({{0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, {1, 1, 2, 1, 1}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0}})) setCombatFormula(combat9_skeleton_rune_2, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9)local combat9_skeleton_rune_1 = createCombatObject() setCombatParam(combat9_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat9_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat9_skeleton_rune_1,createCombatArea({{3}})) setCombatFormula(combat9_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat9_skeleton_rune_1 = {CONST_ANI_FIRE,0,0} -- Areas/Combat for 1100ms local combat11_skeleton_rune_1 = createCombatObject() setCombatParam(combat11_skeleton_rune_1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat11_skeleton_rune_1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat11_skeleton_rune_1,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) setCombatFormula(combat11_skeleton_rune_1, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat11_skeleton_rune_1 = {CONST_ANI_FIRE,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1}local combat11_skeleton_rune_2 = createCombatObject() setCombatParam(combat11_skeleton_rune_2, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat11_skeleton_rune_2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat11_skeleton_rune_2,createCombatArea({{3}})) setCombatFormula(combat11_skeleton_rune_2, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) -- Areas/Combat for 1600ms local combat16_skeleton_rune_3 = createCombatObject() setCombatParam(combat16_skeleton_rune_3, COMBAT_PARAM_EFFECT, CONST_ME_PURPLEENERGY) setCombatParam(combat16_skeleton_rune_3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat16_skeleton_rune_3,createCombatArea({{0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 3, 1, 0, 0, 1}, {0, 1, 0, 1, 1, 1, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 1, 0}})) setCombatFormula(combat16_skeleton_rune_3, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) -- Areas/Combat for 2400ms local combat24_skeleton_rune_3 = createCombatObject() setCombatParam(combat24_skeleton_rune_3, COMBAT_PARAM_EFFECT, CONST_ME_PURPLEENERGY) setCombatParam(combat24_skeleton_rune_3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat24_skeleton_rune_3,createCombatArea({{0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 2, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0, 1}})) setCombatFormula(combat24_skeleton_rune_3, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) -- Areas/Combat for 2900ms local combat29_skeleton_rune_4 = createCombatObject() setCombatParam(combat29_skeleton_rune_4, COMBAT_PARAM_EFFECT, CONST_ME_YELLOWENERGY) setCombatParam(combat29_skeleton_rune_4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat29_skeleton_rune_4,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) setCombatFormula(combat29_skeleton_rune_4, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat29_skeleton_rune_4 = {CONST_ANI_ENERGY,1,1,-1,1,-1,-1,1,-1,0,-1,0,1,1,0,-1,0} -- Areas/Combat for 3100ms local combat31_skeleton_rune_4 = createCombatObject() setCombatParam(combat31_skeleton_rune_4, COMBAT_PARAM_EFFECT, CONST_ME_YELLOWENERGY) setCombatParam(combat31_skeleton_rune_4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat31_skeleton_rune_4,createCombatArea({{3}})) setCombatFormula(combat31_skeleton_rune_4, COMBAT_FORMULA_LEVELMAGIC, -9, -9, -9, -9) local dfcombat31_skeleton_rune_4 = {CONST_ANI_ENERGY,0,0} -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) dirEmitPos = getCreaturePosition(cid) if (dirList ~= nil) then -- Emit distance effects dirEmitPos = getCreaturePosition(cid) local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local target = variantToNumber(var) local startPos = variantToPosition(var) RunPart(combat0_skeleton_rune_1,cid,var,dfcombat0_skeleton_rune_1,startPos, target) addEvent(RunPart,300,combat3_skeleton_rune_1,cid,var,dfcombat3_skeleton_rune_1,startPos, target) addEvent(RunPart,500,combat5_skeleton_rune_1,cid,var,dfcombat5_skeleton_rune_1,startPos, target) addEvent(RunPart,900,combat9_skeleton_rune_2,cid,var) addEvent(RunPart,900,combat9_skeleton_rune_1,cid,var,dfcombat9_skeleton_rune_1,startPos, target) addEvent(RunPart,1100,combat11_skeleton_rune_1,cid,var,dfcombat11_skeleton_rune_1,startPos, target) addEvent(RunPart,1100,combat11_skeleton_rune_2,cid,var) addEvent(RunPart,1600,combat16_skeleton_rune_3,cid,var) addEvent(RunPart,2400,combat24_skeleton_rune_3,cid,var) addEvent(RunPart,2900,combat29_skeleton_rune_4,cid,var,dfcombat29_skeleton_rune_4,startPos, target) addEvent(RunPart,3100,combat31_skeleton_rune_4,cid,var,dfcombat31_skeleton_rune_4,startPos, target) return true end
And i got another question: if this rune can be used only by sorcerers and Master s. how i can do it ?
i put this on .xml but don't work D:
Code:<rune name="Skeleton Fire Rune" id="2268" allowfaruse="1" charges="1" lvl="1000" maglv="4" exhaustion="3200" selftarget="1" event="script" value="skeleton rune.lua"/> <vocation id="1"/> <vocation id="5" showInDescription="0"/>