data > creaturescripts > creaturescripts.xml
<event type="kill" name="killTheBoss" event="script" value="killTheBoss.lua"/>
<event type="login" name="killTheBossLogin" event="script" value="killTheBoss.lua"/>
data > creaturescripts > scripts > killTheBoss.lua
local config = {
monsters = {"Boss Hits"},
rewards = {
{itemID = 8300, chanceToGainInPercent = 10, quantity = 1},
{itemID = 8301, chanceToGainInPercent = 20, quantity = 1},
{itemID = 8302, chanceToGainInPercent = 30, quantity = 1},
{itemID = 8303, chanceToGainInPercent = 40, quantity = 1},
},
effect = 27,
}
-- Função para selecionar um item com base na porcentagem
function selectRandomItem()
local totalChance = 0
for _, reward in pairs(config.rewards) do
totalChance = totalChance + reward.chanceToGainInPercent
end
local randomValue = math.random(1, totalChance)
local cumulativeChance = 0
for _, reward in pairs(config.rewards) do
cumulativeChance = cumulativeChance + reward.chanceToGainInPercent
if randomValue <= cumulativeChance then
return reward
end
end
end
function onKill(cid, target, lastHit)
if isPlayer(cid) and isMonster(target) then
if getCreatureMaster(target) ~= nil then
return true
end
local monsterNameKilled = getCreatureName(target)
if isInArray(config.monsters, monsterNameKilled) then
local selectedItem = selectRandomItem()
doPlayerAddItem(cid, selectedItem.itemID, selectedItem.quantity)
doSendMagicEffect(getCreaturePosition(cid), config.effect)
end
end
return true
end
function onLogin(cid)
registerCreatureEvent(cid, "killTheBoss")
return true
end