• 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+ magic error help

isac001

New Member
Joined
May 15, 2018
Messages
23
Reaction score
0
bug:
Lua:
Lua Script Error: [Spell Interface]
data/spells/scripts/attack/genki dama.lua:onCastSpell
LuaScriptInterface::luaAddEvent(). Argument #3 is unsafe
stack traceback:
        [C]: in function 'addEvent'
        data/spells/scripts/attack/genki dama.lua:33: in function <data/spells/scripts/attack/genki dama.lua:31>


Script:
Code:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, 116)

function onGetFormulaValues(player, level, magicLevel)
    local min = (level / 10) + (magicLevel / 10) + 4
    local max = (level / 6) + (magicLevel / 6) + 6
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function castSpellEvent(creatureId, variant)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    combat:execute(creature, variant)
end

local function castSpellEvent2(creatureId)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    local position = creature:getPosition()
    local effectPosition = Position({x = position.x + 2, y = position.y + 2, z = position.z})
    effectPosition:sendMagicEffect(141)
end

function onCastSpell(creature, variant)
    addEvent(castSpellEvent, 0, creature:getId(), variant)
    addEvent(castSpellEvent2, 300, creature:getTarget())
    return true
end
 
Solution
bug:
Lua:
Lua Script Error: [Spell Interface]
data/spells/scripts/attack/genki dama.lua:onCastSpell
LuaScriptInterface::luaAddEvent(). Argument #3 is unsafe
stack traceback:
        [C]: in function 'addEvent'
        data/spells/scripts/attack/genki dama.lua:33: in function <data/spells/scripts/attack/genki dama.lua:31>


Script:
Code:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, 116)

function onGetFormulaValues(player, level, magicLevel)
    local min = (level / 10) + (magicLevel / 10) + 4
    local max = (level / 6) + (magicLevel / 6) + 6
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")...
bug:
Lua:
Lua Script Error: [Spell Interface]
data/spells/scripts/attack/genki dama.lua:onCastSpell
LuaScriptInterface::luaAddEvent(). Argument #3 is unsafe
stack traceback:
        [C]: in function 'addEvent'
        data/spells/scripts/attack/genki dama.lua:33: in function <data/spells/scripts/attack/genki dama.lua:31>


Script:
Code:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, 116)

function onGetFormulaValues(player, level, magicLevel)
    local min = (level / 10) + (magicLevel / 10) + 4
    local max = (level / 6) + (magicLevel / 6) + 6
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function castSpellEvent(creatureId, variant)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    combat:execute(creature, variant)
end

local function castSpellEvent2(creatureId)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    local position = creature:getPosition()
    local effectPosition = Position({x = position.x + 2, y = position.y + 2, z = position.z})
    effectPosition:sendMagicEffect(141)
end

function onCastSpell(creature, variant)
    addEvent(castSpellEvent, 0, creature:getId(), variant)
    addEvent(castSpellEvent2, 300, creature:getTarget())
    return true
end
change
Lua:
addEvent(castSpellEvent2, 300, creature:getTarget())
to
Lua:
addEvent(castSpellEvent2, 300, creature:getTarget():getId())
 
Solution
Back
Top