Modul Vehicle Loadouts
Your fleet leaves the lot mission-ready. Modul Vehicle Loadouts stocks the trunk of every emergency vehicle the moment it spawns — patrol cars, engines, ambulances, wreckers — with exactly the equipment you configured. No garage dependency, no duplicate equipment, no client trust. Officers stop begging for a restock, and the server decides everything. Drops into any Qbox, QBCore, ESX or standalone server.
Qbox QBCore ESX Standalone ox_inventory qb-inventory qs-inventory ox_target qb-target
Stocked automatically, from any spawn source
- OneSync-native detection catches every spawn — job garages, admin menus, dealership and fleet scripts, commands — with nothing to integrate and no specific garage required
- Map loadouts by vehicle model, vehicle class or department; base-game and addon models work identically
- Vehicles that spawn far from players queue quietly and stock the instant someone arrives — no lost loadouts, no polling
- A compatibility event, config-registered custom events and a full export let any garage or dealership hand off explicitly for tighter control
Loadouts that inherit and override
- A supervisor unit extends the patrol loadout and changes only what differs — items merge by name: replace an amount, append new gear, or remove an inherited item
- Ten disabled starter loadouts included — patrol, supervisor, SWAT, K9, ambulance, air ambulance, fire engine, rescue, tow — rename to your items and enable
- Per-loadout permissions: multiple jobs with minimum and maximum grades, on-duty requirement, extra ACE gates, and a server-side custom check callback
- Issue registered department weapons straight to the trunk, with unique serials generated per item instance and stamped with the plate, job, department and date
Duplicate prevention, matched to your garage
- Eight issue modes — per spawned entity, per vehicle, per plate, per VIN, SQL-persistent, content-aware top-up, manual-only, or deliberately repeatable
- Restarting the script, the inventory, or the whole server never double-issues — issuance is tracked on the entity, in server memory, and in SQL depending on the mode
- Spawner garages that hand out a fresh plate every pull get per-spawn tracking; persistent owned fleets get permanent plate or VIN records — set it globally, per loadout, or per model
- A loadout is never marked issued when nothing actually landed, so a full trunk never blocks a later restock
Restocking with real rules
- Four restock modes: full re-stock, fill-only-what's-missing, remove-and-rebuild (admin-gated), or issue-once
- Three restock channels — station zones, a command, and an ox_target / qb-target option — each toggleable globally and per loadout
- Restock zones in sphere, box or polygon shapes, with blips, markers, department restrictions, and per-zone loadout and model limits
- Progress bar, animation, per-character cooldowns, and an optional required tool item that can be consumed on use
- Every condition — job, grade, duty, zone, distance, cooldown, item — is re-validated the moment the progress bar completes, not just when it starts
Capacity handled honestly
- Five strategies when a trunk can't hold everything: add what fits, all-or-nothing with rollback, skip whole items, retry the shortfall, or log silently
- Items are never silently deleted, and the trunk is validated against real weight and slot limits before and during every issue
- Metadata placeholders resolve server-side at issue time — serial, plate, model, VIN, job, grade, department, date and more
Admin, audit and developer tools
-
Configurable commands to inspect the assigned loadout, restock, view issuance status, reset a record, or force-apply a loadout
-
ACE permissions throughout, with replace-mode restocks admin-gated by default because they remove items
-
Optional webhook logging — Discord-compatible or plain JSON, batched, with per-event toggles and identifiers attached to abuse reports
-
A documented server API: ApplyLoadout, RestockVehicle, GetVehicleLoadout, HasVehicleReceivedLoadout, ResetVehicleLoadout, RegisterVehicleLoadout and GetLoadout, plus observer events and a cancellable beforeApply hook
Requirements: OneSync, ox_lib and oxmysql. Framework, inventory, target and notify resources are all auto-detected — nothing else is mandatory. The database table installs itself on first start; non-persistent issue modes need no database at all.