RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Gameplay AchievementGameplay CityDiscoverForce FieldGarage ModeMarker InteractionParking SystemGameplay Playmode MarkersGameplay PoliceGameplay RallyGameplay Rally LoopGameplay Raw POIsGameplay Skidpad TestSpeed Trap LeaderboardsSpeed Traps and CamerasGameplay StatisticsTaxi Ride SystemTraffic SystemVehicle PerformanceWalking

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE Extensionsgameplay

Taxi Ride System

Reference for `gameplay_taxi`, which manages the full taxi ride experience - finding nearby taxis, hailing, entering, choosing a destination via the big map, AI-driven travel, idle camera, skip/telepo

Reference for gameplay_taxi, which manages the full taxi ride experience - finding nearby taxis, hailing, entering, choosing a destination via the big map, AI-driven travel, idle camera, skip/teleport, and exiting.


Module Exports (M)

FunctionSignatureDescription
startTaxiWithCurrentRoute(skipWait?)Starts the taxi driving along the current route planner path

Hooks (Event Handlers)

HookDescription
onUpdateMain loop: detects nearby taxis, manages ride steps, blinkers, idle camera
onVehicleSwitchedHandles entering/exiting the taxi
onGameplayInteractPlayer interaction: stop driving taxi or hail nearby taxi
onChangeDestinationCalledRe-opens big map to change destination mid-ride
onHurryUpCalledPlaceholder for speed-up feature
onSkipCalledTeleports taxi near destination (fade-to-black skip)
onTrafficVehicleRespawnedClears ignore list for respawned taxis

Internals

Ride Steps

StepDescription
nothingNo taxi interaction active
taxiCalledTaxi is pulling over to pick up the player
chooseDestinationPlayer is in taxi, big map open for destination selection
taxiDrivingTaxi AI driving to destination
taxiPullingOverTaxi pulling over at destination
M.onChangeDestinationCalled()
M.onGameplayInteract()
M.onHurryUpCalled()
M.onSkipCalled()
M.onTrafficVehicleRespawned(id)
M.onUpdate(dtReal, dtSim, dtRaw)
M.onVehicleSwitched(oldId, newId)
M.startTaxiWithCurrentRoute(skipWait)

Key Systems

  • Taxi detection: Scans all map objects for vehicles with "taxi" in their config name, within 20m and below 150 km/h speed limit roads
  • Blinker system: Activates pull-over indicators (right for right-hand-drive), hazard lights when stopped, merge signal when departing
  • Idle camera: Switches to external camera after 7s of no mouse rotation during taxi ride; reverts on input
  • Skip/teleport: Fades to black, teleports taxi to a waypoint near destination, temporarily speeds up physics (2x), then fades back
  • Walking integration: Uses gameplay_walk to manage vehicle blacklist (taxi becomes enterable/exitable)

Route Building

The getAiPath() function converts core_groundMarkers.routePlanner path into AI waypoints:

  1. Finds the first waypoint ahead of the vehicle (using dot product with forward vector)
  2. Records a skip position for teleport functionality
  3. Sets AI with aggression 0.3, avoid cars on, drive in lane, speed limit mode

How It Works

  1. Player walks near a taxi → "Press [interact] to stop it" message shown
  2. onGameplayInteract calls callAndStopTaxi() → taxi AI pulls over, becomes player-usable
  3. Player enters taxi → onVehicleSwitched opens big map in taxi mode
  4. Player sets route → startTaxiWithCurrentRoute() sends AI path, starts driving
  5. Near destination (< 100m) → "almost arrived" message; at 30m → auto pull over
  6. Player exits taxi → returns to walking mode, taxi resumes traffic AI

Usage Example

-- Programmatically start a taxi ride with current route
gameplay_taxi.startTaxiWithCurrentRoute()

-- Skip to near destination
gameplay_taxi.onSkipCalled()

See Also

  • Gameplay Achievement - Related reference
  • Gameplay City - Related reference
  • discover - Discover / Experience System - Related reference
  • Gameplay Systems Guide - Guide

Gameplay Statistics

Reference for `gameplay_statistic`, the central metrics engine that records, persists, and reports gameplay statistics. Supports both global and career-scoped data with timers, callbacks, and a schedu

Traffic System

Reference for `gameplay_traffic`, the master traffic system that spawns, manages, respawns, and pools AI traffic vehicles. This is the central orchestrator for all traffic behavior.

On this page

Module Exports (M)Hooks (Event Handlers)InternalsRide StepsKey SystemsRoute BuildingHow It WorksUsage ExampleSee Also