Ir para conteúdo
  • Cadastre-se

(Resolvido)Caixa Surpresa n/ consome item (box)


Ir para solução Resolvido por Mor3nao,

Posts Recomendados

Olá meus amigos, tenho um ot serv 8.6 tfs 0,4 e estou tentando usar um sistema de caixa surpresa

 

## Misterybox.lua

Spoiler

local items = {
  {itemId = 2160, count = 1, chance = 50}, -- ITEM, QUANTIDADE, CHANCE
  {itemId = 8904, count = 1, chance = 50},
  {itemId = 7857, count = 1, chance = 70},
}
local broadcastitems = {2160, 2161}

function onUse(cid, item, frompos, item2, topos)

  local config = {
    pos = getCreaturePosition(cid), -- posição do player
    exhaustionSeconds = 3600, -- exausted em segundos
    storageUse = 55231, -- storage usado.

  }

  if(exhaustion.check(cid, config.storageUse)) then
    if (exhaustion.get(cid, config.storageUse) >= 60) then
      doPlayerSendCancel(cid, "Voce so poderar abrir o bau novamente em " .. math.floor(exhaustion.get(cid, config.storageUse) / 60 + 1) .." minutos.")
    end
    if (exhaustion.get(cid, config.storageUse) <= 60) then
      doPlayerSendCancel(cid, "Voce precisa esperar " .. exhaustion.get(cid, config.storageUse).." segundos.")
    end
    return true
  end

  local totalChance, randomTable, randomNumber = 0, {}, 0

  addEvent(doPlayerSendTextMessage, 1*1000, cid, 27, "Procurando algo...")
  addEvent(doPlayerSendTextMessage, 2*1000, cid, 27, "Procurando algo...")
  addEvent(doPlayerSendTextMessage, 3*1000, cid, 27, "Procurando algo...")
  addEvent(doPlayerSendTextMessage, 4*1000, cid, 27, "Procurando algo...")
  addEvent(doPlayerSendTextMessage, 5*1000, cid, 27, "Procurando algo...")
  addEvent(doSendAnimatedText, 1*1000, config.pos, "[5]", 180)
  addEvent(doSendAnimatedText, 2*1000, config.pos, "[4]", 180)
  addEvent(doSendAnimatedText, 3*1000, config.pos, "[3]", 180)
  addEvent(doSendAnimatedText, 4*1000, config.pos, "[2]", 180)
  addEvent(doSendAnimatedText, 5*1000, config.pos, "[1]", 180)
  addEvent(doSendAnimatedText, 6*1000, config.pos, "DONE!", 180)

  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 = addEvent(doPlayerAddItem, 6*1000, cid, itemId, itemInfo.count, false)
      if not newItem then return doPlayerSendCancel(cid, "Voce nao tem espaco para receber o item!") end
      doRemoveItem(item.uid, 0)
      exhaustion.set(cid, config.storageUse, config.exhaustionSeconds)
      local iInfo = getItemInfo(itemId)
      addEvent(doPlayerSendTextMessage, 6*1000, cid, 27, "Voce achou ("..iInfo.name..")!")
      for i, broaditem in ipairs(broadcastitems) do
        if itemId==broaditem then addEvent(doBroadcastMessage, 6*1000, getCreatureName(cid).." acabou de ganhar: "..iInfo.name.." na Mystery Box.") end
      end
      break
    end
  end
  return true
end

 

 

Porém quando eu uso o item para sortiar o outro item... esse item q eu selecioonei no actions, nao some, ele continua na bp.... sendoo assim o player pode ter itens infinitos... pois podoe usar infinitas vezes o item que sorteia 

 

Spoiler

image.thumb.png.a2cdf0a31c9eedfa962c25020d09d3d7.png

 

 

 

Agradeço imensamente desde já e espero que alguém possa me ajudar!!
Tamo juntoo... valendo 6 REP++

AJfwFit.png&key=fe4d679c24a3f021c13992ab

Link para o post
Compartilhar em outros sites
  • Solução

Muda isso: doRemoveItem(item.uid, 0)
Pra isso: doRemoveItem(item.uid, 1)

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo