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

Boss reward tfs 1.4 8.6 Nekiro downgrade

Nefre

Member
Joined
May 17, 2012
Messages
41
Reaction score
11
Hello. I have tfs 1.4 8.6 downgrade by Nekrio and I used this script for boss reward. Now the loot goes to player who do the most damage and to player who last hit boss. I want every player who dealt damage to get loot. Someone can help me?
Lua:
local config = {
    ["[Boss] Seedter"] = {
        loot = {{302,100,1},{2157,20,10},{8900,5,1},{5958,10,1},{2471,12,1},{6132,18,1}},
        message = "Congratulations for defeating [Boss] Curselich, Your reward is now in your backpack",
        BagId = 9774
    },
    ["[Boss] Taintstrike"] = {
        loot = {{302,100,2},{2157,20,20},{8902,5,1},{11240,6,1},{9999,12,1},{6132,18,1}},
        message = "Congratulations for defeating [Boss] Taintstrike, Your reward is now in your backpack",
        BagId = 9774
    },
    ["[Boss] Terrorfreak"] = {
        loot = {{302,100,3},{2157,20,30},{8904,5,1},{11304,6,1},{2349,10,1},{6132,18,1}},
        message = "Congratulations for defeating [Boss] Terrorfreak, Your reward is now in your backpack",
        BagId = 9774
    },
    ["[Boss] Vamphag"] = {
        loot = {{302,100,4},{2157,20,40},{8918,5,1},{11302,3,1},{7760,7,1},{7761,6,1},{6574,10,1},{8303,8,1}},
        message = "Congratulations for defeating [Boss] Vamphag, Your reward is now in your backpack",
        BagId = 9774
    },
    ["Lexor"] = {
        loot = {{2539,50,1}},
        message = "Congratulations for defeating Lexor, Your reward is now in your backpack",
        BagId = 10518
    },
    ["Cartpis"] = {
        loot = {{11400,100,1},{302,10,5}},
        message = "Congratulations for defeating Cartpis, Your reward is now in your backpack",
        BagId = 1998
    },
    ["Latryus"] = {
        loot = {{11400,100,1},{302,10,5}},
        message = "Congratulations for defeating Latryus, Your reward is now in your backpack",
        BagId = 1998
    },
    ["Palwosis"] = {
        loot = {{11400,100,1},{302,10,5}},
        message = "Congratulations for defeating Palwosis, Your reward is now in your backpack",
        BagId = 1998
    },
    ["Yatris"] = {
        loot = {{11400,100,1},{302,10,5}},
        message = "Congratulations for defeating Yatris, Your reward is now in your backpack",
        BagId = 1998
    },
    ["Zargotex"] = {
        loot = {{11400,100,1},{302,10,5}},
        message = "Congratulations for defeating Zargotex, Your reward is now in your backpack",
        BagId = 1998
    },
    ["Aspdex"] = {
        loot = {{2157,50,50},{2157,50,50},{302,10,5},{611,0.,1},{603,1,1},{607,1,1}},
        message = "Congratulations for defeating Aspdex, Your reward is now in your backpack",
        BagId = 5801
    },
    ["Farfit"] = {
        loot = {{2157,50,50},{2157,50,50},{302,10,5},{619,1,1},{615,1,1},{623,1,1}},
        message = "Congratulations for defeating Farfit, Your reward is now in your backpack",
        BagId = 5801
    },
    ["Qatro"] = {
        loot = {{2157,50,50},{2157,50,50},{302,10,5},{631,1,1},{627,1,1},{635,1,1}},
        message = "Congratulations for defeating Qatro, Your reward is now in your backpack",
        BagId = 5801
    },
    ["The Many"] = {
        loot = {{2157,100,50},{302,100,5},{7450,1,1},{7455,1,1},{7420,1,1},{7367,1,1},{7387,1,1},{7429,1,1},{11400,1,1}},
        message = "Congratulations for defeating The Many, Your reward is now in your backpack",
        BagId = 5926
    },
    ["Zulazza the Corruptor"] = {
        loot = {{2157,50,50},{302,10,5},{7450,1,1},{7455,1,1},{7420,1,1},{7367,1,1},{7387,1,1},{7429,1,1},{11400,1,1}},
        message = "Congratulations for defeating Zulazza the Corruptor, Your reward is now in your backpack",
        BagId = 5926
    }
}
--[[
["NameOfMonster"] = {
  loot = {{itemid,chance,count},{itemid,chance,count}},
  message = "Message produced when you kill the boss",
  BagId = dont need explanation
  }
]]
function onKill(player, target)
    if player:isPlayer() and target:isMonster() then
        local monster = config[Creature(target):getName()]      
        if monster then
            local bag = player:addItem(monster.BagId, 1)
            for i = 1,#monster.loot do
                if monster.loot[i][2] >= math.random(1,100) then
                    bag:addItem(monster.loot[i][1], monster.loot[i][3], INDEX_WHEREEVER, FLAG_NOLIMIT)
                end
            end
           
            player:sendTextMessage(22, monster.message)
        end
    end
    return true
end
 
Try
Lua:
function onKill(player, target)
    if player:isPlayer() and target:isMonster() then
        local monster = config[Creature(target):getName()]    
        if monster then
            for uid, _ in pairs(target:getDamageMap()) do
                local attacker = Player(uid)
                if attacker then
                    local bag = attacker:addItem(monster.BagId, 1)
                    for i = 1,#monster.loot do
                        if monster.loot[i][2] >= math.random(1,100) then
                            bag:addItem(monster.loot[i][1], monster.loot[i][3], INDEX_WHEREEVER, FLAG_NOLIMIT)
                        end
                    end
                    attacker:sendTextMessage(22, monster.message)
                end
            end
        end
    end
    return true
end
 
Try
Lua:
function onKill(player, target)
    if player:isPlayer() and target:isMonster() then
        local monster = config[Creature(target):getName()]
        if monster then
            for uid, _ in pairs(target:getDamageMap()) do
                local attacker = Player(uid)
                if attacker then
                    local bag = attacker:addItem(monster.BagId, 1)
                    for i = 1,#monster.loot do
                        if monster.loot[i][2] >= math.random(1,100) then
                            bag:addItem(monster.loot[i][1], monster.loot[i][3], INDEX_WHEREEVER, FLAG_NOLIMIT)
                        end
                    end
                    attacker:sendTextMessage(22, monster.message)
                end
            end
        end
    end
    return true
end
It works all have loot but everyone get 2 rewards. All players get 2backpacks
I made this
Lua:
local bag = attacker:addItem(monster.BagId, 0)
and now get 1bp
 
Last edited:
It works all have loot but everyone get 2 rewards. All players get 2backpacks
I made this
Lua:
local bag = attacker:addItem(monster.BagId, 0)
and now get 1bp

Mm can be onDeath instead, bad news is u would have to register every boss manually

Lua:
function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified, mostDamageUnjustified)
    if killer:isPlayer() and creature:isMonster() then
        local monster = config[Creature(creature):getName()] 
        if monster then
            for uid, _ in pairs(creature:getDamageMap()) do
                local attacker = Player(uid)
                if attacker then
                    local bag = attacker:addItem(monster.BagId, 1)
                    for i = 1,#monster.loot do
                        if monster.loot[i][2] >= math.random(1,100) then
                            bag:addItem(monster.loot[i][1], monster.loot[i][3], INDEX_WHEREEVER, FLAG_NOLIMIT)
                        end
                    end
                    attacker:sendTextMessage(22, monster.message)
                end
            end
        end
    end
    return true
end

monsters/boss.xml
Lua:
<script><event name="EventName"/></script>
 
Back
Top