Ir para conteúdo

Featured Replies

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

  • Respostas 5
  • Visualizações 530
  • Created
  • Última resposta

Top Posters In This Topic

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo