Tech sheet

bnExhaust

Exhaust and sound effects

Version 08/2026
Compatible ESXQBCoreQbox

Inventory Items

Set the inventory bridge in shared/config/core.lua:

Config.Inventory = 'ox' -- 'ox' | 'qb' | 'esx'

If ox_inventory is running, bnPopBang can use it automatically for item checks. custom uses the bridge placeholders in server/framework.lua.

Add these blocks to `ox_inventory/data/items.lua`. The `client.export` field lets the item be used directly from the inventory UI.
{
    ['bnpops_ecu'] = {
        label = 'Sport ECU Chip',
        weight = 200,
        stack = false,
        close = true,
        description = 'Unlocks the ECU menu and Stage 1 remap.',
        client = { export = 'bnPopBang.useECU' }
    },
    ['bnpops_als'] = {
        label = 'Anti-Lag Valve',
        weight = 500,
        stack = false,
        close = true,
        description = 'Enables Anti-Lag / 2-Step.',
        client = { export = 'bnPopBang.useALS' }
    },
    ['bnpops_downpipe'] = {
        label = 'High Flow Downpipe',
        weight = 3000,
        stack = false,
        close = true,
        description = 'Unlocks Stage 2, higher exhaust flow and more final speed.',
        client = { export = 'bnPopBang.useDownpipe' }
    },
    ['bnpops_bov'] = {
        label = 'Blow-off Valve (BOV)',
        weight = 800,
        stack = false,
        close = true,
        description = 'Amplifies turbo valve sounds on shifts and lift-off. Requires ECU.',
        client = { export = 'bnPopBang.useBov' }
    },
    ['bnpops_catdelete'] = {
        label = 'Cat Delete',
        weight = 2000,
        stack = false,
        close = true,
        description = 'Removes catalytic converter. Higher volume cap. Requires Downpipe.',
        client = { export = 'bnPopBang.useCatDelete' }
    },
    ['bnpops_straightpipe'] = {
        label = 'Straight Pipe',
        weight = 4000,
        stack = false,
        close = true,
        description = 'Straight exhaust. Maximum absolute volume. Requires Cat Delete.',
        client = { export = 'bnPopBang.useStraightPipe' }
    },
    ['bnpops_headers'] = {
        label = 'Sport Headers',
        weight = 3500,
        stack = false,
        close = true,
        description = 'Deeper, heavier exhaust tone on all pops. Requires Downpipe.',
        client = { export = 'bnPopBang.useHeaders' }
    },
    ['bnpops_wastegate'] = {
        label = 'External Wastegate',
        weight = 1200,
        stack = false,
        close = true,
        description = 'Amplifies wastegate ambient sound and turbo chatter. Requires ALS.',
        client = { export = 'bnPopBang.useWastegate' }
    },
    ['bnpops_intake'] = {
        label = 'Sport Intake',
        weight = 1500,
        stack = false,
        close = true,
        description = 'More pops per burst and faster lift-off response. Requires ECU.',
        client = { export = 'bnPopBang.useIntake' }
    },
    ['bnpops_injectors'] = {
        label = 'Racing Injectors',
        weight = 600,
        stack = false,
        close = true,
        description = 'Higher chance of BANG in bursts and larger flames. Requires ECU.',
        client = { export = 'bnPopBang.useInjectors' }
    },
    ['bnpops_sparkplugs'] = {
        label = 'Racing Spark Plugs',
        weight = 200,
        stack = false,
        close = true,
        description = 'Cleaner, more rhythmic pops with consistent timing. Requires ECU.',
        client = { export = 'bnPopBang.useSparkPlugs' }
    },
    ['bnpops_flexfuel'] = {
        label = 'Flex Fuel Kit (E85)',
        weight = 900,
        stack = false,
        close = true,
        description = 'Globally larger flames and higher volume. Requires Intake.',
        client = { export = 'bnPopBang.useFlexFuel' }
    },
    ['bnpops_turbo'] = {
        label = 'Turbo Upgrade',
        weight = 5000,
        stack = false,
        close = true,
        description = 'Much more aggressive ALS and stronger throttle response. Required for Stage 3. Requires ALS.',
        client = { export = 'bnPopBang.useTurbo' }
    },
    ['bnpops_intercooler'] = {
        label = 'Intercooler',
        weight = 4000,
        stack = false,
        close = true,
        description = 'Reduces heat under high boost and improves launch traction. Requires Turbo.',
        client = { export = 'bnPopBang.useIntercooler' }
    },
    ['bnpops_sequential'] = {
        label = 'Sequential Gearbox',
        weight = 6000,
        stack = false,
        close = true,
        description = 'Louder shift bangs and faster clutch response on gear changes. Requires ECU.',
        client = { export = 'bnPopBang.useSequential' }
    },
    ['bnpops_lsd'] = {
        label = 'LSD Differential',
        weight = 5000,
        stack = false,
        close = true,
        description = 'Major traction upgrade: better grip, less low-speed wheelspin and stabler launches. Requires LC Module.',
        client = { export = 'bnPopBang.useLSD' }
    },
    ['bnpops_lcmodule'] = {
        label = 'Launch Control Module',
        weight = 300,
        stack = false,
        close = true,
        description = 'Unlocks the Launch Control system in the ECU. Requires ECU.',
        client = { export = 'bnPopBang.useLCModule' }
    },
    ['bn_diagnostic_tablet'] = {
        label = 'Diagnostic Tablet',
        weight = 1000,
        stack = false,
        close = true,
        consume = 0,
        client = { export = 'bnPopBang.useDiagnosticTablet' }
    },
}