Ir para conteúdo
Banner com Efeitos

alguém poderia "consertar" esse scrip para mim? (quando o player usar ele, a função remover não é ativada fazendo que o player abra a box infinitamente)

Featured Replies

  • Respostas 11
  • Visualizações 641
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor
Agora, Onepiece disse:

Quantidade do item é aleatoria? ou você especifica uma quantidade máx? no script ele pede o count, mas não vi ele usando em lugar algum

Sim. "aleatória", se possível determinar a quantidade também já que nela conterá itens raros.

Postado
Citar

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)
      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(cid, item.uid, 1)
  return true
end

 

Postado
  • Autor
4 minutos atrás, So volto tarde disse:

 

também não deu!... acho que como vc disse mesmo os cript que é zoado. Tenta esse mano, ele funciona apenas quando o player usar ele não some... como o acima 

 

local config = {
   [2] = {12780, 1},
   [1] = {12779, 50},
}
 
function onUse(c12780, 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(c12780, item[1], item[2])
      doPlayerSendTextMessage(c12780, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. item[2] .." de 100 sementes.")
      doSendMagicEffect(getThingPos(c12780), 133)
   else
      doPlayerSendTextMessage(c12780, MESSAGE_EVENT_ADVANCE, "vazia.")
   end

   
   return true
end

Postado
Agora, XGaduX disse:

também não deu!... acho que como vc disse mesmo os cript que é zoado. Tenta esse mano, ele funciona apenas quando o player usar ele não some... como o acima 

 

local config = {
   [2] = {12780, 1},
   [1] = {12779, 50},
}
 
function onUse(c12780, 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(c12780, item[1], item[2])
      doPlayerSendTextMessage(c12780, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. item[2] .." de 100 sementes.")
      doSendMagicEffect(getThingPos(c12780), 133)
   else
      doPlayerSendTextMessage(c12780, MESSAGE_EVENT_ADVANCE, "vazia.")
   end

   
   return true
end

Spoiler

local config = {
   [2] = {12780, 1},
   [1] = {12779, 50},
}
 
function onUse(c12780, 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(c12780, item[1], item[2])
      doPlayerSendTextMessage(c12780, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. item[2] .." de 100 sementes.")
      doSendMagicEffect(getThingPos(c12780), 133)

      doRemoveItem(item.uid, 1)
   else
      doPlayerSendTextMessage(c12780, MESSAGE_EVENT_ADVANCE, "vazia.")
   end

   
   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.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo