F.A.Q
Setup
Set Config.Locale in shared/config.lua:
1Config.Locale = 'en'Add an entry to Config.Items with the item name, prop model, bone hash, and default positions for male/female:
1{
2 name = 'my_item',
3 prop = 'prop_my_model',
4 bone = 24818,
5 isWeapon = false,
6 defaultPosition = {
7 male = { x = 0.0, y = 0.0, z = 0.0, rx = 0.0, ry = 0.0, rz = 0.0 },
8 female = { x = 0.0, y = 0.0, z = 0.0, rx = 0.0, ry = 0.0, rz = 0.0 },
9 },
10}Or use /carryadmin in-game to add, edit or remove items visually. Catalog changes apply to every player live with no restart, and persist in the database.
Admin
Yes. /carryadmin opens the catalog manager. It lists every carry item (config and live), and lets you add a new one, re-edit an existing one's position with the 3D editor, or delete a live one. Saves write to the ml_propscarry_items table and broadcast to every connected player immediately: no config editing, no restart.
Anyone the framework treats as an admin (Bridge.HasPermission), or the ml_propscarry.admin / admin ACE. Override it per server in open/server.lua with Handlers.IsAdmin.
Editor
Use /carryedit [itemName]. A 3D gizmo appears on the prop: drag the arrows to move it, grab the rings to rotate it, and orbit the camera to check it from every side. Press Enter to save, ESC to cancel. Positions are stored per-player server-side.
Click Reset to Default in the /carryedit editor (two-click confirm), or run /carryreset [itemName]. Both delete the player's saved position, so the prop reverts to the current default: including a default an admin has since set live with /carryadmin, which then applies to that player again.
Weapons
Yes, when Config.WeaponComponents = true. Scopes, suppressors, grips, and other attachments are resolved from item metadata and rendered on the holstered weapon model.
ox_inventory gives the full experience. QB-style inventories (qb, ps, qs, codem, core, tgiann) store attachments in their own metadata formats and ml_propscarry reads those too, including the tint where the inventory saves one. If an inventory stores nothing on the weapon, it simply shows without attachments.
Yes, when Config.FlashlightPersist = true. The on/off state is tracked per weapon serial number and preserved across holster/draw cycles.
Sync
Yes. Props sync to nearby players (within 200m) via StateBags. Other players see the same props with the same positions.
Maximum 20 items synced per player to prevent entity exhaustion.
Updates
- Download latest from CFX Portal
- Backup
shared/config.lua - Replace all files except config
- Restart the resource
Player positions are stored in KVP and the live catalog in the ml_propscarry_items table: both survive updates, nothing to migrate.