Postado Dezembro 12, 2020 4 anos Autor Em 10/12/2020 em 13:13, Shiuns disse: local items = { {itemId = 12779, count = 1, chance = 1}, {itemId = 12780, count = 2, chance = 99}, } local broadcastitems = {2361} function onUse(cid, item, frompos, item2, topos) local totalChance, randomTable, randomNumber = 0, {}, 0 for _, itemInfo in pairs (items) do randomTable[itemInfo.itemId] = {min = totalChance + 1, max = itemInfo.chance, count = itemInfo.count or 1} totalChance = totalChance + itemInfo.chance end randomNumber = math.random(1, totalChance) for itemId, itemInfo in pairs (randomTable) do local min, max = itemInfo.min, itemInfo.min + itemInfo.max if randomNumber >= min and randomNumber <= max then local newItem = doPlayerAddItem(cid, itemId, qntItemsByPercnt(), false) if not newItem then return doPlayerSendCancel(cid, "Voce nao tem espaco para receber o item!") end local pos = {x=getPlayerPosition(cid).x+0, y=getPlayerPosition(cid).y+0, z=getPlayerPosition(cid).z+0} doSendMagicEffect(pos, 442) -- Id do efeito. local iInfo = getItemInfo(itemId) doPlayerSendTextMessage(cid, 19, "Voce ganhou "..iInfo.name.."") for i, broaditem in ipairs(broadcastitems) do if itemId==broaditem then doBroadcastMessage(getCreatureName(cid).." acabou de ganhar "..iInfo.name.." (Raro) na senzu box.", 19) end end break end end doRemoveItem(item.uid) return true end Mesmo problema, quando clicar no item ele não remove e ainda ganha o item da box. Tenta nesse \/ local config = { [2] = {2362, 100}, [1] = {2361, 50}, } function onUse(c2362, item, frompos, topos) local chance_growing = {} for chance, _ in pairs(config) do table.insert(chance_growing, chance) end table.sort(chance_growing, function(a, b) return a > b end) local chance = 0 for _, v in pairs(chance_growing) do if math.random(100) < v then chance = v break end end local item = config[chance] if item then doPlayerAddItem(c2362, item[1], item[2]) doPlayerSendTextMessage(c2362, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. item[2] .." de 100 sementes.") doSendMagicEffect(getThingPos(c2362), 133) else doPlayerSendTextMessage(c2362, MESSAGE_EVENT_ADVANCE, "vazia.") end doRemoveItem(item.uid, 1) return true end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.