Skip to content

Customization

mic_boosting has two layers. A short config.lua holds the handful of things decided once — framework, how the tablet opens, who is an admin, the language. Everything about gameplay lives in the database and is edited live from the admin panel (/boostingconfig), with no restart.


WhereWhat it decidesOpen to edit
config.luaFramework, tablet item/command, admin access, language, interaction system, police jobs, test pinsYes
shared/prices.luaStarting values for six economy settings — read only on the very first start (see below)Yes
locales/*.luaEvery notification and every tablet string, one file per language; locales/locale.lua is the loaderYes
bridge/server_bridge.luaFramework, money, items, usable item, police count, admin check, giving a car to a garageYes
bridge/client_bridge.luaNotifications, the text prompt, target interactions, the police dispatch alertYes
items/Item definitions for ox_inventory, QBCore and ESX, and the seven item imagesYes
ui/The tablet itself (HTML, CSS, JS)Escrowed
client/, server/The game logic and the admin panel back endEscrowed
Admin panel (/boostingconfig)Spots, drop-offs, classes, cars, guards, minigames, tool shop, progression, economyIn game

The open files are the ones listed in escrow_ignore in fxmanifest.lua: config.lua, locales/, shared/ and bridge/.


OptionWhat it doesDefault
Config.Framework'auto' checks for qb-core, then es_extended, else standalone. QBox is found as qb-core, through its QBCore compatibility. Or force 'qbcore' (also for QBox), 'esx', 'standalone''auto'
Config.CoreResourceIn the file, but not read by this version: detection always looks for resources named qb-core and es_extended''
Config.LocaleLanguage for notifications and the tablet. Falls back to English'en'
OptionWhat it doesDefault
Config.TabletOpenMode'item', 'command' or 'both''item'
Config.TabletItemThe usable item that opens itmic_boosting_tablet
Config.TabletCommandThe command that opens it, in command or both modeboosting
OptionWhat it doesDefault
Config.AdminCommandCommand that opens the admin panelboostingconfig
Config.AdminGroupsRanks that count as admin. ESX compares the player’s group; QBCore asks HasPermission for each nameadmin, superadmin, god
Config.AdminAceAn ACE that also makes you admin. The only route on standalone. false turns it offcommand

The same check decides who sees the Admin tab inside the tablet. More in ⌨️ Commands & permissions.

OptionWhat it doesDefault
Config.InteractionSystemHow the lockpick prompt appears on the car: 'ox_target', 'qb_target' or 'drawtext' (press E)'ox_target'
Config.PoliceJobsJobs counted for each class’s minimum police onlinepolice, sheriff, lspd, bcso

With ox_target the car also shows a separate EMP Jammer option to anyone carrying one. In the other modes the jammer is still used — automatically, when the lockpick starts.

OptionWhat it doesDefault
Config.ForceDropoffIdSends every contract to this drop-offnil (random)
Config.ForceLocationIdSpawns every contract at this pickup spotnil (random)
Locations.BlipRadiusRadius in metres of the search circle around the target car150.0

shared/prices.lua — the first start only

Section titled “shared/prices.lua — the first start only”

This file seeds six economy values into the database the first time the resource starts (when the settings table is empty). After that, editing it does nothing — change them in the admin panel’s Settings tab.

Prices.Tools in the same file is not what the tool shop sells: the shop reads its catalogue from the admin panel’s Market tab.


/boostingconfig opens it on Locations. Add a tab to open it somewhere else: locations, dropoffs, classes, vehicles, setups, progression, minigames, market or settings — for example /boostingconfig classes.

TabWhat you manage there
LocationsPickup spots: a car position and four guard positions each, the allowed classes and the guard setup per class. Teleport, reorder, edit, delete, or place a new one in the world
Drop-OffsWhere cars are delivered. Place new ones in the world, teleport, delete
ClassesEverything per class (table below)
VehiclesThe car pool each class draws its targets from
NPC SetupsNamed guard loadouts and their weapons
ProgressionChallenges, milestones, achievements and perks
MinigamesEach minigame, its difficulty settings, on/off, and which classes use it
MarketThe tool shop: items and buffs, price, currency (MB or cash), value, minimum class, on/off
SettingsEconomy, heat, the Tools tab and the drop-off marker

Placing in the world. New spots and drop-offs are placed with a ghost: E confirms, the mouse wheel rotates, Backspace aborts. A pickup spot is the car first, then four guards, then a name.

Six ship: D, C, B, A, S and S+.

SettingWhat it does
Label, minimum levelThe name shown and the level needed to take it (D 0, C 3, B 6, A 10, S 15, S+ 20)
XP range, payout rangeWhat a delivered car gives, rolled between the two values
Time limitMinutes to deliver
CooldownSeconds before the same player can take another
Queue min / maxHow long the queue takes to find a contract
Daily limitsContracts per player and per crew per day (0 = unlimited)
Max lockpick attemptsTries before the lock gives up
Police alertWhether police get a dispatch alert for this class
Heat gainHeat added per job
Min police onlinePolice needed online to join or accept. Ships at 2 for every class
Wanted starsWanted level given to the thief once the car is open (D 1 … S+ 5)
SettingWhat it doesShipped value
VIN Scratch MultiplierThe VIN-scratch fee is 35% of the payout × this value, paid in MB4.0
XP per LevelXP needed for the next level = level × this value500
Heat Decay per MinuteHeat removed every minute from players who are online2
Max HeatAt this heat, contracts are refused until it cools100
Hide Locked ItemsHides tool-shop items above the player’s classOff
Dropoff markerOn/off, marker type, colour (RGBA) and sizeOn, type 2, red
Queue Fee, Crypto RateListed in the panel. In this version joining the queue is free and a delivery credits its full payout in MB0, 0.10

boostingseed, typed in the server console, wipes the configuration tables and puts the shipped defaults back. Player data — profiles, levels, MB, crews, contracts, market listings — is not touched.


Eleven ship in locales/: en, es, fr, pt (Brazilian), de, tr, it, nl, pl, cs, ru. Set Config.Locale to one of them. A key missing from a language falls back to English.

To add one:

  1. Copy locales/en.lua to locales/<code>.lua and change the language code at the top of the table.
  2. Translate the values in both halves: script (notifications — keep %s and %d) and ui (the tablet — keep the {name} placeholders). date.intl_locale sets the date format on the lock screen.
  3. Add the file to shared_scripts in fxmanifest.lua, after locales/en.lua, then refresh.
  4. Set Config.Locale to the new code.

Both bridge files are open, and they are where a custom framework, inventory, notification or dispatch gets plugged in.

bridge/server_bridge.lua

FunctionWhat it is for
Framework detectionPicks qbcore, esx or standalone and prints it
GetPlayerIdentifiercitizenid on QBCore, identifier on ESX, license: on standalone
GetPlayerJob, GetPoliceCountJob names, and how many players hold a job in Config.PoliceJobs
AddMoney, RemoveMoneyCash rewards and cash purchases use the money account
AddItem, RemoveItem, HasItemox_inventory first when it is running, otherwise the framework
RegisterUsableItemMakes the tablet item usable (ESX and QBCore; nothing on standalone)
GiveVehiclePuts a VIN-scratched car in the garage: owned_vehicles on ESX, player_vehicles in pillboxgarage on QBCore
IsAdminThe ACE, then Config.AdminGroups
NotifyFramework notification from the server

bridge/client_bridge.lua

FunctionWhat it is for
NotifyQBCore or ESX notification, native feed on standalone
ShowTextUI, HideTextUIThe prompt in drawtext mode. Commented examples for okokTextUI and cd_drawtextui
ClientHasItemClient item check, used by the EMP option on the car
AddEntityInteraction, RemoveEntityInteractionox_target / qb-target / drawtext on the car
PoliceDispatchRuns on each police client when an alert fires. Default: a notification and a flashing blip for 60 seconds. Commented examples for cd_dispatch and ps-dispatch

Most notifications a player sees come from inside the tablet as its own toasts, not through the framework.