i created a spell for my Tfs 1.3 it worked with error in console and noticed that it does not target monster or care about where i am looking to cast the spell in the looked area
Code:
-- SpellCreator generated.
-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{2},
{1}}))
function getDmg_Brush(cid, level, maglevel)
return (8000)*-1,(15000)*-1
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat0_Brush = {CONST_ANI_ENERGYBALL,0,1}
-- Areas/Combat for 100ms
local combat1_Brush = createCombatObject()
setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat1_Brush,createCombatArea({{2},
{1}}))
function getDmg_Brush(cid, level, maglevel)
return (8000)*-1,(15000)*-1
end
setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat1_Brush = {CONST_ANI_ENERGYBALL,0,1}
-- Areas/Combat for 200ms
local combat2_Brush = createCombatObject()
setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat2_Brush,createCombatArea({{0, 2, 0},
{1, 0, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (8000)*-1,(15000)*-1
end
setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat2_Brush = {CONST_ANI_ENERGYBALL,-1,1,1,1}
-- Areas/Combat for 300ms
local combat3_Brush = createCombatObject()
setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat3_Brush,createCombatArea({{0, 2, 0},
{1, 0, 1},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (8000)*-1,(15000)*-1
end
setCombatCallback(combat3_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat3_Brush = {CONST_ANI_ENERGYBALL,1,2,-1,1,1,1,0,2,-1,2}
-- Areas/Combat for 400ms
local combat4_Brush_2 = createCombatObject()
setCombatParam(combat4_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat4_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat4_Brush_2,createCombatArea({{0, 2, 0},
{1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (8000)*-1,(10000)*-1
end
setCombatCallback(combat4_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
local dfcombat4_Brush_2 = {CONST_ANI_FIRE,0,1,-1,1,1,1}local combat4_Brush = createCombatObject()
setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat4_Brush,createCombatArea({{0, 2, 0},
{0, 0, 0},
{1, 1, 1},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (8000)*-1,(15000)*-1
end
setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat4_Brush = {CONST_ANI_ENERGYBALL,1,2,0,2,-1,2,1,3,0,3,-1,3}
-- Areas/Combat for 500ms
local combat5_Brush_2 = createCombatObject()
setCombatParam(combat5_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat5_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat5_Brush_2,createCombatArea({{0, 2, 0},
{1, 1, 1},
{1, 1, 1},
{1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (8000)*-1,(10000)*-1
end
setCombatCallback(combat5_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
local dfcombat5_Brush_2 = {CONST_ANI_FIRE,1,1,-1,1,0,1,1,2,0,2,-1,2,1,3,0,3,-1,3}
-- Areas/Combat for 600ms
local combat6_Brush_2 = createCombatObject()
setCombatParam(combat6_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat6_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat6_Brush_2,createCombatArea({{0, 2, 0},
{1, 1, 1},
{1, 1, 1},
{1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (8000)*-1,(10000)*-1
end
setCombatCallback(combat6_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
local dfcombat6_Brush_2 = {CONST_ANI_FIRE,1,1,0,1,-1,1,1,2,0,2,-1,2,1,3,0,3,-1,3}
-- Areas/Combat for 700ms
local combat7_Brush_2 = createCombatObject()
setCombatParam(combat7_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat7_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat7_Brush_2,createCombatArea({{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (8000)*-1,(10000)*-1
end
setCombatCallback(combat7_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
local dfcombat7_Brush_2 = {CONST_ANI_FIRE,1,3,0,3,-1,3}
-- =============== 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)
RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
addEvent(RunPart,100,combat1_Brush,cid,var,dfcombat1_Brush,startPos)
addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos)
addEvent(RunPart,300,combat3_Brush,cid,var,dfcombat3_Brush,startPos)
addEvent(RunPart,400,combat4_Brush_2,cid,var,dfcombat4_Brush_2,startPos)
addEvent(RunPart,400,combat4_Brush,cid,var,dfcombat4_Brush,startPos)
addEvent(RunPart,500,combat5_Brush_2,cid,var,dfcombat5_Brush_2,startPos)
addEvent(RunPart,600,combat6_Brush_2,cid,var,dfcombat6_Brush_2,startPos)
addEvent(RunPart,700,combat7_Brush_2,cid,var,dfcombat7_Brush_2,startPos)
return true
end