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
Medal / Auto Medal (Flowgraph Node)Clear Messages (Flowgraph Node)Context Translation (Flowgraph Node)ConvertUnit (Flowgraph Node)Set UI Timer / Corner Timer (Flowgraph Node)Custom Button TEST (Flowgraph Node)Custom UI Layout (Flowgraph Node)End Screen (Flowgraph Node)End Stats (Flowgraph Node)Fade From Black (Flowgraph Node)Fade Sequence (Flowgraph Node)Fade To Black (Flowgraph Node)Flash Message (Flowgraph Node)Generic Mission Text (Flowgraph Node)Get Gamestate (Flowgraph Node)Show Editor (Flowgraph Node)Hide Game UI (Flowgraph Node)Message (Flowgraph Node)Mission End Screen (Flowgraph Node)Popup (Flowgraph Node)Monologue (Flowgraph Node)Multi Description (Flowgraph Node)On Bigmap Poi (Flowgraph Node)On Bigmap State Change (Flowgraph Node)Set UI Race Checkpoints (Flowgraph Node)Set UI Race Laps (Flowgraph Node)Set UI Race Recovery (Flowgraph Node)RT Message (Flowgraph Node)Select Buttons (Flowgraph Node)Set UI Layout (Flowgraph Node)Show Apps (Flowgraph Node)Show Monitor (Flowgraph Node)Start Screen (Flowgraph Node)Clear Goals (Flowgraph Node)Tasklist Message (Flowgraph Node)Tasklist Task (Flowgraph Node)Three Element Select (Flowgraph Node)Vehicle Selector (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 Extensionsflowgraphnodesui

End Screen (Flowgraph Node)

- **Node Name:** `End Screen`

Overview

  • Node Name: End Screen
  • Category: once_instant
  • File: extensions/flowgraph/nodes/ui/endScreen.lua

Shows the scenario/mission end screen with customizable buttons, stats, medals, and portraits. Triggers the scenario-end UI state.

Pin Schema

Input Pins

PinTypeDescription
titlestringTitle of the menu
textstring/tableSubtext or multi-description
progressstring/tableProgress display string
timeStrstring/numberTime display (hidden)
successStringstringOverhead text on success (hidden)
failStringstringOverhead text on fail (hidden)
failedboolWhether the player failed (hidden)
medalstringAwarded medal: "wood", "bronze", "silver", "gold" (hidden)
autoPointsboolAuto-compute total score from stats (hidden)
pointsnumberPlayer's points (hidden)
maxPointsnumberMaximum reachable points (hidden)
portraitSuccessstringPortrait shown on success (hidden)
portraitFailstringPortrait shown on fail (hidden)
statstable (endStats)Stats data from End Stats node
changetableAggregate change from the attempt
attempttableAttempt data
progressKeystringKey for the attempt

Dynamic Pins

Custom button pins are created via the editor. Each button adds:

  • Input: string - button label text
  • Output: flow - fires when that button is clicked

Internals

Key Methods

MethodDescription
workOnce()Opens the end screen dialogue
openDialogue()Builds stats data and triggers ChangeState to scenario-end
closeDialogue()Triggers ChangeState back to play
buttonPushed(action)Sets the matching output flow pin and closes the dialogue
updateButtons()Rebuilds dynamic button pins and re-links existing connections
onResetGameplay()Auto-closes if retry button is enabled
drawCustomProperties()Editor UI for adding/removing/renaming buttons

Data Properties

PropertyDefaultDescription
data.includeScenarioButtonfalseAdd a "Scenarios" button
data.includeRetryButtontrueAdd a "Retry" button

How It Works

  1. When triggered, workOnce() calls openDialogue().
  2. openDialogue() assembles a statsData table with title, text, time, medal, points, buttons, and portrait info.
  3. If the flowgraph has an associated mission activity, it also builds missionData with progress, leaderboard, and star info.
  4. It triggers guihooks.trigger('ChangeState', {state = 'scenario-end', params = {...}}).
  5. Custom buttons call back via core_flowgraphManager.getManagerGraphNode(...) to invoke buttonPushed().
  6. When a button is pushed, the corresponding output flow pin fires and the dialogue closes.

Usage Example

-- The node builds and triggers data like:
guihooks.trigger('ChangeState', {
  state = 'scenario-end',
  params = {
    stats = {
      title = "Race Complete",
      text = "You finished in 1st place!",
      time = "01:23.45",
      overall = { failed = false, medal = "gold", points = 100, maxPoints = 100 },
      buttons = {
        { label = "Retry", cmd = 'extensions.hook("onResetGameplay")' },
        { label = "Continue", cmd = '...' },
      },
    },
    portrait = { success = "/ui/portraits/happy.png" },
  }
})

Key Dependencies

  • guihooks.trigger('ChangeState', ...) - transitions the UI state
  • gameplay_missions_missions - mission lookup for next-mission buttons
  • gameplay_missions_progress - leaderboard and progress formatting
  • core_flowgraphManager.getManagerGraphNode() - button callback routing

Previously Undocumented (Added by Audit)

  • C:getCmd(action) - Function handling getCmd logic

See Also

  • Medal / Auto Medal (Flowgraph Node) - Related reference
  • Clear Messages (Flowgraph Node) - Related reference
  • Context Translation (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

Custom UI Layout (Flowgraph Node)

- **Node Name:** `Custom UI Layout`

End Stats (Flowgraph Node)

- **Node Name:** `End Stats`

On this page

OverviewPin SchemaInput PinsDynamic PinsInternalsKey MethodsData PropertiesHow It WorksUsage ExampleKey DependenciesPreviously Undocumented (Added by Audit)See Also