For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration

Everything is configured in cfg.lua. After editing, restart the resource (ensure rm_blackmarkets).

Locale & bridge

cfg.locale = 'en' -- locale file in /locales (en.json by default)

cfg.bridge = {
    framework    = 'auto',     -- 'auto' | 'qb' | 'esx'
    target       = 'auto',     -- 'auto' | 'ox_target' | 'qb-target' | false
    notification = 'builtin',  -- builtin | ox_lib | qb | esx | okokNotify | ps-ui | lation_ui | wasabi_notify | zsxui
    textUI       = 'builtin',  -- builtin | ox_lib | esx | qb | okokTextUI | jg-textui
    progressbar  = 'builtin',  -- builtin | ox_lib | qb | esx | wasabi_uikit | lation_ui | zsxui | false
    vehiclelock  = 'auto',     -- auto | false | qb-vehiclekeys | wasabi_carlock | qs-vehiclekeys | ... | jaksam
    dispatch     = false,      -- false | default_dispatch | cd_dispatch | ps-dispatch | rcore_dispatch | ...
    phone        = 'auto',     -- auto | lb-phone | yseries | false
}

'auto' tries known resources in order and uses the first one that is running. Set an explicit value to force one, or false to disable that integration. The full list of supported values for each key is in Phone & Integrations.

NUI

cfg.nui = {
    primaryColor   = '#f15d38',                  -- accent color of every panel
    itemImagesPath = 'ox_inventory/web/images/', -- where item icons are served from

    overlays = { -- on-screen position of each HUD overlay
        driver       = 'top-right',
        vanInspect   = 'top-right',
        door         = 'top-right',
        seller       = 'top-left',
        customer     = 'right-center',
        customerCart = 'left-center',
    },
}

primaryColor also accepts an { r, g, b, a } table. itemImagesPath is a resource-relative path; the script adds the nui:// prefix itself, so don't include it. Each overlay accepts any of the nine anchor positions (top-left, center, bottom-right, …).

Interaction prompt

Police

jobs decides who counts as police for drop gating, dispatch and the seize/search interactions. countMethod controls how the live officer count is measured; leave it on fast unless you have a reason to change it.

Warehouse

The core of each operation. Coordinates here are the default template used when an admin creates a warehouse (the entrance/exit are then placed in-world per warehouse).

  • crates.slots are purely cosmetic crate props placed inside the interior.

  • pricing sets the default sale-price multiplier and the min/max range owners may set per item.

Items

The master catalog. Anything sellable, orderable or stockable must be listed here and exist in your inventory.

Field
Required
Meaning

name

Yes

Item/weapon name as registered in your inventory.

supplyPrice

Yes

Cost to order one unit (the buy price from the vault).

label

No

Display name override (otherwise taken from the inventory).

weight

No

Per-unit weight override for van capacity.

minPerSupplyOrder / maxPerSupplyOrder

No

Per-order quantity limits for this item.

propModel

No

Custom prop shown in the van item-preview camera.

Full walkthrough on How to Add an Item.

Supply orders

  • scaling makes the order ETA and the police-dispatch chance ramp up linearly with the order subtotal, up to maxAtSubtotal.

  • drop.locations is the pool the server randomly picks from when an order goes ready. Add your own vec4 points or edit them live from the admin panel (Admin Panel).

  • livePoliceTrack optionally pins a live, updating blip on the suspect during pickup.

Van

  • capacity.mode — weight uses each item's weight, slots counts item stacks, false disables limits.

  • replacement controls whether losing the van (seizure/destruction) forces a paid replacement before the warehouse can operate again.

Sale

Controls the mobile van sale and the customer experience.

  • publicShare.mode — always forces the sale onto the public map/dispatch, never hides it, optional lets the seller choose.

  • itemPreview renders the highlighted item as a 3D prop on the van with an optional zoom; use a per-item propModel (in cfg.items) to override the prop.

Member presets

Role templates offered when hiring crew. Each preset is a set of permission flags.

Owners can fine-tune individual permissions per member from the laptop afterwards; presets are just the starting point. The full permission key list is shown in the Members tab and on Admin Panel.

Admin

Players with the command ace are always allowed. See Admin Panel.

NPC vendor

This is large enough to have its own page — see NPC Vendor.

Black money

When disabled, sales pay out in regular cash.

Retention

A daily cron prunes anything older than these windows. Set a value to 0 to keep records forever.

Last updated