• 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+ bug in function, HELP !

klenio0

New Member
Joined
May 10, 2010
Messages
85
Reaction score
1
Error:
Code:
Lua Script Error: [CreatureScript Interface] 
data/creaturescripts/scripts/rewardChest/RewardBossFix.lua:onLogout
data/creaturescripts/scripts/rewardChest/RewardBossFix.lua:18: bad argument #1 to 'remove' (position out of bounds)
stack traceback:
    [C]: in ?
    [C]: in function 'remove'
    data/creaturescripts/scripts/rewardChest/RewardBossFix.lua:18: in function <data/creaturescripts/scripts/rewardChest/RewardBossFix.lua:16>

RewardBossFix.lua
Code:
function onLogin(player)
    player:registerEvent("RewardBossFixLogout")
    player:registerEvent("RewardBossFixDeath")
    return true
end

function onLogout(player)
    for k, v in pairs(globalBosses) do
        table.remove(globalBosses[k], player:getGuid())
    end
    return true
end

function onDeath(player, corpse, killer, mostDamageKiller, lastHitUnjustified, mostDamageUnjustified)
    for k, v in pairs(globalBosses) do
        table.remove(globalBosses[k], player:getGuid())
    end
    return true
end
 
Lua:
function table.getIndex(t, v)
    for index, value in ipairs(t) do
        if v == value then
            return index
        end
    end
    return nil
end

function onLogin(player)
    player:registerEvent("RewardBossFixLogout")
    player:registerEvent("RewardBossFixDeath")
    return true
end

function onLogout(player)
    for k, v in pairs(globalBosses) do
        local t_value = table.getIndex(globalBosses[k], player:getGuid())
        if t_value then
            table.remove(globalBosses[k], t_value)
        end
    end
    return true
end

function onDeath(player, corpse, killer, mostDamageKiller, lastHitUnjustified, mostDamageUnjustified)
    for k, v in pairs(globalBosses) do
        local t_value = table.getIndex(globalBosses[k], player:getGuid())
        if t_value then
            table.remove(globalBosses[k], t_value)
        end
    end
    return true
end
 
Back
Top