🚘 JamzVehicleExtras – Vehicle Upgrades & Immersion Pack [QBCore | QBox | ESX]

:oncoming_automobile: JamzVehicleExtras – Vehicle Upgrades & Immersion Pack [QBCore | QBox | ESX]

Transform vehicles on your server with installable upgrades, hidden storage, luxury lighting, radar detectors, blank plates, phone holders, and more. All fully synced, interactive, and saved to the database.

:link: YouTube Preview: JamzScripts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INTROGIFJVE

:sparkles: FEATURES

:satellite_antenna: Radar detector

Portable police scanner - install with a usable item while seated in the vehicle.

  • Live detection of configured police vehicle models within range; beep rate scales with distance (closer = faster).
  • In-car HUD: band display (X / KA / OFF), signal strength bar, alert counter β€” driver-only widget.
  • 3D audio via XSound (positional or optional 2D fallback); first detection also fires an ox_lib notification.
  • / key (rebindable): mute / unmute alerts per vehicle without removing the unit.
  • Target removal on boot / bonnet / bodyshell; only the installer can remove; item returned on removal (configurable).
  • ox_lib progress install/remove with in-vehicle or standing animations.

RADARDetector-GIFFY
RadarDetectorInstall

:identification_card: Blank / North Yankton plates

Give your vehicle a clean stealth plate cover perfect for RP situations.

  • Install/remove directly from the rear of the vehicle using target interaction.
  • Toggle between the blank plate and your original registered plate with a rebindable key.
  • Includes custom plate textures, install/remove sounds, and on-screen switch UI.
  • Fully saved to the database so your setup persists through restarts and respawns.
  • Original plate state is automatically restored when removed.

BlankPlate-Giffy
BlankPlateInstall

:light_bulb: Door puddle lights

Luxury door-down lighting - coloured LEDs under each door when it opens.

  • 15 colours (white, warm white, blue, ice blue, red, green, yellow, orange, amber, purple, pink, cyan, lime, magenta, teal).
  • Per-door install via target - pick colour from inventory.
  • ~165+ pre-tuned vehicle offsets in config, plus a DEFAULT fallback for addon cars.
  • Lights draw from door hinge bones with configurable range/intensity per model.
  • Persists in MySQL per plate, model, and door index.

DoorAndFootwellLights-GIff
DoorLightINztall

:purple_circle: Footwell / cabin lights

Interior ambient lighting for driver and passenger footwells.

  • Two slots per supported vehicle (driver + passenger) with the same 15 colour item set.
  • ox_lib context menus to pick slot β†’ colour; install/remove with progress.
  • ~145+ vehicle offset profiles in config for accurate placement.
  • Real-time DrawLight visuals synced from the server when near the vehicle.
  • DB persistence; optional vehicle ownership check on management.

DoorAndFootwellLights-GIff
CabinLightsInstall

:mobile_phone: Car phone holders

Dash-mounted phone props tied to vehicle extras.

  • Custom streamed prop (phone_jmz) with per-vehicle extra IDs and offset/rotation tables (50+ vehicles pre-configured).
  • Radio-synced screen skins: prop texture swaps to match the player’s current GTA radio station (30+ station artwork YTDs included).
  • Target β€œManage phone holders” β€” install/remove with progress; vehicle ownership optionally required.
  • Toggles the correct vehicle extra and spawns the prop when installed; state saved per plate + model in MySQL.
  • Expandable: add any vehicle that already has suitable extras in Config.VehicleExtras.

PhoneHolder GIF
phoneholderinstall-ezgif.com-video-to-gif-converter

:chair: Under-seat vehicle storage

Hidden stash per seat

  • Inside the car: progress + keybind (. default, rebindable) to reach under your seat.
  • Outside the car: target β€œSeat storage” on boot / bonnet / bodyshell with distance check.
  • Per-seat qb-inventory / ox_inventory stashes (slots + max weight configurable).
  • Vehicle class whitelist (cars, SUVs, sports, vans, etc. β€” bikes/planes/emergency excluded by default).

Seat Stash - GIF

:wrench: Door panel smuggling stashes

RP smuggling compartments behind door panels, hood, and trunk.

  • Usable tool item opens an ox_lib door menu (FL / FR / RL / RR / hood / trunk) with styled icons.
  • Pry progress β†’ open door β†’ unique stash per compartment (separate slot/weight for doors vs hood vs trunk).
  • Auto-seal when inventory closes: progress + door shuts β€” feels like closing the panel.
  • Reusable tool (not consumed); DB registry per plate/door.
  • Same vehicle class filters and ownership options as seat storage.

secret-storage

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

:gear: Configuration

:bridge_at_night: Framework & bridge

One config picks your stack; bridges auto-prefer ox when set to β€˜auto’.

Config.Framework = 'qb'      -- 'qb' or 'esx'
Config.Inventory = 'qb'       -- 'qb', 'ox', or 'auto'
Config.TargetSystem = 'qb'    -- 'qb', 'ox', or 'auto'

:satellite_antenna: Radar detector

Police models, range, beep tiers, keybinds, and sounds.

Config.PoliceVehicleModels = { 'police', 'police2', 'sheriff', ... }
Config.Detection = {
    Range = 120.0,
    BeepIntervals = {
        { distance = 20.0, interval = 350 },
        { distance = 45.0, interval = 650 },
        ...
    }
}
Config.Keybinds = {
    AlertsToggle = 'SLASH',    -- / mute alerts
    BlankPlateToggle = 'COMMA' -- , plate look (blank plates)
}```

:identification_card: Blank plates

Item, ownership rules, target labels, and North Yankton plate index.

Config.BlankPlate = {
    Item = 'jamz_blank_plate_kit',
    NorthYanktonIndex = 5,
    AllowInstallWithoutVehicleOwnership = true,
    ReturnItemOnRemoval = true,
}```

:light_bulb: Puddle & footwell lights

Per-vehicle door offsets, footwell coords, colours, and install times β€” huge tables ready to extend.

Config.VehicleDoorLights["ADDER"] = { Range = 2.0, doors = { [0] = { x, y, z }, ... } }
Config.VehicleFootwellLights["ADDER"] = { [1] = driverOffset, [2] = passengerOffset }
Config.PuddleLightItems["puddle_blue"] = { label = "Blue Puddle Light", colour = "blue" }

:mobile_phone: Phone holders

Vehicles, extra IDs, prop offsets, and radio β†’ texture mapping.

Config.PhoneHolder = {
    Item = 'jamz_phone_holder',
    PropModel = 'phone_jmz',
    RadioStationTextures = { ["RADIO_03_HIPHOP_NEW"] = "phone_jmz_radiolossantos", ... }
}
Config.VehicleExtras["tailgater2"] = {
    extras = { 2 },
    extraOffsets = { [2] = { Offset = vector3(...), Rotation = vector3(...) } }
}

:package: Storage (seats & door panels)

Stash sizes, keybind, class filters, and smuggling tool.

Config.VehicleStash = {
    Enabled = true,
    Keybind = 'PERIOD',
    Stash = { Slots = 4, MaxWeight = 50000 },
    RequireVehicleOwnership = false,
}
Config.VehicleDoorStash = {
    Item = 'jamz_door_panel_tool',
    Stash = { Slots = 2, MaxWeight = 75000 },
    TrunkStash = { Slots = 5, MaxWeight = 120000 },
}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

:hammer_and_wrench: Dependencies

Install and start these before JamzVehicleExtras in server.cfg.

:puzzle_piece: Required

:books: ox_lib β€” menus, progress, callbacks, notifications
:file_cabinet: oxmysql β€” persistence (7 SQL tables included)
:speaker_high_volume: XSound β€” radar beeps & blank-plate SFX

:gear: Framework (pick one)

:white_check_mark: QB-Core / Qbox (qb-core)
:white_check_mark: Qbox
:white_check_mark: ESX (es_extended)

:backpack: Inventory (pick one)

qb-inventory or ox_inventory (auto-detect supported)

:bullseye: Target (pick one)

qb-target or ox_target (auto-detect supported)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

:money_with_wings: PURCHASE

:money_bag: Price: $13
:shopping_bags: Store: https://jamzscripts.tebex.io/
:play_button: Demo Video: YouTube Preview

:rocket: Outfit every car on your server β€” lights, gadgets, plates, and storage thats actually slick.

Code is accessible No
Subscription-based No
Lines (approximately) 4,000
Requirements ox_lib, xsound, qbcore, esx, qbox, qb-inventory, ox_inventory, qb-target, ox_target, oxmysql
Support Yes
3 Likes

:sport_utility_vehicle: JamzVehicleExtras Update

Added wk_wars2x Blank Plate Support

Blank plate covers now fully integrate with Wraith ARS 2X.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
When a blank plate cover is installed, police plate readers will display no plate instead of the vehicle’s real registration.
Open the cover, and the real plate is displayed as normal.

Setup: A small edit is required in wk_wars2x. See the installation guide (Step 7) for details.