• 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!

Spell doesn't target monster

DreadShi

Member
Joined
May 18, 2019
Messages
180
Reaction score
7
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
 
what error in console?
Error on casting the spell

Lua Script Error: [Spell Interface]
data/spells/scripts/energyballs.lua:eek:nCastSpell
LuaScriptInterface::luaAddEvent(). Argument #4 is unsafe
stack traceback:
[C]: in function 'addEvent'
data/spells/scripts/energyballs.lua:142: in function <data/spells/scripts/energyballs.lua:132>
 
Last edited:
Back
Top