Arsenal.Locations, cada um com coordenadas, permissão e um template de itens. A interação é por sleepless_interact. A compra é processada no servidor (revalida permissões item a item, soma o total, cobra via banco e gera os itens). Itens e nomes são resolvidos pelo catálogo do vRP (ItemName/ItemIndex).
Funcionalidades
Pontos de arsenal
Locais fixos no mapa definidos em
Arsenal.Locations, abertos por interação no mundo.Controle de acesso
Acesso por permissão ou serviço (
HasService OU HasPermission), por local e por item.Catálogo por template
Itens organizados em categorias via templates reaproveitáveis entre vários locais.
Compra via banco
Compra revalidada item a item no servidor, com cobrança via
PaymentBank e geração dos itens.Dependências
vrp
Framework base (
Passport, HasService, HasPermission, PaymentBank, GenerateItem).sleepless_interact
Cria os pontos no mundo. Sem ele, os arsenais ficam inacessíveis.
PL_PROTECT
Declarado como dependency (anti-cheat).
sounds
Efeitos sonoros (
sounds:Private).Configuração
Todo o ajuste fica emconfig/config.lua (tabela Arsenal).
config/config.lua — Configurações principais
config/config.lua — Configurações principais
config/config.lua — Locais
config/config.lua — Locais
config/config.lua — Templates (catálogo)
config/config.lua — Templates (catálogo)
item (key do vRP), price (unitário), permission (opcional, revalidada na compra). Vários locais podem reaproveitar o mesmo template.Comandos
Nenhum. O arsenal é aberto pela interaçãosleepless_interact nos pontos de Arsenal.Locations.
Localizações
Pontos de arsenal definidos emArsenal.Locations (config/config.lua). Cada um cria uma interação no mundo (raio distance ou Arsenal.InteractDistance = 1.5) e exige a permissão indicada.
Exports
Não há exports Lua tradicionais. A API é via Tunnelfive-arsenal (consumida pelo cliente como vSERVER).
Eventos
Banco de Dados
Nenhum. O recurso não faz queries próprias — tudo via vRP.Customização
- Novo ponto: entrada em
Arsenal.Locations(coords,permission,template). - Novo catálogo: template em
Arsenal.Templates+ categorias emArsenal.CategoryOrder. - Itens/preços:
{ item = "<key>", price = N, permission = { "<perm>" } }(a key precisa existir noItem.lua). - Permissões: por local e/ou por item (string ou tabela;
HasServiceOUHasPermission). - Aparência:
Arsenal.ThemeColor,Arsenal.ImagesUrl, label/ícone do prompt.

