Features
The 3D map
The map is the same 3D layer as the Koja Dispatcher: GTA V radar tiles with level of detail, terrain from the in-game heightmap and extruded buildings, graded in the warm Koja Appearance colours.
| Control | Action |
|---|---|
| Left drag | Move the map |
| Right drag | Rotate and tilt the camera |
| Scroll | Zoom at the cursor |
+ / − / crosshair (right dock) | Zoom in, zoom out, back to the selected spot |
| Click a pin | Select it. Click the selected pin again to spawn |
When the map opens, the camera starts high above the island and glides down to the preselected spot. A pulsing ring and a light beam in the accent colour mark the selected location.
The location panel
- Header — position in the list (
03 / 08) and the server name. - Card — the selected spot with its category, description, street, coordinates and, for the last location, how long ago it was saved. Without an
image, the card shows the map around the spot. - List — every location grouped by category. Locked spots show a lock and their label ("Police only").
- Toolbar — at the top of the map, filters the list and the pins by category.
- Footer — Spawn here, and an exit button when cancelling is allowed.
| Key | Action |
|---|---|
↑ / ↓ or W / S, mouse wheel over the list | Browse |
Enter | Spawn at the selected spot |
Esc | Close, when canCancel is on |
+ / - | Zoom |
Locks
Locks are decided on the server when the list is built:
jobs(with minimum grade andonDuty)gangsaceServerEditable.CanAccess- Every check added with
AddAccessCheck
The first one that says no locks the spot, and its reason becomes the label. When the player confirms, the server looks the spot up in the list it sent and refuses locked or unknown ids, so a modified UI cannot spawn anywhere else.
Last location
The position of every spawned player is saved every SaveInterval seconds, on logout, on disconnect and when the resource stops.
Positions in a routing bucket other than 0 are skipped when IgnoreBuckets is on, so nobody comes back inside an instanced interior.
Tracking starts only after the player landed, so the hidden ped of the selection screen is never saved.
The camera flight
- The ped is placed and frozen, and streaming starts around the spot (it already started while the player was browsing).
- A top-down shot from
Heightmetres. - A descent to a shot behind and above the ped.
- The game waits for collision and the scene (up to
LoadTimeout), then the ped appears. - A last move over the shoulder and a blend into the gameplay camera.
A letterbox and a "Spawning into" card are shown over the flight. Set Config.Cinematic.Enabled = false or cinematic = false on a spawn for a plain fade.
Integrations
| With | What happens |
|---|---|
| ESX | Opens on esx:playerLoaded. New characters skip it unless Config.NewCharacter.UseSelector is on |
| QBCore / QBox (qb-multicharacter) | Replaces qb-spawn. New characters with qb-apartments pick a starter apartment; after spawning, the usual QBCore:Client:OnPlayerLoaded events fire |
| qb-houses | Owned houses are listed under Property |
| Koja Multicharacter | Opens this map after character selection. ESC goes back to the character list |
| No locations at all | The player gets a message and spawns at Config.Fallback |