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

Placement

Moving the Job

Every location is a plain vec3 / vec4 in cfg.lua. Some are free to move anywhere on the map, some are pinned to the map that provides the crane and the vault.


Free to move

Field
What it is

cfg.heist.start.npc.coords

The fixer NPC who hands out the job

cfg.heist.pickup.truck

Where the flatbed waits

cfg.heist.pickup.crane

Where the crane sits on the ground

cfg.heist.pickup.forklift

Where the forklift waits

cfg.heist.tow.dropoff

Drop-off bay for the car and the chest

cfg.heist.buyer.coords

The buyer NPC at the drop-off

Move these anywhere. Keep the buyer inside cfg.heist.tow.dropoffRadius of the drop-off so the crew can reach both.


Pinned to the map

Field
What it is

cfg.scene.coords.crane

Crane base on the parking deck

cfg.scene.coords.vault

The vault inside the office

cfg.scene.coords.wall

The breakable wall, the C4 target

cfg.scene.coords.vaultDropped

Where the crane sets the chest down

cfg.scene.delivery.park

Flatbed bay on the deck

cfg.heist.parking.tow

Tow car bay on the deck


The loading bay

The flatbed does not park on a fixed coordinate at the pickup. Instead it has to be backed up to the crane:

The spot is derived from the crane's own position and heading, so moving cfg.heist.pickup.crane moves the bay with it. loadFacing = 180 means the truck's rear faces the crane; loadHeadingTolerance is how many degrees off square is still accepted.

Loosen loadRadius and loadHeadingTolerance if your players struggle to line the truck up.


Bay markers

The two parking bays are drawn on the ground as vehicle-sized boxes:

Sizes are visual only. What actually counts as parked is cfg.heist.parking.radius for the car and cfg.heist.parking.truckRadius for the flatbed.

Setting cfg.dev = true temporarily adds in-game helpers for reading coordinates and previewing the bays while you tune them. Set it back to false before going live.

Last updated