Commands & Exports
Player Commands
/throwWeapon
Throw the currently equipped weapon. It physically lands and becomes a lootable drop.
| Property | Value |
|---|---|
| Default key | K |
| Configurable | MBT.Throw.Key / MBT.Throw.Command |
| Conditions | Weapon equipped, not in a vehicle, weapon group must be allowed |
/pose [n]
Enter a showcase idle pose. Running the command again (or /pose 2, /pose 3...) cycles through poses. Moving, shooting or entering a vehicle exits the pose.
| Property | Value |
|---|---|
| Default key | none (command only by default) |
| Configurable | MBT.ShowcasePoses.Key / MBT.ShowcasePoses.Command |
/mbtLowReady
Toggle between back-sling and chest-ready (low ready) position for long guns.
| Property | Value |
|---|---|
| Default key | HOME |
| Configurable | MBT.LowReady.Key / MBT.LowReady.Command |
| Eligible types | back, back2 (configurable in MBT.LowReady.Types) |
/mbtSafety
Toggle the safety on the held firearm.
| Property | Value |
|---|---|
| Default key | END |
| Configurable | MBT.Safety.Key / MBT.Safety.Command |
/weaponname <name>
Engrave a custom name on the held weapon (stored in metadata, shown in inspect).
| Property | Value |
|---|---|
| Default key | none (command only by default) |
| Configurable | MBT.WeaponName.Key / MBT.WeaponName.Command |
| Permission | MBT.WeaponName.Permission (everyone / job / ace) |
| Max length | MBT.WeaponName.MaxLength (default 24) |
/mbtcharge (key: INSERT)
Rack the slide / charge the weapon. Animation and sound broadcast to nearby players.
| Property | Value |
|---|---|
| Default key | INSERT |
| Configurable | MBT.ChargeWeapon.Key / MBT.ChargeWeapon.Command |
/mbt_rackcount
List the weapon racks you have placed and how many you are still allowed to place.
/mbt_clearmyracks
Remove all of your placed racks that are currently empty.
Admin & dev commands
| Command | Access | What it does |
|---|---|---|
/mbt_malisling | Admin (ACE) | Opens the configuration dashboard |
/mbt_placerack · /mbt_removerack | Admin (ACE) | Place / remove a weapon rack at runtime |
/mbt_rackcoords | Anyone | Prints the config line for a fixed rack at your current position |
/mbt_racktune | Admin / Debug | Live-tune the weapon offsets on a rack |
/mbt_trunktune | Near a vehicle with a stowed weapon | Tune the trunk prop offset for that vehicle class / model |
/mbt_casingzone | Admin / Debug | Size a no-casing zone in-world (ranges, armouries) and print the ExcludeZones line |
Every command name is configurable: each feature block in default.lua has a Command field, and the dashboard's own command is MBT.Admin.Command in config.lua.
The dashboard — /mbt_malisling
Requires ACE permission command.mbt_malisling (or the configured MBT.Admin.Permission).
- Live toggle of all feature modules (no restart needed)
- Weapon positions editor
- No-draw zone manager
- Trunk rack offset tuner
Saving tuned offsets
/mbt_trunktune and /mbt_racktune open a nudge UI to adjust a prop position in real time. Press ENTER to save.
A saved trunk offset is keyed to the vehicle model name, so it applies to every vehicle of that model. Without oxmysql, edits are session-only.
Keys (no commands)
| Action | Default key | Config key |
|---|---|---|
| Confirm holster | RMOUSE | MBT.HolsterControls.Confirm |
| Cancel holster | BACKSPACE | MBT.HolsterControls.Cancel |
| Concealed carry toggle | U | MBT.ConcealedCarry.Key |
| Weapon handoff | G | MBT.Handoff.Key |
| Ammo sharing | H | MBT.AmmoSharing.Key |
| Pat down (LEO only) | Y | MBT.PatDown.Key |
| Weapon inspect (hold) | I | MBT.Inspect.Key |
All keys are rebindable from GTA Settings → Key Bindings → FiveM / Malibu Tech.
Client Exports
dropCurrentWeapon()
Manually drop the player's currently equipped weapon at their position. Removes the weapon from inventory and creates a physical drop at the player's hand bone location.
exports['mbt_malisling']:dropCurrentWeapon()Client-side export. Call it from within the context of the player you want to disarm, not from the server.
ResetWeaponsOnBack()
Force-refresh all weapon props for the local player. Useful after custom clothing changes or multicharacter relog flows that skip the normal inventory refresh.
exports['mbt_malisling']:ResetWeaponsOnBack()IsWeaponSafetyOn()
Returns true if the held weapon's safety is currently engaged.
local isSafe = exports['mbt_malisling']:IsWeaponSafetyOn()The same state is also available via statebag mbt_weaponSafety for server-side reads.
These are the supported ones — treat anything else you find in the source as internal and subject to change.
Developer Reference
Local events (client → same resource)
| Event | Description |
|---|---|
mbt_malisling:onHolster | Fired when the local player holsters a weapon |
mbt_malisling:onUnholster | Fired when the local player unholsters a weapon |
Net events (server → client)
| Event | Description |
|---|---|
mbt_malisling:syncScope | Notifies a client to create or remove weapon props for a player entering/leaving scope |
mbt_malisling:syncDeletion | Instructs a client to delete a specific weapon prop |
mbt_malisling:syncPlayerRemoval | Clears all tracking for a disconnected player |
mbt_malisling:checkWeaponProps | Re-syncs the client's weapon props after reconnect |
mbt_malisling:sendWeaponsData | Broadcasts the weapon type/config table on resource start |
Net events (client → server)
| Event | Payload | Description |
|---|---|---|
mbt_malisling:syncSling | { slot, type, components, ... } | Syncs equipped weapon state |
mbt_malisling:syncDeletion | { type } | Requests weapon prop removal |
mbt_malisling:checkInventory | — | Requests inventory re-check after spawn |
Net events are protected by FiveM's network model — only authenticated clients can trigger them. Do not trigger them from external resources without fully understanding the payload format.