Andrade Systems
Em desenvolvimentoFiveM

wasteland_resources

Coleta e plantio · Lua

Um handler genérico orientado a dados no lugar de seis scripts quase iguais, um por recurso.

Lua
555 linhas
Regiões configuradas
3
Mecânicas
2

nós fixos e plantio

Fonte verificada no repositório interno em 08/09/2026

O que faz

Em uso

É daqui que sai tudo que circula no servidor. Nós fixos espalhados pelo mundo entregam material conforme a região e, em alguns casos, exigem ferramenta; o plantio consome semente, leva tempo real para crescer e é colhido no mesmo ponto.

O que existia antes eram seis scripts quase idênticos, um por tipo de recurso. Aqui existe um único handler orientado a dados: acrescentar um recurso novo é acrescentar uma entrada de configuração.

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

    Do mundo ao inventário: onde a presença é revalidada e o que acontece quando o inventário está cheio.

Por dentro da engenharia

Decisões de implementação

Um bloco por decisão de implementação. Abra o que interessa.

Coleta parametrizada por configuração

Problema

Seis scripts com a mesma lógica e parâmetros diferentes significam seis lugares para corrigir o mesmo bug — e cinco onde alguém vai esquecer.

Solução

Um handler único lê tipo de nó, item produzido, faixa de quantidade, cooldown, ferramenta exigida e modelo visual da configuração. Recurso novo é linha de configuração, não arquivo novo.

Por que foi feito assim

Duplicação em sistema de gameplay não é dívida abstrata: é a diferença entre corrigir um exploit uma vez e descobrir seis meses depois que ele sobreviveu em três lugares.

O que não cabe cai no chão

Problema

Gerar o item quando o inventário está cheio faz o item sumir. Recusar a coleta depois de o jogador ter completado a ação frustra sem motivo.

Solução

A conferência de peso acontece antes, e o excedente vai para o chão em vez de desaparecer. O trabalho feito nunca é descartado em silêncio.

Por que foi feito assim

Numa economia onde tudo é físico, item destruído por engano é valor removido do mundo sem que ninguém consiga apontar onde foi.

Trava compartilhada entre coleta e plantio

Problema

Coleta e plantio são ações separadas, e uma trava por ação permite disparar as duas juntas para dobrar o rendimento numa janela curta.

Solução

As duas mecânicas compartilham a mesma trava por jogador, e a presença física é revalidada no servidor tanto na coleta quanto na colheita. O cooldown é por nó, não global.

Por que foi feito assim

Trava por ação protege a ação; trava por jogador protege o jogador — que é a entidade que o exploit tenta duplicar.

Stack

O que foi usado

  • Servidor

    • Lua
    • FiveM
    • vRP
  • Dados

    • Persistência do plantio no armazenamento da base
    • Cooldown por nó em memória
  • Cliente

    • Checagem por distância em intervalo, não a cada quadro