Impound Heist Dependencies
The heist declares seven hard dependencies in its manifest. The server will not start vs-impound-heist until all of them are running.
Support matrix
| Layer | Supported | How it is chosen | Notes |
|---|---|---|---|
| Framework | Qbox · QBCore · ESX | Auto-detected, no config key | Used for three things only: paying cash, charging cash at the supplier, and reading a player's character id and job (for reputation, rejoining a crew, and counting police). |
| Target | ox_target | Hard dependency | Every "eye" interaction: the fixer, the supplier and his van, the buyer, the post-it. |
| Inventory | ox_inventory | Hard dependency | The two usable items, item counts, the supplier's sales, and the safe's item loot. |
| Database | oxmysql | Hard dependency | The reputation table only. |
Framework detection order is es_extended → qbx_core → qb-core. Qbox is checked before QBCore because qbx_core also provides qb-core, and checking QBCore first would mislabel a Qbox server. If no core is running the heist still loads, but it prints a warning that a crew cannot be paid.
There is no qb-target or qb-inventory support. ox_target and ox_inventory are hard dependencies of both the heist and the Impound Job.
Required resources
Start all of these before vs-impound-heist.
| Resource | Purpose |
|---|---|
| ox_lib | callbacks, notifications, shared init |
| oxmysql | the vs_heist_reputation table |
| ox_target | the eye on the fixer, the supplier and his van, the buyer and the post-it |
| ox_inventory | the signalbox and microcamera_impound items and their exports, the supplier's stock, the safe's loot |
vs-npc-dialogue (free) | the dialogue box for the fixer, the supplier and the buyer, and the fixer's face on the standing panel |
vs-minigames (free) | the frequency tuner, Impact Control, cable cut, code dial, and the full-screen code note |
vs-impoundjob (the Impound Job) | the yards themselves, and the Creator the heist is set up from |
The heist calls these vs-minigames exports: StartFrequencyTuner (the signal box), StartImpactControl (breaking the car window), StartCableCut (hot-wiring), StartCodeDial (the safe), ShowCodeNote (reading the post-it), plus IsOpen and CloseAll. Keep vs-minigames up to date alongside the heist so every one of them is present. The difficulty of Impact Control is set in vs-minigames' own config, not here.
What the heist takes from the Impound Job
The Impound Job is a hard dependency because the heist has no yards of its own. The link between the two is deliberately small.
One read-only export. The heist calls exports['vs-impoundjob']:GetLots() and gets back, for every lot:
- its id, name, service mode and "can be robbed" flag;
- the points the admin placed there that other resources are allowed to see: the map blip, the boss terminal, the yard gates (one or several), the entrance gate, the handover bay, the impound point, and the safe;
- the yard's empty parking bays, as coordinates only. A lot that does not impound cars (a Public Job depot) hands out none.
The list is re-read every 15 seconds, and again 5 seconds after vs-impoundjob restarts. The heist never writes anything back, never reads the Impound Job's database, and never moves a stored vehicle: the cars in a contract are spawned for it.
The Creator draws the heist's settings. The HEIST button in the Impound Job's Creator is a screen for the heist's own data. Each change passes the Impound Job's admin gate, then goes to the heist through its exports (GetSetup, SaveSetup, SetSetupPoint, RemoveSetupPoint, ResetSetup). Those exports refuse calls from any resource other than vs-impoundjob. See Setup in the Creator.
The gates are shared. The Impound Job holds its yard gates shut on its own schedule. When the heist releases them, it broadcasts the event the Impound Job listens for, so its gate keeper stands down until the contract ends and the player has walked away.
If vs-impoundjob stops while a contract is running, the contract ends for the whole crew ("The job is off. Something went wrong on the other end."). If it is not running at all, the heist stays dormant and the fixer says there is no work.
Not required
- A dispatch or CAD script. The silent alarm is built in. See Police & Dispatch.
- A specific map. The heist robs any yard built in the Impound Job. The Los Santos Impound MLO adds a safe door that swings open; see Compatibility.
Startup order
ensure qbx_core # or qb-core / es_extended
ensure ox_lib
ensure oxmysql
ensure ox_target
ensure ox_inventory
ensure vs-npc-dialogue
ensure vs-minigames
ensure vs-impoundjob
ensure vs-impound-heist
Full walkthrough on the Installation page.