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

Speed Traps and Cameras

Reference for `gameplay_speedTraps`, which handles speed trap and red light camera trigger events. Fires visual flash effects and dispatches hooks when vehicles exceed speed limits.

Reference for gameplay_speedTraps, which handles speed trap and red light camera trigger events. Fires visual flash effects and dispatches hooks when vehicles exceed speed limits.


Module Exports (M)

FunctionSignatureDescription
getSpeedTrapsInCurrentLevel(speedTrapType) → tableReturns all BeamNGTrigger objects of the given type (e.g. "speed", "redLight")

Hooks (Event Handlers)

HookDescription
onBeamNGTriggerCore trigger handler - processes speed trap and red light events

Internals

  • Camera distance limit: 100m - events are ignored if the vehicle is too far from camera
  • Default red light trigger speed: 5 m/s
  • Direction check: Uses dot product of trigger rotation vs vehicle velocity to ensure the vehicle is driving through the trap (not past it from the side)

Speed Trap Types

TypeBehavior
"speed"Checks speedLimit + speedLimitTolerance; fires onSpeedTrapTriggered hook
"redLight"Checks triggerSpeed (default 5 m/s) + signal state; fires onRedLightCamTriggered if light is red
M.getSpeedTrapsInCurrentLevel(speedTrapType)
M.onBeamNGTrigger(data)

Light Flash Effects

When a trap triggers, the associated light object (named in speedTrapLightName) is briefly enabled:

  • Speed camera: Single flash (0.1s on, then off)
  • Red light camera: Double flash with delay based on vehicle speed (10 / speed seconds between flashes)

How It Works

  1. onBeamNGTrigger receives data when a vehicle enters a BeamNGTrigger with speedTrapType set
  2. Checks distance to camera, vehicle speed vs configured limit, and driving direction
  3. For speed traps: fires onSpeedTrapTriggered hook with speed data
  4. For red light cameras: checks core_trafficSignals state, fires onRedLightCamTriggered if red
  5. Activates the flash light object via a coroutine job

Trigger Data Format

-- Example BeamNGTrigger dynamic fields:
{
  speedTrapType = "speed",       -- or "redLight"
  speedLimit = 11.176,           -- m/s
  speedLimitTolerance = 1.1,     -- m/s (optional, defaults to 10% of limit)
  speedTrapLightName = "speedTrapLight1",
  trafficSignalId = "signal1",   -- red light cameras only
  triggerSpeed = 5,              -- red light cameras only (optional)
}

Usage Example

-- Query all speed camera triggers on the current level
local traps = gameplay_speedTraps.getSpeedTrapsInCurrentLevel("speed")
for _, obj in pairs(traps) do
  log("I", "", "Speed trap: " .. obj:getName())
end

-- Listen for speed trap events
local function onSpeedTrapTriggered(data, speed, overSpeed)
  log("I", "", string.format("Caught at %0.1f m/s, over by %0.1f", speed, overSpeed))
end

See Also

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

Speed Trap Leaderboards

Reference for `gameplay_speedTrapLeaderboards`, which manages per-level speed trap leaderboard storage. Tracks the top 10 fastest runs through each speed trap trigger in freeroam mode.

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

On this page

Module Exports (M)Hooks (Event Handlers)InternalsSpeed Trap TypesLight Flash EffectsHow It WorksTrigger Data FormatUsage ExampleSee Also