Skip to main content

Installation Steps

1

Install required dependencies

Verify all dependencies below are started before this script in your server.cfg.

ox_lib

Download ox_lib
2

Download the bridge

The bridge is provided free with the purchase of any script that requires it.
  1. Go to your CFX Portal - Granted Assets
  2. Search for projectx-bridge
  3. Download and extract the resource
If you don’t see the bridge in your portal, make sure you have purchased a script that includes it. The asset is granted automatically with those purchases.
3

Extract and place the resource

Extract the bridge from the zip file and place it into your standalone folder or a folder that is started before your Project X scripts.
4

Configure the resource

Open config/config.lua and adjust the settings to match your server setup. See the configuration section below.Most settings support 'auto' which will automatically detect your resources at startup.
5

Add to server.cfg

Add the bridge before any script that depends on it:
ensure ox_lib
ensure projectx-bridge

ensure projectx-sandybankrobbery-prompt
ensure projectx-ammunationrobbery-tstudio
The bridge must be started before any script that depends on it in your server.cfg. Scripts will fail to load if the bridge is not running.

Configuration

Below is the full configuration with explanations for every option.
Config = {
    Lan = 'en',
    Framework = 'auto',
    ESX = "new",
    Inventory = "auto",
    Notification = "ox",
    Progressbar = "ox",
    XPSystem = "auto",
    Interaction = "auto",
    Drawtext = "ox",
    Evidence = "auto",
    LogsService = "discord",
    Dispatch = "auto",

    GlobalCooldownDuration = 15,

    EnableGlobalCooldown = {
        ["projectx-sandybankrobbery-prompt"] = false,
        ["projectx-ammunationrobbery-tstudio"] = false,
        ["projectx-ammunationrobbery-fm"] = false,
        -- ... all other scripts
    }
}

Core Settings

Lan
string
default:"en"
The language for all scripts using the bridge. Supported values: en, pl, de, da, fr, in, am, ph, no, nl, ja, ru, gr, se, lt, ar, bg, bs, cn, cs, ee, es, et, fa, fi, ge, he, hu, id, is, it, lv, pt, pt-br, ro, rs, sl, sv, th, tr, vn
Framework
string
default:"auto"
Your server framework. Use 'auto' to detect automatically, or set manually:
  • 'qbox' - Qbox
  • 'qb-core' - QBCore
  • 'esx' - ESX
  • 'custom' - Custom (requires editing the open source functions)
ESX
string
default:"new"
ESX version, only relevant if you are using ESX as your framework:
  • 'new' - ESX 1.5+
  • 'old' - ESX 1.4 and below
Inventory
string
default:"auto"
Your inventory system. Use 'auto' to detect automatically, or set manually:
  • 'ox' - ox_inventory
  • 'qb' - qb-inventory
  • 'ps' / 'lj' - ps-inventory / lj-inventory
  • 'codem' - codem-inventory
  • 'origen' - origen_inventory
  • 'tgiann' - tgiann-inventory
  • 'esx' - ESX default inventory
  • 'other' - Custom (requires editing the open source inventory export)
Notification
string
default:"ox"
Notification system to use:
  • 'ox' - ox_lib notifications
  • 'qb' - QBCore notifications
  • 'esx' - ESX notifications
Progressbar
string
default:"ox"
Progress bar system to use:
  • 'ox' - ox_lib progress circle
  • 'qb' - QBCore progressbar
XPSystem
string
default:"auto"
XP/skills system. Use 'auto' to detect automatically, or set manually:
  • 'pickle' - pickle_xp
  • 'sd-levels' - sd-levels
  • 'cw-rep' - cw-rep
  • 'ot_skills' - OT_skills
  • 'none' - No XP system
Interaction
string
default:"auto"
Interaction/target system. Use 'auto' to detect automatically, or set manually:
  • 'ox_target' - ox_target
  • 'qb-target' - qb-target
  • 'interact' - World Interact (darktrovx/interact)
  • 'drawtext' - Drawtext fallback (no target system)
Drawtext
string
default:"ox"
Drawtext system used when Interaction is set to 'drawtext':
  • 'ox' - ox_lib TextUI
  • 'qb' - QBCore DrawText
  • 'OLDQB' - qb-drawtext (legacy)
Evidence
string
default:"auto"
Evidence system for fingerprint drops. Use 'auto' to detect automatically, or set manually:
  • 'qbx_police' / 'qb-police'
  • 'wasabi' - wasabi_evidence
  • 'snipe' - snipe-evidence
  • 'dlab' - d_labs_evidence
  • 'tk' - tk_evidence
  • 'dusa' - dusa_evidence
  • 'r14' - r14-evidence
  • 'none' - Disabled
LogsService
string
default:"discord"
Logging service for script activity:
  • 'discord' - Discord webhooks
  • 'fivemerr' - Fivemerr
  • 'fivemanage' - Fivemanage
  • 'custom' - Custom (requires editing the open source logs function)
Dispatch
string
default:"auto"
Dispatch system. Use 'auto' to detect automatically, or set manually to your dispatch resource name. See the FAQs for the full list of supported values.For unsupported dispatch systems:
  • Set to 'customsv' and edit opensource/server.lua for server-side dispatch
  • Set to 'customcl' and edit opensource/client.lua for client-side dispatch

Global Cooldown

GlobalCooldownDuration
number
default:"15"
How long the global cooldown lasts in minutes. When a robbery is completed on a script that has the cooldown enabled, all other scripts with cooldowns enabled will be locked for this duration.
EnableGlobalCooldown
table
A table of resource names and whether the global cooldown applies to them. Set a script to true to include it in the global cooldown system, or false to exclude it.
EnableGlobalCooldown = {
    ["projectx-sandybankrobbery-prompt"] = true,
    ["projectx-ammunationrobbery-tstudio"] = true,
    ["projectx-storerobbery-gabz"] = false,
}