• 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 1.X+ Spell not working HELP

Newani

New Member
Joined
Sep 11, 2024
Messages
6
Reaction score
0
Hello, I came here because I really need help with these 2 spells. I can't get it to work properly. I don't know what's wrong with this script. Please help me. I have TFS 1.2 (OTX Version 3.7+).
Here the spell 1 script>

LUA:
local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, 0)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREWORK_RED)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)



local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, 0)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREWORK_RED)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)



local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, 0)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_FIREWORK_RED)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)



local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)



local combat5 = createCombatObject()

setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)



local condition = createConditionObject(CONDITION_FIRE)

setConditionParam(condition, CONDITION_PARAM_TICKS, -10)

addDamageCondition(condition, 13, 2000, -145)

setCombatCondition(combat5, condition)



arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}



arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}



arr3 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}



arr4 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}



arr5 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},

{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}



local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

local area4 = createCombatArea(arr4)

local area5 = createCombatArea(arr5)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

setCombatArea(combat5, area5)



function onGetFormulaValues(player, level, maglevel, factor)

    local min = (level / 5) + (maglevel * 7) + 50

    local max = (level / 5) + (maglevel * 8.2) + 90

    return -min, -max

end



setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")



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



function onCastSpell(cid, var)

local parameters = { cid = cid, var = var}

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell3, 350, parameters)

addEvent(onCastSpell4, 450, parameters)

addEvent(onCastSpell5, 550, parameters)

return TRUE

end


and the spell number 2 script>

LUA:
local repeatAmount = 2

 

 

local deathFlamesArea = {

    createCombatArea({

        {0, 1, 0},

        {1, 2, 1},

        {0, 1, 0}

    }),

    createCombatArea({

        {0, 1, 1, 1, 0},

        {1, 1, 0, 1, 1},

        {1, 0, 2, 0, 1},

        {1, 1, 0, 1, 1},

        {0, 1, 1, 1, 0}

    }),

    createCombatArea({

        {0, 0, 1, 1, 1, 0, 0},

        {0, 1, 0, 0, 0, 1, 0},

        {1, 0, 0, 0, 0, 0, 1},

        {1, 0, 0, 2, 0, 0, 1},

        {1, 0, 0, 0, 0, 0, 1},

        {0, 1, 0, 0, 0, 1, 0},

        {0, 0, 1, 1, 1, 0, 0}

    })

 

}

 

local bigFlamesArea = createCombatArea({

    {0, 0, 1, 1, 1, 1, 1, 0, 0},

    {0, 1, 1, 0, 0, 0, 1, 1, 0},

    {1, 1, 0, 0, 0, 0, 0, 1, 1},

    {1, 0, 0, 0, 0, 0, 0, 0, 1},

    {1, 0, 0, 0, 2, 0, 0, 0, 1},

    {1, 0, 0, 0, 0, 0, 0, 0, 1},

    {1, 1, 0, 0, 0, 0, 0, 1, 1},

    {0, 1, 1, 0, 0, 0, 1, 1, 0},

    {0, 0, 1, 1, 1, 1, 1, 0, 0}

})

 

local deathFlames = {}

for k, area in ipairs(deathFlamesArea) do

    deathFlames[k] = createCombatObject()

    setCombatParam(deathFlames[k], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

    setCombatParam(deathFlames[k], COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)

    setCombatFormula(deathFlames[k], COMBAT_FORMULA_LEVELMAGIC, -1.9, -2.0, -2.1, -2.2)

 

    setCombatArea(deathFlames[k], area)

end

 

local bigFlames = createCombatObject()

setCombatParam(bigFlames, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(bigFlames, COMBAT_PARAM_EFFECT, 177)

setCombatFormula(bigFlames, COMBAT_FORMULA_LEVELMAGIC, -1.8, -1.9, -2.0, -2.1)

 

setCombatArea(bigFlames, bigFlamesArea)

 

function onTargetTile(cid, pos)

    doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)

end

setCombatCallback(bigFlames, CALLBACK_PARAM_TARGETTILE, "onTargetTile")



function onGetFormulaValues(player, level, maglevel, factor)

    local min = (level / 5) + (maglevel * 10) + 100

    local max = (level / 5) + (maglevel * 14.5) + 145

    return -min, -max

end



setCombatCallback(bigFlames, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

local function castSpellDelay(p)

    if(isCreature(p[1]) == TRUE) then

        doCombat(unpack(p))

    end

end

 

function onCastSpell(cid, var)

    for i = 0, repeatAmount - 1 do

        for k, combat in ipairs(deathFlames) do

            addEvent(castSpellDelay, (150 * k) + #deathFlames * 150 * i + 700 * i, {cid, combat, var})

        end

        addEvent(castSpellDelay, (150 * #deathFlames) + #deathFlames * 150 * i + 700 * i, {cid, bigFlames, var})

    end

 

    return LUA_NO_ERROR

end
 
Back
Top