Skip to content

Vehicle Parts

Core Mechanic doesn't touch default GTA V vehicle stats. Instead, every part installed on a vehicle directly modifies GTA V handling parameters in real-time. Brakes change fBrakeForce, tires change fTractionCurveMin, suspension changes fTractionCurveMax — the vehicle's actual driving behavior shifts based on what's installed and how healthy the parts are.

Parts degrade as you drive. A fresh set of tires grips better than worn ones. A broken transmission won't shift. The health of each part scales its effect — a turbo at 50% health gives half the boost.

Final Value = Base Handling + (Part Value × (Health / 100))

Part Categories

Engines
Swap the entire engine block. From stock to 2JZ, V8, and more.
Transmissions
Manual or auto gearbox with RWD/AWD drivetrain options.
Tires
Grip, low-speed traction, and drift behavior.
Brakes
Stopping power. Stock, carbon ceramic, or full race brakes.
Suspension
Ride height and high-speed traction.
Oil
Engine lubrication — better oil means slower overall wear.
Sparkplugs
Ignition reliability. Bad plugs = engine stalls.
Turbo
Forced induction. RPM-based power boost.
Nitro
NOS boost system. Massive power, burns fast.

Brakes

Modifies fBrakeForce — the vehicle's stopping power.

VariableRangeWhat it does
power0.0 – 6.0Added braking force, scaled by health
durability30.0 – 60.0How fast the brakes wear out

The script takes the vehicle's base fBrakeForce and adds the brake's power value scaled by part health. Higher power = shorter stopping distance.

When broken: fBrakeForce is set to 0.0 — the vehicle literally cannot stop.

lua
Brakes = {
    ['stock_brakes'] = {
        label = "Stock Brakes",
        type = 'car',
        power = 0.0,
        durability = 100.0,
        price = 0,
        repair = 0
    },
    ['carbon_brakes'] = {
        label = "Carbon Ceramic Brakes",
        type = 'car',
        power = 4.0,          -- Strong stopping force
        durability = 60.0,    -- Wears faster under hard braking
        price = 8000,
        repair = 3000
    },
}

Tires

Modifies fTractionCurveMin — the vehicle's minimum grip threshold, how much traction you have when sliding or at the edge of grip.

VariableRangeWhat it does
traction0.0 – 3.0Grip improvement added to base traction
lowspeedtraction-1.0 – 0.8Low-speed grip modifier (negative = less grip at low speed)
drifttrue / falseFlags the tire as a drift tire
durability50.0 – 80.0How fast the tires wear out

Better tires = more grip when the vehicle is sliding or cornering hard. The lowspeedtraction value adjusts grip at slow speeds — drift tires typically have negative values here to let the rear slide out easier.

When damaged (<30% health): Traction progressively drops. At 0%, fTractionCurveMin is forced to 0.5 — severe grip loss, the car slides everywhere.

lua
Tires = {
    ['stock_tires'] = {
        label = "Stock Tires",
        type = 'car',
        traction = 0.0,
        lowspeedtraction = 0.0,
        drift = false,
        durability = 100.0,
        price = 0,
        repair = 0
    },
    ['michelin_pilot'] = {
        label = "Michelin Pilot Sport",
        type = 'car',
        traction = 2.5,            -- High grip
        lowspeedtraction = 0.5,    -- Good low-speed grip too
        drift = false,
        durability = 80.0,
        price = 3000,
        repair = 1000
    },
}

Suspension

Modifies fTractionCurveMax (peak traction) and fSuspensionRaise (ride height).

VariableRangeWhat it does
traction0.0 – 2.0High-speed grip boost
height0 – 0.10Ride height adjustment
durability40.0 – 80.0How fast the suspension wears out

Better suspension = more grip at high speeds and through fast corners. The height value physically raises or lowers the vehicle.

When broken: fSuspensionRaise drops to -0.10 (slammed to the ground) and fTractionCurveMax falls to 0.5 — the car handles like it's on ice at speed.

lua
Suspensions = {
    ['stock_suspension'] = {
        label = "Stock Suspension",
        type = 'car',
        traction = 0.0,
        height = 0,
        durability = 100.0,
        price = 0,
        repair = 0
    },
    ['coilover'] = {
        label = "Coilover Suspension",
        type = 'car',
        traction = 1.5,
        height = 0.02,
        durability = 70.0,
        price = 6000,
        repair = 2000
    },
}

Transmissions

Modifies fClutchChangeRateScaleUpShift and fClutchChangeRateScaleDownShift — how fast the vehicle shifts gears. Also changes which wheels receive power.

VariableRangeWhat it does
shiftingtime0.3 – 5.0Gear shift speed (lower = faster shifts)
drivingwheelsstock / RWD / AWDWhich wheels get power
manualtrue / falseManual vs automatic shifting
durability40.0 – 85.0How fast the transmission wears out

Faster shifting means quicker acceleration between gears. The drivingwheels setting physically changes which wheels drive the vehicle — you can turn an FWD car into AWD.

When broken: Both shift rates drop to 0.0 — the transmission slips randomly, losing power between gears.

lua
Transmissions = {
    ['stock_transmission'] = {
        label = "Stock Transmission",
        type = 'car',
        shiftingtime = 5.0,
        drivingwheels = 'stock',
        manual = false,
        durability = 100.0,
        price = 0,
        repair = 0
    },
    ['manual_gearbox_rwd'] = {
        label = "Manual Gearbox RWD",
        type = 'car',
        shiftingtime = 0.5,       -- Fast shifts
        drivingwheels = 'RWD',    -- Rear-wheel drive
        manual = true,            -- Player shifts gears
        durability = 85.0,
        price = 8000,
        repair = 3000
    },
}

Engines

Adds raw power to the vehicle through engine power multipliers.

VariableRangeWhat it does
power0.0 – 70.0Relative power boost
soundstringCustom engine sound name
durability50.0 – 80.0How fast the engine wears out

Engine power adds to the vehicle's overall power output. Higher values make the vehicle accelerate harder. Some engines also have custom sounds that replace the default engine audio.

lua
Engines = {
    ['stock_engine'] = {
        label = "Stock Engine",
        type = 'car',
        power = 0.0,
        durability = 100.0,
        price = 0,
        repair = 0
    },
    ['2jzengine'] = {
        label = "2JZ Engine",
        type = 'car',
        power = 70.0,         -- Maximum power
        durability = 75.0,    -- Wears faster than stock
        price = 20000,
        repair = 7000,
        sound = '2jz'         -- Custom engine sound
    },
}

Turbo

Modifies SetVehicleEnginePowerMultiplier — forced induction that scales with RPM.

VariableRangeWhat it does
power10.0 – 25.0Boost multiplier
durability50.0How fast the turbo wears out

The turbo adds power that scales with current RPM. At low RPM, you get minimal boost. At high RPM, you get full boost. This creates a realistic power band — the turbo "spools up."

When broken: Boost drops to 0 — no extra power at any RPM.

lua
Turbos = {
    ['turbo_stage1'] = {
        label = "Stage 1 Turbo",
        type = 'car',
        power = 10.0,
        durability = 50.0,
        price = 5000,
        repair = 2000
    },
    ['turbo_stage2'] = {
        label = "Stage 2 Turbo",
        type = 'car',
        power = 25.0,         -- Maximum boost
        durability = 50.0,
        price = 12000,
        repair = 4000
    },
}

Nitro

Modifies fDriveInertia and enables SetVehicleBoostActive — massive but short-lived power injection.

VariableRangeWhat it does
power100.0 – 150.0Boost power
durability25.0 – 30.0How fast the bottle depletes (very fast)

When activated, nitro sets fDriveInertia to 2.0 and fires the vehicle's boost. This gives a huge surge of acceleration. Nitro depletes very fast — once empty, health hits 0 and the bottle is spent. You need a new one.

lua
Nitros = {
    ['nos_standard'] = {
        label = "Standard NOS",
        type = 'car',
        power = 100.0,
        durability = 30.0,    -- Lasts a bit longer
        price = 2000,
        repair = 500
    },
    ['nos_extreme'] = {
        label = "Extreme NOS",
        type = 'car',
        power = 150.0,        -- Maximum power
        durability = 25.0,    -- Burns out faster
        price = 5000,
        repair = 1000
    },
}

Oil

Doesn't modify handling directly — acts as a wear multiplier for the entire vehicle.

VariableRangeWhat it does
durability10.0 – 100.0How long the oil lasts

Good oil slows down how fast all other parts degrade. When oil runs low (health < 10), the global wear rate spikes — parts break much faster.

lua
Oils = {
    ['cheap_oil'] = {
        label = "Cheap Oil",
        type = 'car',
        durability = 10.0,
        price = 200,
        repair = 100
    },
    ['synthetic_oil'] = {
        label = "Synthetic Oil",
        type = 'car',
        durability = 100.0,
        price = 2000,
        repair = 500
    },
}

Sparkplugs

Doesn't change handling — determines if the engine runs at all.

VariableRangeWhat it does
durability50.0 – 100.0How long before failure risk
startbreak10.0 – 25.0Health threshold where starting becomes unreliable
minfail / maxfail10000 – 70000Random failure interval range (ms)

When health drops below startbreak, the engine can randomly stall. At 0% health, the engine shuts off completely and won't restart. Also accelerates overall wear rate when broken.

lua
SparkPlugs = {
    ['stock_sparkplugs'] = {
        label = "Stock Sparkplugs",
        type = 'car',
        durability = 50.0,
        startbreak = 25.0,
        minfail = 10000,
        maxfail = 30000,
        price = 0,
        repair = 0
    },
    ['ngk_sparkplugs'] = {
        label = "NGK Sparkplugs",
        type = 'car',
        durability = 80.0,
        startbreak = 15.0,      -- Lower = safer longer
        minfail = 20000,        -- Longer between failures
        maxfail = 50000,
        price = 1500,
        repair = 500
    },
}

Adding Custom Parts

To add a new part, copy the structure from the matching category in config.lua and adjust the values. Every part needs:

lua
['your_part_name'] = {
    label = "Display Name",
    type = 'car',           -- 'car', 'motorcycle', 'plane', 'boat'
    -- Category-specific values (power, traction, shiftingtime, etc.)
    durability = 80.0,      -- Wear resistance (100 = longest lasting)
    price = 10000,          -- Purchase price
    repair = 3000           -- Repair cost (metalscrap amount)
},

WARNING

Every custom part must be added as an item in your inventory system with the same name as the config key (e.g., your_part_name).

INFO

Higher performance parts typically have lower durability — this is intentional. Racing brakes stop harder but wear out faster. Cheap oil doesn't last. Balance your parts around this tradeoff.