Skip to content

Troubleshooting ​

No prompt appears near a configured vehicle ​

  • Confirm the vehicle model name in config.lua matches exactly what the game uses as the display name (uppercase, e.g. 'SANDKING', not 'Sandking'). Hash comparison is case-insensitive but the key must match for the editor export.
  • Check that the targeting resource (ox_target, qb-target, etc.) is started before rc_extra_seats in server.cfg. If the targeting resource starts late, its entities are not registered.
  • If Config.target.enabled = true and the targeting resource is not running at all, no prompt will appear. Either start the resource or switch to Config.target.enabled = false.
  • With Config.doorLock.enabled = true, no prompt shows on a locked vehicle. The default GetVehicleLockState checks the native door lock status (0 or 1 = unlocked). If your server uses a custom lock system, override GetVehicleLockState in client/editable/functions.lua.
  • Check engine health: the runtime skips the prompt if engine health is below 100. A freshly spawned vehicle with damage or a blackout engine will not show the seat.

Prompt only fires while the player is moving ​

This was a pre-2.0 bug. If you see it, you are running an old version. The check that caused it (IsEntityAttachedToAnyVehicle) was removed — the detect radius is now the sole spatial gate, which fires regardless of player movement state.

Seat prompt appears but sitting does nothing / "occupied" flash immediately ​

  • Another player may genuinely hold the seat. Use /seatocclist to see current occupancy.
  • The server claim timed out. The client waits up to 3 seconds for server confirmation. If the server is overloaded or the event is dropped, the claim fails and "occupied" is shown as a fallback. Check for script errors in the server console around the time of the failure.
  • If many players are stuck-occupied with no one actually sitting, use /seatfreeall to reset global state and restart the resource if it recurs.

Editor won't open (pressing N does nothing or shows "Access denied") ​

  • Your player must have the rc_extra_seats.editor ACE, or be in a group that has command allowed. Check server.cfg for the relevant add_ace line.
  • If you are in an admin group and still denied, double-check that the add_principal identifier.… group.admin line for your identifier is present.
  • With Config.debugMode.enabled = true, the server console will print [rc_extra_seats] access-denied src=… (Name) when access is rejected — a quick way to confirm the server is seeing your attempt.

Freecam doesn't start when I open the editor (error C001) ​

Error C001 in the F8 console means the scripted camera failed to be created. This is a GTA build-specific scripted-cam issue. Try:

  • Closing any other resource that creates a scripted camera before opening the editor.
  • Switching to a different GTA graphic profile or restarting the game client.

Preview peds don't appear (C002 / C003) ​

  • C002 — the preview ped model (mp_m_freemode_01) failed to stream in within the timeout. This can happen under very high server load. Close and reopen the editor to retry.
  • C003 — the seated idle animation dictionary failed to load. Same cause and fix as C002.

Vehicles without a boot bone are not detected (skidsteers, semis, some bikes) ​

Fixed in the current version. GetNearestVehicle falls back to entity coordinates when the boot bone is absent. If you experience this on the current version, confirm you are not running a cached older client/functions.lua.

Export file not saved (error S001) ​

S001 in the server console means SaveResourceFile failed for seat_exports/<file>.lua. Common causes:

  • The seat_exports/ folder does not exist and the OS user running the server does not have write permission to create it. Create the folder manually inside the resource directory.
  • The resource is running from a read-only path (some txAdmin setups with read-only artifacts). Move the resource to a writable path.

The export snippet is still shown in the NUI panel even if the file save fails — copy it from there.

Players are permanently stuck seated after a server crash or resource restart ​

The server clears all occupancy on onResourceStop and runs a startup audit that wipes any stale trunkSeats statebag bits 2.5 seconds after boot. If players are still stuck after a restart:

  1. Run /seatfreeall in the server console.
  2. If the issue persists, the client-side state is stuck. Ask affected players to disconnect and reconnect — the playerDropped handler forces a cleanup on the next join.

Periodic self-heal audit ​

The server runs an occupancy audit every 15 seconds. If it finds a player in the registry whose vehicle no longer exists, it releases them automatically. If it finds the statebag bit cleared for a player the registry still thinks is seated, it restores the bit. This audit runs silently unless Config.debugMode.enabled = true.

Locked-vehicle logic seems backwards ​

GetVehicleLockState in client/editable/functions.lua returns true for unlocked (prompt allowed) and false for locked (prompt blocked). The name reflects "can the player access?" not "is it locked?". If you override this function for a custom lock system, match this convention.

Robicore