Docs/ORB Donations/Configuration

Configuration

Most of the store lives in the database and is edited in-game. config.lua holds the starting defaults for a fresh install plus the structural, sensitive settings that are deliberately not exposed in-game.

What stays file-only

SettingPurpose
Config.AcePermission, Config.AdminGroups, Config.TrustCommandAceWho counts as an admin
Config.Tebex.commandThe Tebex credit command name (orb_donate_credit)
Config.WebhookDiscord logging webhook (a write credential — never commit a real one)
Config.Command, Config.KeybindThe /donate command and its keybind (default F10)
Config.HomeLanding-page layout (hero, shortcuts, rows)
Config.CategoriesWhich category tabs exist (remove one to hide that tab)
Config.AdminUpload limits and catalogue cap
Config.SeedThe starter catalogue (one-time seed only)

Common defaults

lua
Config.Language = 'en'            -- 'en' | 'es'
Config.Command  = 'donate'
Config.Keybind  = 'F10'          -- '' = command only

Config.AcePermission = 'orb.donations'
Config.AdminGroups   = { 'admin', 'god', 'superadmin' }

Config.Purchase = {
    defaultGarage    = 'pillboxgarage',
    customPlatePrice = 20,
    weaponAsItem     = true,       -- false on ESX to use its native weapon API
    moneyAccount     = 'bank',     -- 'bank' | 'cash'
    plate = { minChars = 2, maxChars = 8 },
    phone = { minChars = 6, maxChars = 10 },
    cooldown = 1500,               -- ms between purchases, per player
}

Config.UI = { screenBlur = true, hideHud = true }
Config.UI.hideHud hides the native HUD and minimap while the store is open. NUI HUDs (ps-hud, ox_hud, phones) need their own API — wire those into Config.OnOpen / Config.OnClose.

Theming

html/config_ui.js holds every colour and font — edit, restart, done (no build step). Config.Rarities sets the tier colours; the ids are what products store, so add or recolour tiers rather than renaming them. Admins can also re-theme live from the Branding & theme tab, including auto-theming from an uploaded logo.

Localization

locales/en.lua and locales/es.lua, selected with Config.Language. The same table feeds both the Lua side and the entire NUI, including the admin panel. Copy a file to add your own language; any missing key falls back to English. Product names are not here — admins type them in the panel.

Escrow

Left editable for buyers: config.lua, locales/, html/config_ui.js and the framework bridge/ (how a car reaches the garage, an item/weapon the inventory, a plate the vehicle DB, a phone number the phone, and money the account). The purchase, pricing and credit logic stays protected.