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
ARunForLife (Flowgraph Node)Clear Lights Drag Race (Flowgraph Node)Countdown Lights Controller (Flowgraph Node)Get Custom Vehicle Data (Flowgraph Node)Get Mission Setup Data (Flowgraph Node)Check Players Position / Go To Start Line (Flowgraph Node)KnockAway Check (Flowgraph Node)Lights Controller (Flowgraph Node)Mission Post Clean (Flowgraph Node)Mission Cleanup / Pre Clean (Flowgraph Node)Prepare Vehicle (Flowgraph Node)Remove Stashed Player Vehicle (Flowgraph Node)Select Garage Vehicle (Flowgraph Node)Select Garage Sites / Zones (Flowgraph Node)Select Garage Spots (Flowgraph Node)Select Heist Spots (Flowgraph Node)Set Stage Lights (Flowgraph Node)Update Display Drag Race (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 Extensionsflowgraphnodesmission

Select Heist Spots (Flowgraph Node)

- **Node Name:** `Select Heist Spots`

Overview

  • Node Name: Select Heist Spots
  • Category: once_p_duration
  • File: extensions/flowgraph/nodes/mission/selectHeistMissionSpots.lua
  • Icon: Scene icon
  • Color: Scene color
  • Author: BeamNG

Selects randomized start, heist, and escape parking spots for heist-style missions. Uses parking-spot tags to categorize locations and enforces minimum distance constraints between phases.

Pin Schema

Input Pins

PinTypeDescription
flowflowTrigger this node
resetflow (impulse)Reset the node state
positionvec3Current vehicle/player position (used for proximity filtering)
sitesDatatableSites data with parkingSpots.byName

Output Pins

PinTypeDescription
flowflowActive once all spots are resolved
loadedflow (impulse)Fires once after spots are selected
startstringSelected start spot name
hieststringSelected heist target spot name
escapestringSelected escape spot name
startLocationstringZone name for start
hiestLocationstringZone name for heist
escapeLocationstringZone name for escape

Internals

  • self.startLoc, self.hiestLoc, self.escapeLoc - arrays of spot names categorized by tag.
  • self.state - 6-phase state machine for progressive spot resolution.
  • Spots are categorized using the first customFields.sortedTags entry: "start", "hiest", or "escape".

How It Works

The node operates across multiple frames via a state machine:

  1. State 1 - Load and categorize all parking spots by tag, then shuffle each category randomly.
  2. State 2 - Validate start spot: must be within 400m of the player's position. Skips to next candidate if too far.
  3. State 3 - Validate heist spot: must be > 250m from start. Skips to next candidate if too close.
  4. State 4 - Validate escape spot: must be > 300m from heist. Skips to next candidate if too close.
  5. State 5 - Sort zones by priority and output all spot + location names. Fire loaded impulse.
  6. State 6 - Steady state: keep flow active, clear impulse.

Lua Code Example

-- Heist mission flowgraph:
-- playerPosition → selectHeistMissionSpots.position
-- sitesFile → selectHeistMissionSpots.sitesData
--   .start → spawn/navigate to start
--   .hiest → navigate to heist target
--   .escape → navigate to escape point

Key Dependencies

  • sitesData.parkingSpots.byName - parking spot database
  • customFields.sortedTags - spot categorization tags
  • tableKeys - BeamNG table utility

Additional Methods

C:_executionStarted()

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

C:init()

Initializes the node, setting up pins and default properties.

C:resetData()

Node method.

C:work()

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


See Also

  • ARunForLife (Flowgraph Node) - Related reference
  • Update Display Drag Race (Flowgraph Node) - Related reference
  • Clear Lights Drag Race (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

Select Garage Spots (Flowgraph Node)

- **Node Name:** `Select Garage Spots`

Set Stage Lights (Flowgraph Node)

- **Node Name:** `Set Stage Lights`

On this page

OverviewPin SchemaInput PinsOutput PinsInternalsHow It WorksLua Code ExampleKey DependenciesAdditional MethodsC:_executionStarted()C:init()C:resetData()C:work()See Also