Ir para conteúdo

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

Postado
  • Autor
Agora, So volto tarde disse:
  Mostrar conteúdo oculto

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

 

Não deu! não some tbm.

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

Top Posters In This Topic

Postado

Vou baixar algum servidor para testar os scripts, a explicação mais viável é que estamos tentando remover o item fora do escopo da função, um momento.

Era exatamente isto, segue:

 

local config = {
   [2] = {12780, 1},
   [1] = {12779, 50},
}
 
function onUse(c12780, item, frompos, topos)
   
       doRemoveItem(item.uid, 1)
   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

 

Por algum motivo no servidor em que testei o randomization nao funcionava e então sempre caia vazia, se não der certo no seu, te auxilio nisto.

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