Exports & Developer API

Comprehensive Lua exports and client/server events for integrating third-party resources with Finals Bossmenu / Management.


1. Server-Side Exports

Process or Store a Paycheck

Lua
--- Issues or stores a paycheck for the specified player source based on Config.PaycheckDelivery.method
---@param source number Server player source ID
---@param amount number Gross salary amount
---@param jobName string Department job name (e.g. 'police')
---@param opts table|nil Optional overrides: { moneyType = 'bank', skipSlip = false }
exports['finals_management']:AddPendingPaycheck(source, amount, jobName, opts)

-- Aliases:
exports['finals_management']:ProcessPaycheck(source, amount, jobName, opts)
exports['finals_management']:SendPaycheck(source, amount, jobName, opts)

Get Player Duty Status

Lua
--- Returns whether a player is currently on watch / on duty
---@param source number
---@return boolean
local isOnDuty = exports['finals_management']:GetPlayerDutyStatus(source)

Get Society Vault Balance

Lua
--- Queries the active society bridge for the department's balance
---@param jobName string
---@return number
local vaultBalance = exports['finals_management']:GetSocietyBalance('police')

2. Client-Side Exports

Open Management Tablet

Lua
--- Programmatically opens the boss management tablet (validates permissions)
exports['finals_management']:OpenBossMenu()

Display Custom Paycheck Slip

Lua
--- Renders the Paytm/Maze Bank animated receipt slip overlay on the player's screen
---@param dataTable table Slip copy, amount, recipient, and logo
---@param layoutTable table Position, size, and display duration
exports['finals_management']:ShowPaycheck({
    title = 'Salary Deposit',
    amount = 1250,
    recipient = 'John Doe',
    department = 'San Andreas State Police',
    currencySymbol = '$',
    ref = 'TXN-94821',
}, {
    position = 'middle-right',
    size = 'large',
    displayMs = 3500,
})

Collect Pending Paycheck

Lua
--- Triggers collection of accrued paychecks from the database
exports['finals_management']:CollectPendingPaycheck()

3. Events & Triggers

Client Events:

  • finals_management:client:showPaycheck (payloadTable, layoutTable): Triggers the NUI receipt slip.
  • finals_management:client:timedPaycheck (data): Internal event invoked by the server payroll cycle.
  • finals_management:client:openBossMenu: Opens the boss interface.

Server Events:

  • finals_management:server:toggleDuty: Toggles current player duty state and logs session.
  • finals_management:server:depositSociety (amount): Deposits cash into society vault.
  • finals_management:server:withdrawSociety (amount): Withdraws money from society vault.

4. Custom Framework Bridging (bridge/custom.lua)

For custom or standalone frameworks, open bridge/custom.lua and implement the 6 bridge methods:

  1. FinalsBridge.GetPlayer(source)
  2. FinalsBridge.GetJob(source)
  3. FinalsBridge.SetJob(source, job, grade)
  4. FinalsBridge.IsBoss(source)
  5. FinalsBridge.AddMoney(source, type, amount)
  6. FinalsBridge.GetOfflinePlayers(job)