local id_box = 16900 -- ID DA BOX
local level = 10 -- LEVEL MINIMO PARA ABRIR A BOX
-- ITENS --
local normal = {16901, 16902, 16903}
local raro = {111}
local epico = {222}
local lendario = {333}
------------------------- CÓDIGO -------------------------
function onUse(cid, item, frompos, item2, topos)
local chance = math.random(1, 100)
local item_box = 0
if item.itemid == id_box then
if getPlayerLevel(cid) < level then
doPlayerSendTextMessage(cid, 27, "You need to be at least level " ..level.. " to open the box.")
doPlayerSendCancel(cid, "You need to be at least level " ..level.. " to open the box.")
return true
else
if chance >= 60 then
item_box = normal[math.random(1, #normal)]
doPlayerAddItem(cid, item_box)
doSendMagicEffect(getThingPos(cid), 27)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations! You received " ..getItemNameById(item_box).. ".")
doRemoveItem(item.uid, 1)
return true
elseif chance >= 40 and chance < 60 then
item_box = raro[math.random(1, #raro)]
doPlayerAddItem(cid, item_box)
doSendMagicEffect(getThingPos(cid), 27)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations! You received " ..getItemNameById(item_box).. ".")
doRemoveItem(item.uid, 1)
return true
elseif chance >= 20 and chance < 40 then
item_box = epico[math.random(1, #epico)]
doPlayerAddItem(cid, item_box)
doSendMagicEffect(getThingPos(cid), 27)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations! You received " ..getItemNameById(item_box).. ".")
doRemoveItem(item.uid, 1)
return true
else
item_box = lendario[math.random(1, #lendario)]
doPlayerAddItem(cid, item_box)
doSendMagicEffect(getThingPos(cid), 27)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations! You received " ..getItemNameById(item_box).. ".")
doRemoveItem(item.uid, 1)
return true
end
return true
end
end
end
Pelo que entendi você quer que tenha uma chance para que o item ganhado seja entre uma dessas tabelas, e dentro de cada tabela tenha outra chance para ganhar tal item. Está correto? Pois o script que fiz é baseado nesse entendimento, então se não for isso avise para eu refazer.
Explicação: Pensei em trabalhar com random com chance pré-definida para que dentre uma as tabelas uma seja escolhida, e ao ser escolhida uma tabela, tenha uma outra chance para escolher o item de acordo com a tabela, porém essa chance é totalmente aleatória, não é pré-definida como as das tabelas. Caso queira chance do item pré-definida igual das tabelas, me avisa que faço. E você também pode alterar a chance das tabelas caso queira, está bem simples. Deixei 40% de chance para os itens normais e 20% para os três restante (raro, épico e lendário).
Testei aqui e funcionou, mas qualquer problema só falar.