RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

server/commands - Camera & Input Commandsge_utils - Game Engine Utility Functionsmain.lua - GE Lua Entry Point & Game Loopmap.lua - Navigation Graph (AI Road Map)screenshot.lua - Screenshot Systemserver/server - Level Loading & Game ServerserverConnection - Client-Server Connection Manager`setSpawnpoint` - Default Spawn Point Persistence`simTimeAuthority` - Simulation Time & Bullet Time Control`spawn` - Vehicle Spawning & Safe Placement`suspensionFrequencyTester` - Suspension Natural Frequency Analysis
Career BranchesCareer System CoreCareer Save System
Career Computer MenuCareer Fuel SystemInspect VehicleVehicle InventoryLinear TutorialLoaner VehiclesCareer LogLogbookMarketplaceMission WrapperCareer Painting ModuleCareer Part Inventory ModuleCareer Part Shopping ModuleCareer Payment ModuleCareer Permissions ModuleCareer Playbook Writer ModuleCareer Player Abstract ModuleCareer Player Attributes ModuleCareer Player Driving ModuleCareer Quick Travel ModuleCareer Rentals ModuleCareer Reputation ModuleCareer Spawn Points ModuleCareer Speed Traps ModuleCareer Test Drive ModuleCareer Tether ModuleCareer Tuning ModuleCareer UI Utils ModuleCareer Unlock Flags ModuleCareer Value Calculator ModuleVehicle Class GroupingVehicle Deletion ServiceVehicle PerformanceVehicle Shopping

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 Extensionscareermodules

Career Tuning Module

M.dependencies = {"career_career"}

Dependencies

M.dependencies = {"career_career"}

Vehicle variable tuning system for career mode. Allows adjusting suspension, wheels, transmission, alignment, and chassis parameters at garage computers. Uses a shopping cart with categorized pricing and 7% sales tax.


Public API

FunctionSignatureDescription
M.start(inventoryId, originComputerId)Opens tuning UI; auto-repairs broken parts first
M.apply(tuningValues, callback)Applies tuning values to vehicle config and reloads
M.getTuningData() → tableReturns vehicle's tunable variables from vdata
M.close()Exits tuning, unfreezes vehicle, removes tether
M.applyShopping()Pays total, triggers save, plays buy sound
M.cancelShopping()Reverts all changes to pre-tuning values
M.removeVarFromShoppingCart(varName)Reverts a single variable and updates UI
M.onComputerAddFunctions(menuData, computerFunctions)Registers "Tuning" on garage computers
M.onVehicleSaveFinished()Closes menu after autosave

Dependencies

  • career_career (required)
  • career_modules_inventory - vehicle data, spawning
  • career_modules_playerAttributes - money deduction
  • career_modules_valueCalculator - broken-parts check
  • career_modules_insurance_insurance - auto-repair before tuning
  • career_modules_permissions - tuning/vehicleModification permission
  • career_modules_tether - walk-away boundary
  • career_modules_vehiclePerformance - invalidates certification on tune

Price Structure

Hierarchical: category → subCategory → variable. Each level can have a base price.

CategorySubCategoryBase Price
SuspensionFront / Rear$100 each
WheelsFront / Rear$100 each
Transmission(default)$500 + $100/gear
Wheel AlignmentFront / Rear$100 each
Chassis-$100
(default)-$200

Total = sum of category + subcategory + variable prices + 7% tax.

Blacklisted Variables

These variables are tracked but have $0 cost:

  • $$ffbstrength (Chassis)
  • $tirepressure_F (Wheels/Front)
  • $tirepressure_R (Wheels/Rear)

Shopping Cart Flow

  1. Player modifies variables in UI → apply(tuningValues) called
  2. Vehicle reloads with new vars; changedVars delta computed vs. vehicleVarsBefore
  3. createShoppingCart() builds hierarchical cart with prices
  4. Cart sent to UI via sendShoppingCartToUI()
  5. applyShopping() → pays total → saves → closes

Usage Example

-- Start tuning from computer
career_modules_tuning.start(inventoryId, computerId)

-- Apply specific tuning values (from UI)
career_modules_tuning.apply({["$spring_F"] = 45000, ["$spring_R"] = 40000})

-- Purchase
career_modules_tuning.applyShopping()

Hooks Emitted

HookWhen
onCareerTuningStartedTuning session begins
onCareerTuningAppliedTuning values applied to vehicle

See Also

  • partShopping - Part-based customization
  • tether - Boundary system for walk-away cancellation
  • payment - Currency validation

Career Tether Module

Spatial boundary system that triggers callbacks when the player leaves defined areas. Supports box, sphere, capsule, and vehicle-tracking tether shapes. Used by part shopping, tuning, and other garage

Career UI Utils Module

M.dependencies = {"career_career"}

On this page

DependenciesPublic APIDependenciesPrice StructureBlacklisted VariablesShopping Cart FlowUsage ExampleHooks EmittedSee Also