Changelog
v2.1.1·
- FixedIf you run 2.1.0 with
MultiWeaponVisibilityon, this one is for you. A concealed or job-hidden weapon was still taking up a slot, so a weapon that should have been visible got squeezed out of the last one - FixedConcealing a weapon whose slot is already hidden by job now says so, instead of reporting success and doing nothing
- FixedA weapon suppressed while held no longer reappears on the chest later without anyone pressing a key
- Fixed
RequireCertset without a certification bridge now warns at startup, instead of sitting there silently doing nothing - ChangedThe scope check is skipped entirely when nothing has changed, rather than comparing every scope ten times a second regardless
v2.1.0·
- AddedMulti-weapon slots — up to four weapons on one slot: a rifle and a shotgun on the back, two pistols on the hip. Each gets its own position in the 3D editor. Off by default
- AddedWeapon length classes — short / normal / long, so a single tuned position fits every weapon in the slot instead of one per gun
- AddedLive draw-style picker — play every holster animation on your own character and keep the one you want, per slot. The clip and its length are saved together so it always plays in full
- AddedPer-job draw styles — jobs can differ in how the draw looks, never in how long it takes
- AddedAccent colour — set the server's colour once and every prompt players see adopts it, chosen from a built-in picker rather than the OS one
- AddedHidden by Job from the dashboard — the rules no longer live only in
config.lua - AddedEditor preview against any weapon — try a position with any gun in the slot, see the other lanes while placing one, and the preview now sits exactly where the game will draw it
- ChangedYour sling strap is visible to other players, not just to you
- ChangedDashboard rebuilt — destructive controls separated from the rest, overview derived from state instead of kept in step by hand
- FixedA player could stay invisible for a whole session after a single missed message
- FixedEntering a vehicle left a weapon stuck on your body for everyone else
- FixedWeapons hanging in mid-air when a player walked out of range
- FixedDrawing one of two slung weapons took both off the body
- FixedReset All no longer gets undone by the next save
- FixedThe
ox_inventorypatch marker is keyed to the fragment hash, so a changed patch is detected instead of counted
v2.0.2·
- AddedHide sling props per job — and
*hides a slot for everyone, not just for one job - AddedOptional draw confirmation — the extra confirm step can be turned off
- Added
/mbt_slingdebug— explains what the suppression predicate decided, instead of leaving you guessing - AddedStartup warning when an outdated
config.lualeaves every keybind unset - Changed
config.luaowns the keybinds andHiddenByJoboutright — no more split ownership - ChangedLong-gun draw shortened from 2000 ms to 1200 ms
- FixedJob checks failing at random on ox_core
- FixedSlung props not re-evaluated when a player changed job
- FixedSaved per-job sling variants vanishing on restart
- FixedFalls back to the bundled weapon data when ox's own file is unreadable
- FixedInspect no longer waits forever on a hold whose release never arrives, and is blocked while the weapon is jammed
- FixedShipped with
Debugoff again
v2.0.1·
- FixedStopped printing a red oxmysql error on every single start
v2.0.0·
- AddedSuppressor heat — visual heat glow on suppressor during sustained fire; three modes:
glow,light,particle - AddedWeapon inspect — hold
Ito inspect equipped weapon; overlay shows serial, condition tier (1–5), custom name, and ammo (exact or vague) - AddedLow ready — toggle between back-sling and chest-ready position with choreographed transition animation (default:
HOME) - AddedTactical sling — visible sling strap prop on torso while a long gun is slung; supports job-based model variants
- AddedWeapon safety — toggle fire safety (
END); disables firing while on safe; pill HUD indicator; state stored per-weapon by serial - AddedWeapon name — engrave a custom name on any weapon (saved in metadata, shown in inspect); configurable permission:
everyone/job/ace - AddedWeapon weight — movement speed penalty for carrying multiple long guns; three built-in presets (light / medium / heavy) or custom tuning
- AddedCharge weapon — RP gesture to rack the slide or charge the bolt; animation and sound broadcast to nearby players (
INSERT) - AddedShowcase poses — cycle through static poses for screenshots or gunshop displays via
/pose; sync via statebag - AddedVehicle trunk rack — stow and retrieve a rifle from a vehicle trunk with opening animation and oxmysql persistence
- AddedWeapon rack — fixed-location gun lockers rendered via GlobalState; optional item placement using
mbt_gunrackitem; soft oxmysql persistence - AddedShell casings — forensic shell casings per shot, persistent in-memory with serial and timestamp; examine and collect via ox_target
- AddedWeapon handoff — pass a weapon to a nearby player transferring all metadata (serial, condition, name); animated give/take with consent prompt
- AddedConcealed carry — hide weapons at the waistband; detection quality varies by clothing layer (bare / light / covered); random tell animations visible to others
- AddedPat down — LEO frisk mechanic; lists visible and concealed weapons with detection tier; consent required, bypassed if target is cuffed; supports webhook audit logging
- AddedAmmo sharing — share ammo with a nearby player; key-driven amount picker with configurable step and shift multiplier
- AddedChain of custody — forensic log of every player who carried a weapon by serial, stored in oxmysql; shown in the inspect overlay
- AddedSerials — guarantee every weapon has a unique serial at equip time; formats:
MBT-XXXXXXXXor ox-like; optional sweep on player join - AddedNo-draw zones — define sphere, box, or poly zones where weapons cannot be drawn; melee optionally excluded; HUD zone indicator
- AddedProp position editor — in-game NUI editor for all prop positions and slot variants with live preview and oxmysql save (
/mbt_trunktune) - AddedAdmin NUI dashboard —
/mbt_malislingopens a live panel for toggling all modules and managing no-draw zones without server restart - AddedQBox (
qbx_core) framework support via dedicated bridge - Addedqb-inventory support as alternative to ox_inventory (auto-detected at runtime)
- AddedBuilt-in localization: English, Italian, French (
locales/) - AddedTwo new weapon slots:
back2(heavy/launchers) andextinguisher - ChangedSmart vehicle hiding — weapon prop now stays visible on motorcycles, bicycles, and roofless vehicles; hidden only inside enclosed cars
- ChangedWeapon drop — death drop system replaced by unified WeaponDrop module with Discord webhook logging, visible on-ground prop, and configurable blinking despawn timer
- ChangedUnjam mechanic — unjamming is now key-driven (press
Ra configurable number of times) instead of automatic; adds physical interaction to the flow - Changedox_inventory is now a soft runtime dependency; the script loads without it if qb-inventory is detected
- Changedoxmysql added as soft dependency for persistence modules; features auto-disable gracefully if oxmysql is absent
- ChangedFolder structure rewritten to modular architecture (
core/,modules/,patches/); config split intoconfig.lua+default.lua
v1.1.4·
- FixedDeath-drop items now correctly use the configured
deathDropChanceprobability instead of always dropping - FixedSling animation not restoring after respawn in certain frameworks
- ChangedJamming cooldown timer is now per-weapon instead of global
- ChangedImproved sync reliability for sling state in high-player-count servers (OneSync Infinity)
v1.1.3·
- AddedNew
throwRangeconfig option to limit grenade/throwable distance - AddedExport
GetSlingSate(playerId)for third-party scripts - FixedHolster animation playing twice on fast equip/unequip
- FixedWeapon bone attachment offset wrong on MP female ped
v1.1.0·
- AddedWeapon jamming mechanic — configurable chance per weapon class, clear-jam animation
- AddedThrow mechanic for throwable weapons (grenades, molotovs)
- AddedDeath drop system — drops configured items on player death
- ChangedSling positions now fully configurable via
Config.Bonestable - ChangedMigrated from native events to ox_lib callbacks for better reliability
v1.0.0·
- AddedInitial release — visible weapon sling on back and side
- AddedHolster animations on weapon equip/unequip
- AddedSupport for ox_lib and ox_inventory
- AddedOneSync compatible