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
Rally Audio ManagerRally Camera Path PlayerRally ClientRally Cut CaptureRally EnumsRally Extension HelperRally GeometryRally ManagerRecce ManagerRecce AppRecce SettingsRally Settings ManagerSnap-to-RoadTraffic Exclusion ZonesRally UtilityRally Vehicle CaptureRally Vehicle Tracker

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 Extensionsgameplayrally

Rally Vehicle Tracker

Class that tracks the player vehicle's position, velocity, speed, and damage during rally gameplay. Provides damage detection with configurable threshold.

Class that tracks the player vehicle's position, velocity, speed, and damage during rally gameplay. Provides damage detection with configurable threshold.


Constructor

local VehicleTracker = require('gameplay/rally/vehicleTracker')
local tracker = VehicleTracker(damageThreshold)
ParameterTypeDescription
damageThresholdnumber?Minimum damage diff to trigger justHadDamage (default 1)

Methods

MethodSignatureReturnsDescription
getVehicleId()numberPlayer vehicle object ID
getVehicle()objectPlayer vehicle object
onUpdate(dtReal, dtSim, dtRaw)nilPer-frame update - tracks position and damage
pos()vec3?Current vehicle position
velocity()vec3?Current velocity vector
speedMs()numberSpeed in meters/second
damage()number?Current vehicle damage value
didJustHaveDamage()boolTrue if damage increased above threshold this frame
setDebugDraw(enabled)nilEnable/disable debug visualization
drawDebugInfo()nilDraw position marker, velocity vector, and speed text

Internals

  • vehicleData: Reference to map.objects[vehicleId] (updated each frame)
  • lastDamage: Previous frame's damage value for delta calculation
  • lastDamageDiff: Most recent damage increase amount
  • damageThreshold: Minimum delta to set justHadDamage flag
  • wheelOffsets: Local-space wheel positions (computed on init)
  • currentCorners / previousCorners: World-space wheel positions

How It Works

  1. On init, reads wheel axis node positions to build local-space offset table
  2. onUpdate() refreshes vehicle data from map.objects, then checks damage
  3. Damage tracking compares current vs last frame - sets justHadDamage if delta ≥ threshold
  4. Position/velocity use direct vehicle object calls (getPositionXYZ, getVelocityXYZ)
  5. Uses vec3:set() pattern to avoid garbage collection overhead
local tracker = VehicleTracker(5) -- 5 damage threshold

-- In update loop
tracker:onUpdate(dtReal, dtSim, dtRaw)

local speed_kmh = tracker:speedMs() * 3.6
if tracker:didJustHaveDamage() then
  log('I', '', 'Vehicle took damage!')
end

Dependencies

  • gameplay/rally/util - utility functions
  • map.objects - vehicle data from traffic/AI map
  • core_vehicleBridge - not directly used but related

Notes

  • Uses profilerPushEvent/profilerPopEvent for performance profiling
  • Debug visualization draws magenta sphere at position + cyan velocity vector
  • Wheel tracking code (updateVehicleCorners) is present but commented out
FunctionSignatureReturnsDescription
M.updateVehicleDamage()nilupdateVehicleDamage
M.updateVehicleData(vehicleId)nilupdateVehicleData

See Also

  • Rally Audio Manager - Related reference
  • Rally Camera Path Player - Related reference
  • Rally Client - Related reference
  • Gameplay Systems Guide - Guide

Rally Vehicle Capture

Class that records vehicle position, rotation, and steering data at distance-based intervals during a recce drive. Writes data to a JSONL driveline file.

Rally English Compositor

Defines the English-language configuration for rally pacenote composition. Contains corner severity scales, direction labels, modifier definitions, visual styling (colors/icons), distance rounding, tr

On this page

ConstructorMethodsInternalsHow It WorksDependenciesNotesSee Also