← Blog
Loadout Script v2.1 — persistent inventories, MLO fixes
v2.1 is a maintenance release with one real feature: loadouts now persist. Update is drop-in over v2.0 — no schema wipe, no config rewrite.
Added
- Persistent loadouts. A player's assigned kit is written to the database and restored on join, so it survives restarts, relogs and crashes. Toggle with
Config.Persistence. - QBCore export.
exports['sl_loadout']:GiveLoadout(source, 'patrol')grants a kit from any other resource — useful for job scripts and admin menus. - Per-kit permission strings. Kits can now require an ace permission instead of only a job/grade check.
Fixed
- Armoury MLO clipped through the back wall at the northeast corner — collision mesh rebuilt.
- Weapon components weren't re-applied after the persistence restore. They are now.
Config.Localewas ignored if set before the framework finished loading.- Rare nil on
PlayerData.jobduring early join on ESX Legacy.
Changed
- Target zones now use
ox_targetif present, falling back to the built-in marker prompt. - Config comments rewritten to be, you know, actually readable.
Upgrading
# back up your existing config
cp resources/[sl]/sl_loadout/config.lua config.backup.lua
# replace the resource, keep your config
# then diff for the three new keys:
# Config.Persistence, Config.PermissionMode, Config.UseOxTarget
ensure sl_loadout
Full setup from scratch is covered in Configure the Loadout script.
Questions, or something not working? The Discord is the fastest way to get an answer — and where every new drop lands first.
Join the Discord