RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Flowgraph Base ModuleFlowgraph Base NodeFlowgraph Base State NodeFlowgraph Node BuilderFlowgraph GraphFlowgraph Group HelperFlowgraph LinkFlowgraph ManagerNew Node TemplateFlowgraph PinFlowgraph States ManagerFlowgraph UtilsFlowgraph Variable Storage
Collection Marker (Flowgraph Node)Custom Lua Command (Flowgraph Node)Get Object Field (Flowgraph Node)Get Player Vehicle ID (Flowgraph Node)Get Point on Decalroad (Flowgraph Node)Show/Hide Object (Flowgraph Node)ID by Name (Flowgraph Node)Keep Prefab (Flowgraph Node)Particle Emitter (Flowgraph Node)Point on Decalroad (Flowgraph Node)Raceline Parking (Flowgraph Node)Raycast (Flowgraph Node)Parking Markers / Rect Marker (Flowgraph Node)Reload Collision (Flowgraph Node)Reload Nav Graph (Flowgraph Node)Remove Prefab (Flowgraph Node)Reset Prefab (Flowgraph Node)Set Object Field (Flowgraph Node)Sevensegment Display (Flowgraph Node)Single Marker (Flowgraph Node)Spawn Light / SpotLight (Flowgraph Node)Spawn Prefab (Flowgraph Node)Spawn TSStatic (Flowgraph Node)Store Statics (Flowgraph Node)Track Prefab (Flowgraph Node)

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 Extensionsflowgraphnodesscene

Parking Markers / Rect Marker (Flowgraph Node)

- **Node Name:** `Parking Markers`

Overview

  • Node Name: Parking Markers
  • Category: repeat_instant
  • File: extensions/flowgraph/nodes/scene/rectMarker.lua

Creates visible corner markers for a rectangular parking spot, manages a box trigger for containment detection, and tracks vehicle parking state including alignment and stop timing.

Pin Schema

Input Pins

PinTypeDescription
flowflowStandard inflow
clearflow (impulse)Removes all markers and trigger
vehIdnumberVehicle ID to track (defaults to player vehicle)
positionvec3Parking spot position
rotationquatParking spot rotation
scalevec3Parking spot dimensions (width, depth, height)
onlyForwardbool(Hidden) Restrict to forward parking
visibleMarkersbool(Hidden) Show corner marker meshes
staticMarkersbool(Hidden) Don't align markers to terrain
stop_timernumber(Hidden) Seconds to consider stopped (default 1)
color_outcolor(Hidden) Marker color when outside
color_incolor(Hidden) Marker color when inside

Output Pins

PinTypeDescription
insideflowAll corners contained
outsideflowNot all corners contained
partlyInsideflowAt least one corner contained
stoppedflowVehicle stopped for stop_timer seconds
stoppingflow(Hidden) Vehicle currently counting down
stoppedPercentnumber(Hidden) Stop timer progress
dotAnglenumberAlignment (1 = perfect, 0 = perpendicular)
forwardboolParked forward or backward
sideDistancenumberLateral offset from center
forwardDistancenumberLongitudinal offset from center
sideDistanceRelativenumber(Hidden) Side distance / scale.x
forwardDistanceRelativenumber(Hidden) Forward distance / scale.y

How It Works

  1. Trigger Creation - manageTrigger() creates a BeamNGTrigger (Box type) at the specified position/rotation/scale. Updates dynamically if inputs change.
  2. Marker Spawning - createMarkers() spawns 4 TSStatic corner markers using art/shapes/interface/position_marker.dae. updateMarkerPositions() aligns them to terrain via raycasting (unless staticMarkers is true).
  3. Parking Check - checkParking() tests all 8 OOBB corners of the vehicle against the trigger. Colors each marker green (contained) or red (not contained). Tracks alignment via dot product and stop timer via velocity check (≤ 0.075).
  4. Cleanup - clear() deletes trigger and all marker objects from the scene tree.

Key Dependencies

  • BeamNGTrigger - box trigger for containment testing
  • TSStatic - corner marker mesh objects
  • veh:getSpawnWorldOOBB() - vehicle oriented bounding box
  • Engine.castRay() - terrain alignment for markers
  • map.objects[vehId] - vehicle velocity data

Additional Methods

C:_executionStarted()

Called when graph execution starts. Used for initialization/reset.

C:_executionStopped()

Called when graph execution stops. Used for cleanup.

C:_onDeserialized(res)

Called after the node is deserialized (loaded from file). Restores runtime state from saved data.

Parameters:

  • res

C:_onSerialize(res)

Called when the node is serialized (saved to file). Returns data to persist.

Parameters:

  • res

C:createCornerMarker(markerName)

Node method.

Parameters:

  • markerName

C:drawCustomProperties()

Custom ImGui drawing for the node's properties panel in the editor.

C:drawMiddle(builder, style)

Custom ImGui drawing in the middle section of the node in the editor.

Parameters:

  • builder
  • style

C:init(mgr, ...)

Initializes the node, setting up pins and default properties.

Parameters:

  • mgr
  • ...

C:onClientEndMission()

Cleanup callback when the mission/level ends.

C:work(args)

Main work function called each frame/tick when the node is active.

Parameters:

  • args

See Also

  • Collection Marker (Flowgraph Node) - Related reference
  • Custom Lua Command (Flowgraph Node) - Related reference
  • Get Object Field (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

Raycast (Flowgraph Node)

- **Node Name:** `Raycast`

Reload Collision (Flowgraph Node)

- **Node Name:** `Reload Collision`

On this page

OverviewPin SchemaInput PinsOutput PinsHow It WorksKey DependenciesAdditional MethodsC:_executionStarted()C:_executionStopped()C:_onDeserialized(res)C:_onSerialize(res)C:createCornerMarker(markerName)C:drawCustomProperties()C:drawMiddle(builder, style)C:init(mgr, ...)C:onClientEndMission()C:work(args)See Also