Pular para o conteúdo principal

Resolva problemas comuns

Resource não inicia

Está com problemas para iniciar o seu produto? Clique aqui

Configurar o resource

Está com dúvidas de como configurar algo no sistema? Clique aqui
Hero Dark

Sobre o sistema

A proposta do Craft System é unir flexibilidade, persistência e controle total sobre as bancadas de crafting do seu servidor. O dono do servidor tem poder absoluto para criar bancadas fixas no mapa, conceder bancadas para jogadores, gerenciar upgrades e integrar com qualquer sistema de inventário. Com as funções exportadas, você pode:
  • Criar e deletar bancadas de crafting diretamente por script;
  • Forçar o spawn de uma bancada em posição fixa ou deixar o player posicioná-la com preview;
  • Gerenciar upgrades como combustível, slots de fabricação e fabricação paralela;
  • Consultar todas as mesas ativas, buscar uma mesa por objeto ou por marker;
  • Integrar o sistema de craft com empregos, missões, sistemas VIP e muito mais.

Funções Exportadas

Server-side

createCraftTable

Side: server Syntax
Required arguments
  • position (table): posição e rotação da bancada.
    • x (number): coordenada X
    • y (number): coordenada Y
    • z (number): coordenada Z
    • rotX (number): rotação X (padrão 0)
    • rotY (number): rotação Y (padrão 0)
    • rotZ (number): rotação Z (padrão 0)
    • interior (number): interior do jogo (padrão 0)
    • dimension (number): dimensão do jogo (padrão 0)
Optional arguments
  • permissions (table): lista de grupos ACL que podem usar a bancada. Exemplo: {'Admin', 'Vip'}. Se vazio ou nil, todos os players podem usar.
  • upgrades (table): upgrades iniciais da bancada.
    • fuel (number): combustível inicial (padrão 0)
    • consumable_boost (number): ácido clorídrico inicial (padrão 0)
    • slot_upgrade (number): slots de fabricação iniciais (padrão 1)
    • parallel_upgrade (number): fabricações paralelas iniciais (padrão 1)
    • primary_part_1 a primary_part_4 (number): nível inicial das peças primárias (padrão 1)
  • configId (string): ID fixo para identificar a bancada entre restarts. Recomendado para bancadas default.
Return
  • number com o ID da bancada criada em sucesso.
  • false em falha.
Example

deleteCraftTable

Side: server Syntax
Required arguments
  • id (number): ID da bancada a deletar.
Return
  • true em sucesso.
  • false, string em falha (bancada não encontrada ou tipo inválido).
Observação
  • Apenas bancadas do tipo 'default' podem ser deletadas por este export. Bancadas de player são gerenciadas pelo próprio sistema.
Example

addCraftTableUpgrade

Side: server Syntax
Required arguments
  • craftTableId (number): ID da bancada.
  • upgrade (string): nome do upgrade. Valores aceitos:
    • 'fuel' — combustível
    • 'consumable_boost' — ácido clorídrico (boost consumível)
    • 'slot_upgrade' — slots de fabricação
    • 'parallel_upgrade' — fabricações simultâneas
    • 'primary_part_1' a 'primary_part_4' — nível das peças primárias
  • value (number): novo valor do upgrade. Será limitado automaticamente ao min/max configurado em Config.upgradeSettings.
Return
  • true em sucesso.
  • false, string em falha.
Example

forceCraftTableSpawn

Side: server Syntax
Required arguments
  • id (number): ID da bancada a spawnar.
Return
  • true em sucesso.
  • false, string em falha (bancada não encontrada ou já spawnada).
Observação
  • Força o spawn na posição salva no banco de dados, sem exigir confirmação do player. Ideal para bancadas do tipo 'default'.
Example

spawnCraftTableWithPreview

Side: server Syntax
Required arguments
  • id (number): ID da bancada.
  • player (player): player que receberá o modo preview para posicionar a bancada.
Return
  • true se o modo preview foi iniciado com sucesso.
  • false se falhou (bancada não encontrada, player não é o dono, ou bancada já está spawnada).
Comportamento
  • Se a bancada já estiver spawnada, o sistema marca a posição dela no mapa do player e retorna false.
  • Se o preview for cancelado pelo player, a bancada é automaticamente deletada.
  • Ao confirmar, a bancada é spawnada na posição escolhida.
Example

spawnWithPreview

Side: server Syntax
Alias direto de spawnCraftTableWithPreview. Mesmos parâmetros, retorno e comportamento. Example

spawnWithPreviewByOwner

Side: server Syntax
Required arguments
  • player (player): player cuja bancada será buscada e iniciará o preview.
Return
  • true se o preview foi iniciado.
  • false se o player não possui bancada, ou se ela já está spawnada (nesse caso marca no mapa).
Observação
  • Busca automaticamente a bancada do tipo 'player' que pertence ao owner com o mesmo nome do player.
  • Útil para sistemas onde o player recebe a bancada como item e precisa posicioná-la sem saber o ID.
Example

getSpawnedCraftTables

Side: server Syntax
Return
  • table indexada por craftTableId com os dados de spawn no formato:
Example

getCraftTableByObject

Side: server Syntax
Required arguments
  • object (element): elemento do tipo object que representa a bancada no mundo.
Return
  • table com os dados da bancada em sucesso.
  • nil se não encontrar.
Tabela retornada Example

getCraftTableByMarker

Side: server Syntax
Required arguments
  • marker (element): elemento do tipo marker associado a uma bancada.
Return
  • table com os dados da bancada em sucesso (mesma estrutura de getCraftTableByObject).
  • nil se não encontrar.
Example

Observações

  • Todas as exports exigem que o resource já tenha sido iniciado e a licença validada.
  • As funções acima seguem exatamente o que está exportado no meta.xml do sqh_craftsystem.
  • Upgrades têm limites definidos em Config.upgradeSettings — valores fora do intervalo são ajustados automaticamente.
  • Bancadas do tipo 'player' não podem ser deletadas via deleteCraftTable; elas são gerenciadas pelo próprio flow do sistema.