API ReferenceGE Extensionscareermodules
Vehicle Class Grouping
M.dependencies = {"gameplay_vehiclePerformance"}
Dependencies
M.dependencies = {"gameplay_vehiclePerformance"}Groups vehicles by performance class for AI race events. Provides aggression multipliers per class and generates filtered, shuffled vehicle groups compatible with core_multiSpawn.
Public API
| Function | Signature | Returns | Description |
|---|---|---|---|
M.getAggressionMultiplier | (class) | number | AI aggression coefficient for class (S=1.0 … D=0.6) |
M.generateGroup | (class, mode, modelFilter, configFilter, configTypeFilter, invertedFilters, randomizePaint, smartShuffle) | table | Builds a multiSpawn group of vehicles matching the given class |
Dependencies
| Module | Purpose |
|---|---|
gameplay_vehiclePerformance | getClassFromConfig() for determining vehicle class |
Class Aggression Map
| Class | Multiplier |
|---|---|
| S | 1.0 |
| A | 0.9 |
| B | 0.8 |
| C | 0.7 |
| D | 0.6 |
Default Filters
- Model blacklist:
atv,utv,us_semi,midtruck,citybus,racetruck,rockbouncer,simple_traffic - Config type blacklist:
Police,Service,Powerglow
Usage Examples
-- Get a class-B vehicle group for racing
local group = career_modules_vehicleClassGrouping.generateGroup("B")
-- group.data = { {model="midsize", config="base", paintName="(Random)"}, ... }
-- Get aggression for AI difficulty
local aggression = career_modules_vehicleClassGrouping.getAggressionMultiplier("A") -- 0.9
-- Custom filter: only pickup trucks
local pickupFilter = { pickup = false } -- inverted = whitelist
local group = career_modules_vehicleClassGrouping.generateGroup("C", "default", pickupFilter, nil, nil, {modelFilter = true})Smart Shuffle
When smartShuffle is enabled (default), the generated group interleaves different models so the same model never appears consecutively. This prevents spawning three identical cars in a row.