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

Raceline Parking (Flowgraph Node)

- **Node Name:** `Raceline Parking`

Overview

  • Node Name: Raceline Parking
  • Category: repeat_instant
  • File: extensions/flowgraph/nodes/scene/raceLineParking.lua

Manages raceline-style parking detection. Checks whether a vehicle's front wheels are within a defined parking spot, tracks alignment and stopping state, and provides debug visualization.

Pin Schema

Input Pins

PinTypeDescription
flowflowStandard inflow
clearflow (impulse)Removes the markers
imguibool(Hidden) Enable ImGui debug preview
vehIdnumberID of the vehicle to track
positionvec3Position of the parking spot
rotationquatRotation of the parking spot
scalevec3Scale of the parking spot
onlyForwardbool(Hidden) Restrict to forward parking only
visibleMarkersbool(Hidden) Show visible markers
stop_timernumber(Hidden) Seconds until vehicle is considered parked (default 1)
color_outcolor(Hidden) Color when outside
color_incolor(Hidden) Color when inside

Output Pins

PinTypeDescription
insideflowVehicle is fully inside the spot
stoppedflowVehicle has been stopped for stop_timer seconds
stoppingflow(Hidden) Vehicle is currently stopping
stoppedPercentnumber(Hidden) Progress toward the stop timer
dotAnglenumberAlignment: 1 = perfectly aligned, 0 = perpendicular
forwardboolTrue if parked forward, false if backward
sideDistancenumberLateral distance from vehicle center to spot center
forwardDistancenumberLongitudinal distance from front wheels to spot

How It Works

  1. Each frame, checkParking() identifies front wheels via getVehicleFrontwheelsCenterPosition().
  2. Computes alignment (dot product of vehicle direction vs. spot Y-axis) and distances (side/forward offsets).
  3. Checks if both front wheels are within the spot's scale bounds.
  4. Tracks a stop timer - when the vehicle is inside and velocity ≤ 0.05, counts down. Once expired, stopped fires.
  5. drawDebug() renders colored triangles in the 3D scene (green=OK, yellow=close, red=outside).
  6. Optional drawImgui() renders a top-down 2D preview with parking boundaries and vehicle outline.

Key Dependencies

  • map.objects[vehId] - vehicle tracking data (position, velocity, direction)
  • veh:getSpawnWorldOOBB() - oriented bounding box for corner checks
  • veh:getWheelAxisNodes() / getWheelCount() - front wheel identification
  • debugDrawer:drawTriSolid() - 3D debug rendering

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:drawLine(line, color, thickness)

Custom ImGui drawing function for the node editor.

Parameters:

  • line
  • color
  • thickness

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:toInternal2d(pos)

Node method.

Parameters:

  • pos

C:work(args)

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

Parameters:

  • args

C:worldLineToMapLine(line)

Node method.

Parameters:

  • line

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

Point on Decalroad (Flowgraph Node)

- **Node Name:** `Point on Decalroad`

Raycast (Flowgraph Node)

- **Node Name:** `Raycast`

On this page

OverviewPin SchemaInput PinsOutput PinsHow It WorksKey DependenciesAdditional MethodsC:_executionStarted()C:_executionStopped()C:_onDeserialized(res)C:_onSerialize(res)C:drawLine(line, color, thickness)C:drawMiddle(builder, style)C:init(mgr, ...)C:onClientEndMission()C:toInternal2d(pos)C:work(args)C:worldLineToMapLine(line)See Also