Início › Documentação › Configuração · origen_billing

Configuração · origen_billing

Todas as opções configuráveis estão em config.lua (partilhado cliente + servidor) e svconfig.lua (apenas servidor, logs do Discord). Ambos os ficheiros estão em escrow_ignore, por isso podes editá-los à vontade.


General

Variável Por omissão Descrição
Config.Debug false Mostra mensagens de depuração na consola do servidor
Config.Language 'en' Ficheiro de idioma a carregar a partir de locales/. Opções: 'en', 'es'
Config.MaxPendingInvoices 10 Número máximo de faturas pendentes que um jogador pode ter em simultâneo
Config.InvoiceDistance 3.0 Distância máxima (unidades do jogo) a que quem fatura tem de estar do destinatário para emitir uma fatura em pessoa
Config.ExpirationDays 30 Reservado para utilização futura; não é aplicado na versão atual

Providers

Variável Por omissão Descrição
Config.BankingProvider 'auto' Recurso de banco a utilizar. 'auto' escolhe o primeiro recurso em execução que detetar
Config.NotifyProvider 'auto' Recurso de notificações a utilizar. 'auto' escolhe o primeiro recurso em execução que detetar

Valores válidos para Config.BankingProvider: 'auto' · 'qb-banking' · 'renewed-banking' · 'fd_banking' · 'kartik-banking' · 'okokBanking' · 'tgg-banking' · 'tgiann-bank' · 'wasabi_banking' · 'qb-management' · 'custom'

Valores válidos para Config.NotifyProvider: 'auto' · 'ox_lib' · 'origen_notify' · 'brutal_notify' · 'okokNotify' · 'mythic_notify' · 'lation_ui' · 'r_notify' · 't-notify' · 'wasabi_notify' · 'pNotify' · 'FL-Notify' · 'ZSX_UIV2' · 'custom'


Commands

lua
Config.Commands = {
    OpenBilling      = 'billing',       -- Standard employee panel
    OpenBillingAdmin = 'billingadmin',  -- Global admin panel (staff only)
}

As alterações requerem o reinício do recurso.


Authorized jobs (seed)

Config.AuthorizedJobs define os jobs iniciais inseridos na base de dados no primeiro arranque. Os jobs que já existem na base de dados não são substituídos.

lua
Config.AuthorizedJobs = {
    ['police'] = {
        label          = 'LSPD',
        societyAccount = 'police',
        canInvoice     = true,
        isBoss         = function(source, jobName)
            return Custom.isJobBoss(source, jobName)
        end,
        commission  = 90.0,  -- % of net amount paid to the author
        societyLoss = 80.0,  -- % deducted from total before commission
    },
}

Exemplo de fluxo de pagamento

Dada uma fatura da polícia de $1,000 com societyLoss = 80 e commission = 90:

Passo Cálculo Resultado
Valor líquido 1000 − (1000 × 80%) $200
Comissão do autor 200 × 90% $180 → banco do autor
Depósito na sociedade 200 − 180 $20 → conta da sociedade

Depois de o recurso ter arrancado uma vez, usa /billingadmin para gerir os jobs. As alterações a Config.AuthorizedJobs só se aplicam aos jobs que ainda não existem na base de dados.


Webhooks do Discord (svconfig.lua)

lua
return {
    enabled = true,
    webhooks = {
        ['invoice-created']   = 'YOUR_WEBHOOK_URL',
        ['invoice-paid']      = 'YOUR_WEBHOOK_URL',
        ['invoice-cancelled'] = 'YOUR_WEBHOOK_URL',
        ['commission-paid']   = 'YOUR_WEBHOOK_URL',
    },
}

Define enabled = false para desativar todos os logs do Discord.