Skip to content

Instalação

Installation

1. Dependencies

Instale e inicie o ox_lib antes deste recurso. Se você planeja usar o armazenamento em banco de dados, o oxmysql também deve estar em execução.

2. Insira o recurso

Coloque bupa-safezonecreator na sua pasta de recursos (por exemplo, dentro de uma pasta de categoria [BUPA]) e adicione-o ao seu server.cfg.

3. server.cfg — ordem de inicialização

O ox_lib (e o oxmysql, se usado) deve iniciar antes do recurso.

server.cfg
ensure ox_lib
ensure oxmysql            # apenas se usar Storage = 'db'
ensure bupa-safezonecreator

4. Acesso de Administrador

A abertura do criador é restrita. Durante os testes, ela está aberta para todos — restrinja o acesso antes de colocar o servidor em produção.

shared/config/general.lua
Config.AdminOnly = false   -- TODO: defina como true antes do lançamento (atualmente aberto para todos)
Config.AdminAce  = 'bupa.safezone'
Config.AdminGroups = { 'admin', 'superadmin', 'god' }
Config.CustomAdmin = false -- true = usa seu próprio IsPlayerAdmin() em server/editable.lua

Uma vez que AdminOnly = true, um jogador passa pela restrição se qualquer uma destas condições for verdadeira:

  • Ele possui a permissão ACE — conceda-a com:
server.cfg
  add_ace group.admin bupa.safezone allow
  
  • O grupo de framework dele está em Config.AdminGroups (grupo ESX, nome do cargo no QB-Core / HasPermission('admin'), nome do cargo no QBox).
  • Config.CustomAdmin = true e a sua função Editable.isAdmin(src) em server/editable.lua retorna true.

O Config.AdminOnly vem como false por padrão para que você possa testar imediatamente. Defina-o como true antes do lançamento, ou qualquer um poderá abrir o criador.

5. Armazenamento — JSON ou banco de dados

shared/config/general.lua
Config.Storage = 'json'   -- 'json' | 'db'
  • json (padrão) — as zonas são salvas em data/zones.json dentro do recurso. Zero configuração necessária.
  • db — as zonas são armazenadas no oxmysql. A tabela é criada automaticamente na primeira inicialização; você não precisa importar nenhum SQL:
auto-created table
CREATE TABLE IF NOT EXISTS bupa_safezones (
    id   VARCHAR(64) PRIMARY KEY,
    data LONGTEXT
);

6. Idioma

O idioma é definido globalmente através da convar de localidade do ox_lib. Adicione ao server.cfg:

server.cfg
setr ox:locale "tr"

O inglês é o idioma padrão (fallback) para qualquer chave ausente. Veja Localization para a lista completa de idiomas inclusos.