side_lunchbox
Item de inventário · Lua
A lancheira guarda o item base, não a instância com validade — por isso a comida não estraga lá dentro.
- Lua
- 349 linhas
- Limites
- peso e número de vagas
Fonte verificada no repositório interno em 08/09/2026
O que faz
Em uso
O menor sistema desta lista, incluído porque o problema dele é de modelagem e cabe inteiro numa tela. Uma lancheira por jogador, guardando apenas comida e bebida, com limite de peso e de vagas.
Evidência
Como o sistema aparece
Capturas da interface real, renderizada com payload de demonstração derivado dos contratos do resource — organizações, cargos, pessoas e identificadores são sintéticos. Onde não existe interface, entra visualização técnica, rotulada como tal.
Visualização técnica Por que a comida não estraga guardada — e por que a conferência de peso vem antes da geração.
Por dentro da engenharia
Decisões de implementação
Um bloco por decisão de implementação. Abra o que interessa.
Armazenamento por tipo e quantidade, com recriação na retirada
Problema
Comida perecível carrega a validade no próprio identificador da instância. Guardar a instância significaria que a comida continua envelhecendo dentro da lancheira fechada — exatamente o contrário do que o objeto promete a quem o usa.
Solução
A lancheira guarda o nome-base do item e a quantidade. Na retirada, o item é gerado novo. O que entra fechado sai fresco.
Por que foi feito assim
Quando o modelo de dados contradiz a promessa do objeto, quem perde é o jogador, e o suporte recebe um relato que parece bug aleatório.
Conferir espaço antes de gerar
Problema
Gerar o item primeiro e só então descobrir que não cabe no inventário faz o item sumir. É a pior falha possível num sistema de inventário, porque destrói trabalho já feito e não deixa rastro.
Solução
O peso é conferido contra o limite do inventário antes de qualquer geração. Sem espaço, a retirada é recusada com aviso e nada é consumido da lancheira.
Por que foi feito assim
Em operação sobre inventário, a ordem das etapas é a diferença entre recusar e destruir.
Stack
O que foi usado
Servidor
- Lua
- FiveM
- vRP
Interface
- HTML, CSS e JavaScript na interface em jogo