Skip to content

Bancadas de fabricação ​

Mesas de fabricação criadas em jogo. A staff define posição, acesso e receitas pelo editor, sem mexer em arquivo. As receitas aparecem sobre o tampo da mesa e o jogador fabrica com o mouse. Cada jogador tem uma fila própria, que continua rodando mesmo longe da mesa.

Precisa de: krs, target, inventory, hud. Opcional: bancada e kay_organizations.

Instalação ​

cfg
ensure kay_crafting

Coloque depois do krs. As tabelas são criadas sozinhas. Veja a ordem no server.cfg.

A criação usa ADD COLUMN IF NOT EXISTS, sintaxe do MariaDB.

O item craftbench da mesa portátil já vem na configuração de itens do krs.

Comandos ​

ComandoO que faz
/craftadminAbre o editor de mesas e receitas

Permissão ​

O editor exige o grupo Admin no cargo 1. Admin também tem acesso a qualquer mesa, sem as regras dela, e vê um atalho para editar a mesa aberta.

Criar uma mesa ​

  1. Rode /craftadmin.
  2. Crie a mesa, dê um nome e escolha o modelo.
  3. Posicione a mesa no mapa.
  4. Salve. Só depois de salvar dá para adicionar receitas.
  5. Adicione as receitas.
CampoO que muda
Nome da mesaAté 60 caracteres
Modelo (prop)Um dos itens de Config.Models. Sem prop usa um móvel do próprio mapa
GruposQuem tem acesso. Sem grupo, todos têm
Cargo mínimoCargo do grupo ou acima. Qualquer membro aceita todos
Fila por jogadorFabricações simultâneas na fila, de 1 a 10. Padrão 3
Chance de alertar a políciaDe 0 a 100%, a cada fabricação
Precisa estar em serviçoExige serviço no grupo
Mesa ativaDesligada, a mesa some do mapa
Mesa portátilVira item. Veja abaixo
Upgrade de armasMostra Modificar arma no olho. Precisa da bancada. Quem já está conectado só vê a mudança ao reconectar

O editor também duplica, apaga e teleporta até a mesa. A cópia nasce desativada e leva as receitas.

Apagar a mesa apaga as receitas e a fila dela. Os ingredientes de quem estava na fila não voltam.

Receitas ​

CampoLimiteO que muda
Item que saiQualquer item da base
Quantidade1 a 1000Quanto sai por unidade fabricada
Tempo por unidade1 a 86400 sTempo de fabricação
Categoria30 caracteresAgrupa as receitas e o XP. Vazia vira Geral
Nível mínimo0 a 30Nível exigido na categoria
XP ganho0 a 10000XP na categoria, por unidade
Máx. por vez1 a 100Quantidade máxima de um pedido. Item único fica em 1
Ingredientesaté 12Consumidos ao fabricar. Até 100000 de cada
Ferramentasaté 6Precisa ter na mochila. Não são consumidas
Descrição255 caracteresVazia usa a descrição do item
OrdemPosição na lista
Receita ativaDesligada, some da mesa

A receita precisa de pelo menos um ingrediente ou uma ferramenta. Itens danificados não contam.

Como o jogador usa ​

  1. Chega perto: até 5 m, as receitas aparecem sobre o tampo da mesa.
  2. Usa Abrir no olho.
  3. Escolhe a receita e a quantidade e fabrica. Os ingredientes saem na hora.
  4. Volta depois para coletar. O item espera na fila, mesmo após reiniciar o servidor.

Esc fecha. A mesa não abre dentro de veículo, com o jogador caído ou procurado. Afastar-se mais de 4,5 m também fecha.

Pedidos do mesmo jogador rodam um depois do outro. Cancelar devolve os ingredientes e adianta os pedidos seguintes. Item pronto não pode ser cancelado, só coletado.

O XP entra ao coletar.

Com o kay_organizations, o VIP da organização reduz o tempo de fabricação.

Mesa portátil ​

  1. Ligue Mesa portátil e salve. A mesa precisa de modelo.
  2. Use Gerar item da mesa para receber o item.
  3. O jogador usa o item e posiciona a mesa, a até 10 m dele.
  4. Para guardar, quem montou usa Recolher no olho. O item volta para a mochila.

A mesa montada fica salva e continua lá depois de reiniciar o servidor. O item leva o número da mesa, no formato craftbench-1. Se a mesa for apagada, o item avisa Esta bancada não existe mais.

Configuração ​

Tudo fica em shared-side/config.lua. As mesas e receitas ficam no banco.

OpçãoPadrãoO que muda
Distance3.0Distância máxima para usar a mesa
SpawnDistance80.0Distância em que o prop aparece
PortableItem"craftbench"Item base da mesa portátil
GhostModel"gr_prop_gr_bench_04a"Prop usado para posicionar uma mesa sem modelo
Zone.Radius0.6Raio da zona do olho
Zone.Distance2.0Distância de uso do olho
Stand0.5Distância em que o jogador fica da mesa
Camera.Modelsgr_prop_gr_bench_04a com Top = 0.95Altura do tampo por modelo. Sem entrada, o script mede sozinho
AnimAnimação do jogador na mesa
Models8 modelosModelos aceitos no editor, com o nome mostrado

Tela sobre a mesa ​

OpçãoPadrãoO que muda
Board.Width, Board.Height2048, 1024Resolução da tela, em pixels
Board.Margin0.03Margem nas bordas do tampo
Board.Lift0.005Altura sobre o tampo
Board.Size{ 1.2,0.5 }Tamanho da tela em mesa sem prop
Board.Wheel100Velocidade da rolagem
Board.Range5.0Distância em que as receitas aparecem
Board.Step0.05Precisão da medição do tampo

Câmera ​

OpçãoPadrãoO que muda
Eye.Settle600Tempo da transição, em ms
Eye.Ahead0.1Avanço a partir da cabeça
Eye.Up0.05Altura a partir da cabeça
Eye.Fov79.0Campo de visão

Limites do editor ​

Opção em LimitsPadrão
Amount1000
Ingredient100000
Ingredients12
Tools6
Time86400
Xp10000
Skill30
Qty100
Queue10

Para programadores ​

lua
-- servidor: confere se o jogador pode usar a modificação de armas nesta mesa
-- devolve CharId e nome da mesa, ou false e o motivo
local CharId, Nome = exports.kay_crafting:UpgradeContext(source, Key)

Key é b:<id> para mesa fixa e p:<chave> para mesa montada.

Evento de cliente: kay_crafting:Sync, com a lista de mesas. Eventos de servidor: kay_crafting:UsePortable, disparado pelo item, e kay_crafting:Pickup. Callbacks pelo krs: kay_crafting:List, Open, Preview, Craft, Cancel, Collect e Admin, todos com o prefixo kay_crafting:.

Problemas comuns ​

MensagemCausa
Você não tem acesso a esta bancada.Grupo, cargo ou serviço não confere
Chegue mais perto da bancada.Fora de Distance, ou em outra instância
Sua fila nesta bancada está cheia.Atingiu Fila por jogador
Precisa de nível 5 em Armas.Nível da categoria abaixo do mínimo
Posicione a mesa no mapa antes de salvar.Mesa fixa sem posição
Mesa portátil precisa de um modelo de prop.Mesa portátil com Sem prop
Salve a mesa como portátil primeiro.Gerar item da mesa em mesa fixa