← Blog
Changelog

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.Locale was ignored if set before the framework finished loading.
  • Rare nil on PlayerData.job during early join on ESX Legacy.

Changed

  • Target zones now use ox_target if 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