Configuration
Everything lives in config/config.lua. Translations live in config/locale/.
Core
| Setting | Values | Notes |
|---|---|---|
Config.Locale | en, es | Loads the matching file from config/locale/ |
Config.Framework | qb, esx, standalone | No auto detection |
Config.Phone | nil, lb-phone, sd-phone, qs-smartphone, standalone | nil binds to the first phone running |
Config.AutoSQL | true, false | Creates the tables on start |
Config.Debug | true, false | Console logging |
App
Config.App is the entry the phone lists in its app store.
| Setting | Notes |
|---|---|
id | Internal app id |
name | Display name. Empty falls back to Billing |
description | Shown in the app store |
developer | Author credit |
autoDownload | Installs the app for every player |
qs-smartphone also reads category, age, appStoreOnly, sizeMb and extraDescription. sd-phone reads sizeMb and fixBlur.
fixBlur
sd-phone only. It rewrites the app root font size, which fights the high DPI scaling of the UI. Turn it on only if text looks blurry inside the phone.
Standalone
With no phone installed, or with Config.Phone set to standalone, the app opens in its own window.
| Setting | Notes |
|---|---|
Config.UI.disableStandalone | Removes the command and the keybind |
Config.UI.keybind | Defaults to f7. The command is /ledger |
Config.Blur.enabled | Blurs the screen behind the window |
Config.Blur.duration | Fade time in milliseconds |
Job settings
Grades, blacklist and commission are not config. Open the app as an admin, pick a job and edit them in game. They are stored in ledger_job_settings.
| Option | Effect |
|---|---|
| Can send invoices | Job appears as a sender |
| Can receive invoices | Job can be billed |
| Can issue | Grade can send invoices for the company |
| Can manage | Grade can pay or cancel on behalf of the company |
| Commission | Percentage of each payment paid to the employee who issued it |
Translations
Copy config/locale/en.lua, rename it to your language and point Config.Locale at it. Each file guards itself on the first line, so keep it matching the name:
if (Config.Locale ~= "es") then return endEvery string in the app comes from that file, including the money format, month names and the 12 or 24 hour clock.
