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

TFS 0.X Spells bugs

Varianek

New Member
Joined
Nov 4, 2020
Messages
16
Reaction score
2
Hi, I'm using SpellCreator to new spells. Spells work nice in ots but I have logs in tfs 0.4 tibia 8.60. Why? Where is the problem?

Lua:
[12:34:32.632] [Error - Spell Interface]
[12:34:32.642] data/spells/scripts/attack/test1.lua
[12:34:32.642] Description:
[12:34:32.642] (luaSetCombatCondition) Condition not found

[12:34:32.642] [Error - Spell Interface]
[12:34:32.642] data/spells/scripts/attack/test1.lua
[12:34:32.642] Description:
[12:34:32.642] (luaCreateConditionObject) Condition not found

[12:34:32.622] [Error - Spell Interface]
[12:34:32.622] data/spells/scripts/attack/test2.lua
[12:34:32.622] Description:
[12:34:32.622] (luaCreateConditionObject) Condition not found

[12:34:32.622] [Error - Spell Interface]
[12:34:32.622] data/spells/scripts/attack/test2.lua
[12:34:32.622] Description:
[12:34:32.622] (luaSetCombatCondition) Condition not found

Lua:
-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 0, 1, 2, 1, 0, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat0_Brush = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY+CONDITION_LIGHT)
addDamageCondition(con___combat0_Brush, 3, 1000, -1000)
setCombatCondition(combat0_Brush, con___combat0_Brush)
local dfcombat0_Brush = {CONST_ANI_ENERGY,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,2,-1,2,-1,-2,1,-2,-2,-1,-2,1,2,1,2,-1,3,0,-3,0,0,3,0,-3}local combat0_Brush_2 = createCombatObject()
setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_SOUND_BLUE)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatArea(combat0_Brush_2,createCombatArea({{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 2, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush_2(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

local con___combat0_Brush_2 = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY)
setCombatCondition(combat0_Brush_2, con___combat0_Brush_2)
local dfcombat0_Brush_2 = {CONST_ANI_LARGEROCK,0,2,-2,0,0,-2,2,0}

-- Areas/Combat for 200ms
local combat2_Brush = createCombatObject()
setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat2_Brush,createCombatArea({{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 3, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat2_Brush = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY+CONDITION_LIGHT)
addDamageCondition(con___combat2_Brush, 3, 1000, -1000)
setCombatCondition(combat2_Brush, con___combat2_Brush)
local dfcombat2_Brush = {CONST_ANI_ENERGY,-2,0,0,-2,2,0,0,2,0,0}

-- Areas/Combat for 300ms
local combat3_Brush_2 = createCombatObject()
setCombatParam(combat3_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_SOUND_BLUE)
setCombatParam(combat3_Brush_2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatArea(combat3_Brush_2,createCombatArea({{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 2, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush_2(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat3_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

local con___combat3_Brush_2 = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY)
setCombatCondition(combat3_Brush_2, con___combat3_Brush_2)
local dfcombat3_Brush_2 = {CONST_ANI_LARGEROCK,2,0,0,2,-2,0,0,-2}

-- =============== 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)
    RunPart(combat0_Brush_2,cid,var,dfcombat0_Brush_2,startPos)
    addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos)
    addEvent(RunPart,300,combat3_Brush_2,cid,var,dfcombat3_Brush_2,startPos)
    return true
end
Lua:
-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_STONES)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 0, 1, 2, 1, 0, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat0_Brush = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY+CONDITION_LIGHT)
addDamageCondition(con___combat0_Brush, 3, 1000, -1000)
setCombatCondition(combat0_Brush, con___combat0_Brush)local combat0_Brush_2 = createCombatObject()
setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_POFF)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatArea(combat0_Brush_2,createCombatArea({{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 2, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush_2(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

local con___combat0_Brush_2 = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY)
setCombatCondition(combat0_Brush_2, con___combat0_Brush_2)
local dfcombat0_Brush_2 = {CONST_ANI_LARGEROCK,0,2,-2,0,0,-2,2,0}

-- Areas/Combat for 200ms
local combat2_Brush = createCombatObject()
setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_STONES)
setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatArea(combat2_Brush,createCombatArea({{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 3, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat2_Brush = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY+CONDITION_LIGHT)
addDamageCondition(con___combat2_Brush, 3, 1000, -1000)
setCombatCondition(combat2_Brush, con___combat2_Brush)

-- Areas/Combat for 300ms
local combat3_Brush_2 = createCombatObject()
setCombatParam(combat3_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_POFF)
setCombatParam(combat3_Brush_2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatArea(combat3_Brush_2,createCombatArea({{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 2, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush_2(cid, level, maglevel)
    return (1000)*-1,(2000)*-1
end
setCombatCallback(combat3_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

local con___combat3_Brush_2 = createConditionObject(0+CONDITION_POISON+CONDITION_FIRE+CONDITION_ENERGY)
setCombatCondition(combat3_Brush_2, con___combat3_Brush_2)
local dfcombat3_Brush_2 = {CONST_ANI_LARGEROCK,2,0,0,2,-2,0,0,-2}

-- =============== 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)
    RunPart(combat0_Brush_2,cid,var,dfcombat0_Brush_2,startPos)
    addEvent(RunPart,200,combat2_Brush,cid,var)
    addEvent(RunPart,300,combat3_Brush_2,cid,var,dfcombat3_Brush_2,startPos)
    return true
end
 
Back
Top