Skip to main content
O five-crafting adiciona pontos de fabricação (“estações”) pelo mapa. Cada estação é aberta por um sistema de interação configurável (sleepless_interact, ox_target ou marcador 3D), pode exigir um grupo/rank do vRP (ou ser pública) e disponibiliza uma ou mais categorias de receitas. Ao fabricar, o servidor valida permissão, limite de itens, peso e ingredientes; consome os ingredientes; dispara a barra de progresso; entrega o item e registra no webhook/five_logs. Toda manipulação de itens é via vRP, e o recurso não acessa o banco diretamente.

Funcionalidades

Estações no mapa

Pontos de fabricação configuráveis, abertos por interação ou por evento.

Receitas por categoria

Receitas organizadas em categorias, com ingredientes, quantidade e tempo de fabricação.

Restrição por grupo/rank

Estações podem exigir um grupo vRP e um nível mínimo, ou serem públicas.

Interação flexível

Suporte a sleepless_interact, ox_target ou marcador 3D nativo.

Barra de progresso

Validação de peso, limite e ingredientes com feedback visual durante o craft.

Log via webhook

Registra cada fabricação no Discord e no five_logs quando ativo.

Dependências

vrp

Framework base (@vrp/config/Item.lua para ItemName, ItemIndex, etc.).

Sistema de interação

Escolha em Crafting.Interaction.System: sleepless_interact, ox_target ou marker (nativo).
core_logs é opcional; registra "CRAFTOU" se estiver ativo.

Configuração

Tudo em config/config.lua (webhooks em config/webhooks.lua).
Uma estação pode listar várias categorias em Modes (a UI mostra a união).
Crafting.Recipes é uma tabela de categorias, cada uma com uma List. A chave de cada receita é o spawn do item produzido:
Categorias de fábrica: Armas, Parafal, Municao, Lavagem, Ilegal, Desmanche, drogas (LSD, Cocaina, Skunk, etc.), SodaPOP, Marina, entre outras.
O servidor só inclui receitas cujo item de saída exista no Item.lua (ItemExist). Cadastre o item no Item.lua do vRP antes de usá-lo numa receita. A ordem das chaves no arquivo define a ordem na UI.

Comandos

Nenhum. A abertura é pela interação configurada ou pelos eventos five-crafting:open / five-crafting:close.

Localizações

Estações definidas em Crafting.Stations (config/config.lua). Cada ponto cria uma interação (sleepless/ox_target/marker). Total de 37 estações.

Exports

O recurso não expõe exports próprios (apenas consome sleepless_interact, ox_target, five_logs).

Eventos

Eventos de integração no cliente para abrir e fechar o painel de uma estação.
O stationIndex é a posição numérica em Crafting.Stations. A permissão é revalidada no servidor.

Banco de Dados

Nenhuma tabela. Todo o estado (itens, peso, grupos) é gerenciado pelo vRP (vRP.ItemAmount, vRP.TakeItem, vRP.GenerateItem, vRP.HasGroup, etc.). Os itens das receitas precisam existir no Item.lua.

Customização

Adicionar uma nova receita

1

Garanta os itens no Item.lua

Garanta que o item produzido e os ingredientes existem no Item.lua do vRP.
2

Adicione a receita na categoria

Em Crafting.Recipes, escolha a categoria e adicione em List (chave = spawn do produto):

Adicionar categoria + estação

1

Crie a categoria

Crie a categoria em Crafting.Recipes (com sua List).
2

Crie a estação

Crie a estação em Crafting.Stations apontando em Modes:
  • Limite por craft: UI limita 1–999 (web-side/src/store/useCraftingStore.ts); servidor força mínimo 1 e multiplica Amount/Time/Required.
  • Notificações: tipos/cores em config/functions.lua (NotifyTypes).
  • Logs: com five_logs ativo, cada craft gera log "CRAFTOU".