local config = {
{item = 8310, qntd_max = 2, chance = 45, nome = "Gold Ingot"},
{item = 12635, qntd_max = 1, chance = 25, nome = "Mechanic Box"},
{item = 12636, qntd_max = 1, chance = 15, nome = "Surprise Box"},
{item = 9971, qntd_max = 50, chance = 50, nome = "Gold Coin"},
{item = 11390, qntd_max = 1, chance = 20, nome = "Platinum Amulet", raro = true},
}
function onUse(cid, item, fromPos, itemEx, toPos)
local msgsucesso = "Você abriu uma box e encontrou: "
local check = 0
local ganhou = false
local itensGanhos = {}
for _, var in pairs(config) do
if math.random(1, 100) <= var.chance and check < 5 then
doPlayerAddItem(cid, var.item, var.qntd_max)
check = check + 1
ganhou = true
-- Adiciona à lista de itens ganhos
table.insert(itensGanhos, var.qntd_max .. "x " .. var.nome)
-- Se for um item raro, notifica todo o servidor
if var.raro then
local playerName = getCreatureName(cid)
local msgRaro = playerName .. " encontrou um item raro: " .. var.nome .. "!"
doBroadcastMessage(msgRaro, MESSAGE_STATUS_WARNING)
end
end
end
if ganhou then
-- Cria mensagem com itens ganhos
local mensagemFinal = msgsucesso .. table.concat(itensGanhos, ", ")
-- Exibe mensagem flutuante acima do jogador
doCreatureSay(cid, mensagemFinal, TALKTYPE_ORANGE_1)
doSendMagicEffect(getCreaturePosition(cid), 49)
doRemoveItem(item.uid, 1)
else
-- Caso não ganhe nada
doCreatureSay(cid, "Você abriu a box mas não encontrou nada de valor.", TALKTYPE_ORANGE_1)
doRemoveItem(item.uid, 1)
end
return true
end