Bancada de armas
Tela para trocar as peças de uma arma com visualização 3D. O jogador compra a peça com dinheiro, materiais ou diamantes, ou monta uma peça que já tem na mochila. A tela abre pelas mesas do kay_crafting.
Precisa de: krs, kay_crafting, inventory
Instalação
ensure bancadaColoque depois do krs e do inventory. Veja a ordem no server.cfg.
Como liberar em uma mesa
- Rode
/craftadmin. - Escolha a mesa e ligue a opção
Upgrade de armas. - Salve.
A mesa passa a mostrar Modificar arma no olho. O acesso segue as regras da mesa: grupo, cargo e serviço. Veja a página do kay_crafting.
Como funciona
- O jogador abre
Modificar armana mesa. - Escolhe uma das armas de fogo da mochila.
- Arrasta o mouse para girar a arma e escolhe a peça.
- Paga. A peça entra na arma na hora.
Esc fecha a tela. Ela não abre dentro de veículo nem com o jogador caído.
A tela só mostra as peças que servem na arma escolhida.
| Peça | Ao tirar ou trocar |
|---|---|
| Comprada na bancada | Não volta |
| Montada a partir da mochila | Volta para a mochila. Precisa de espaço |
Peças da mochila
Todo item com Type = "Attachs" e AttachBase igual ao Id de um slot entra sozinho nesse slot. Sem linha em Prices, a peça não tem preço: o jogador precisa ter o item na mochila.
Peça com linha em Prices só aceita as formas de pagamento dessa linha.
Configuração
Tudo fica em shared-side/config.lua.
| Opção | Padrão | O que muda |
|---|---|---|
Studio.Object | vec3(235.86,-977.57,-98.80) | Onde a arma aparece na visualização |
Studio.Camera | vec3(234.86,-977.57,-98.65) | Posição da câmera |
Studio.Heading | -90.0 | Direção da câmera |
Studio.Fov | 60.0 | Campo de visão da câmera |
Slots | Pente, Boca, Mira, Lanterna, Empunhadura | Slots da tela e peças de cada um |
Prices | abaixo | Preço de cada peça |
Multiplier | abaixo | Multiplicador de preço pelo tipo de munição da arma |
Preços padrão
| Peça | Dinheiro | Materiais | Diamantes |
|---|---|---|---|
ATTACH_MAGAZINE | 4.500 | aluminum 20, plastic 30, rubber 20 | |
ATTACH_DRUM | 9.500 | aluminum 45, plastic 60, rubber 40 | |
ATTACH_CLIPCLEAR | 150 | ||
ATTACH_SILENCER | 9.000 | copper 60, plastic 60, insulatingtape 1 | |
ATTACH_MUZZLEBRAKE | 7.500 | copper 45, aluminum 30 | |
ATTACH_COMPENSATOR | 8.500 | copper 50, aluminum 35 | |
ATTACH_CROSSHAIR | 5.500 | glass 45, plastic 45, copper 10 | |
ATTACH_FLASHLIGHT | 4.000 | glass 35, plastic 30, batteryaa 1 | |
ATTACH_GRIP | 3.500 | rubber 25, plastic 25 |
Para aceitar outra forma de pagamento, adicione a chave Money, Materials ou Gems:
ATTACH_GRIP = { Money = 3500, Gems = 40, Materials = { rubber = 25, plastic = 25 } },Multiplicador
| Munição | Padrão |
|---|---|
WEAPON_PISTOL_AMMO | 1.0 |
WEAPON_SMG_AMMO | 1.25 |
WEAPON_SHOTGUN_AMMO | 1.25 |
WEAPON_RIFLE_AMMO | 1.5 |
O dinheiro é arredondado para múltiplos de 50 e os materiais para cima. Diamantes não mudam com o multiplicador.
Para programadores
Evento de cliente: bancada:Open, com a chave da mesa do kay_crafting.
TriggerEvent("bancada:Open", "b:1")Callbacks pelo krs: bancada:Open, bancada:Buy e bancada:Remove. O servidor confere a mesa pelo export UpgradeContext do kay_crafting.
Problemas comuns
| Mensagem | Causa |
|---|---|
Esta bancada não faz upgrade de armas. | A mesa está com Upgrade de armas desligado |
Bancada indisponível. | kay_crafting não está rodando, ou o pedido anterior ainda não terminou |
Você não tem nenhuma arma de fogo na mochila. | A arma está danificada ou fora da mochila |
Essa peça não serve nessa arma. | A peça não tem encaixe para essa arma, ou a arma está danificada |
Sem espaço na mochila para a peça que está montada. | A peça atual volta para a mochila e não cabe |
