Skip to main content

Remote & Passenger

Remote vehicle control via tablet animation, and passenger access mode for non-driver app usage.

This section

Remote & Passenger

Two access-mode features that extend Carplay beyond just the driver seat.

FeatureUse Case
Remote ControlOperate your owned vehicle from outside (summon, nudge, horn)
Passenger ModeLimit which apps passengers can use while driver is active

1. Remote Vehicle Control

Lets a player operate their owned vehicle from outside. Carplay opens with a tablet animation prop in their hands, and a limited control panel appears for remote operations.

Features

  • Tablet prop animation — a tablet appears in the player's left hand with a looping idle animation
  • Vehicle ownership check — server-side verification against owned_vehicles (ESX) or player_vehicles (QB / QBox)
  • Summon — vehicle drives itself toward the player
  • Forward / backward nudge — small movements (e.g. when the car is blocking a parking spot)
  • Horn — sound the horn for a configurable duration
  • Distance gating — controls only available within a configurable range

How It Works

  1. Player opens Carplay outside any vehicle (via command, key, or item — gated by config)
  2. The script searches for vehicles within Config.Remote.distance meters
  3. For each candidate plate, the server checks ownership
  4. Owned vehicles appear in a list; the player picks one
  5. The tablet prop attaches to their left hand and the animation plays
  6. The remote control panel opens with summon / nudge / horn buttons

Configuration

lua
Config.Remote = {
enabled = true,
distance = 30.0, -- max detection distance (meters)
summonSpeed = 15.0, -- summon drive speed (km/h)
movementSpeed = 3.0, -- forward/backward nudge speed (km/h)
hornDuration = 2000, -- horn duration (ms)
}

Ownership Check

The server queries the appropriate vehicle ownership table based on framework:

FrameworkTableOwner column
ESXowned_vehiclesowner
QBCoreplayer_vehiclescitizenid
QBoxplayer_vehiclescitizenid

Standalone servers do not have ownership tables — Remote Control is disabled for standalone unless you implement a custom ownership check.


2. Passenger Mode

When a player is in a vehicle as a passenger (not the driver), Carplay opens with a limited app set. This stops passengers from messing with the driver's vehicle controls but still gives them access to navigation and music.

Configuration

lua
Config.Passenger = {
enabled = true,
apps = {"map", "music"}, -- which apps passengers can use
}
  • enabled = false → passengers cannot open Carplay at all
  • enabled = true, apps = {"map", "music"} → passengers see only Map and Music apps
  • enabled = true, apps = {"map"} → passengers see only Map

Available app IDs (must match Config.Apps):

  • map
  • music
  • weather
  • health
  • lights
  • notes
  • games
  • settings
  • securitycam

How It Works

  1. Player opens Carplay while seated as a passenger
  2. The script detects the player is not in seat -1 (driver)
  3. Carplay opens but the sidebar is filtered to only show the apps in Config.Passenger.apps
  4. The vehicle control dock is hidden for passengers
  5. Music HUD and map are still accessible