Installation

5 min readUpdated Today

Installation

ML Inventory installs into your own ox_inventory folder. The download holds Micio Mods files only: a replacement fxmanifest.lua, the micio/ folder with the config and the systems, and the compiled interface in web/build. No ox_inventory file is included, and none is modified.

Before you start

  • OneSync enabled on the server.
  • FiveM server artifact 6116 or newer.
  • ox_lib and oxmysql already running.
  • The ox_inventory folder you run today, or a fresh copy from the official ox_inventory repository.

Install the inventory

  1. Stop the server.
  2. Rename your ox_inventory folder to ml_inventory.
  3. Copy the contents of the download into that folder. This replaces fxmanifest.lua and web/build, and adds micio/. Nothing else in the folder is touched.
  4. In server.cfg, replace the ensure ox_inventory line with ensure ml_inventory, still after ox_lib and oxmysql.
  5. Start the server.
server.cfg
1ensure oxmysql
2ensure ox_lib
3ensure ml_bridge
4ensure ml_inventory
5ensure ml_clothing
Your install stays yours

data/ item definitions, locales/, the icons in web/images and every inventory table in your database are left alone. Items, icons and saved inventories carry over as they are.

Two inventory rows in txAdmin

ml_inventory also answers to the name ox_inventory, so every script that calls exports.ox_inventory keeps working with no edit. txAdmin shows that name as a second row. It is the same resource listed twice, not a second inventory: leave it alone and never stop it.

Install ML Clothing

ML Clothing is the second resource in the package. Place it in your resources folder and start it after ml_inventory.

Database

There is no SQL file to import. ML Clothing creates what it needs on first start: ml_invadmin_audit for the admin panel audit log and ml_clothing_stash_props for placed stash props. Worn appearance is not kept in a table of ours; it is saved through the detected appearance script, or in item metadata in native mode.

Item registration

Clothing pieces, armor plates and the bag are inventory items. Register them in your items file. The definitions ship in _INSTALL/items.lua and the icons in _INSTALL/images/.

Clothing items (each stack = false, close = true):

  • hat: Hat, 300 g
  • mask: Mask, 200 g
  • glasses: Glasses, 100 g
  • earrings: Earrings, 50 g
  • chain: Chain, 100 g
  • watch: Watch, 150 g
  • bracelet: Bracelet, 100 g
  • undershirt: Undershirt, 250 g
  • jacket: Jacket, 500 g
  • bodyarmor: Body Armor, 1500 g
  • gloves: Gloves, 150 g
  • pants: Pants, 400 g
  • shoes: Shoes, 600 g
  • bag: Bag, 800 g
  • decals: Decals, 50 g

Armor plate items (each stack = true, close = true):

  • lightplate: Light Plate, 500 g. 25% armor when inserted in a plate carrier
  • heavyplate: Heavy Plate, 1200 g. 50% armor when inserted in a plate carrier
  • brokenplate: Broken Plate, 400 g. No protection, can be repaired
Icons

Copy the PNG files from _INSTALL/images/ into your inventory images folder so every registered item shows an icon.

Restart, do not refresh

ML Clothing streams an armor plate prop through a DLC_ITYP_REQUEST in its manifest. After adding the resource for the first time, restart the server so the asset streams. A live refresh alone can skip newly added stream files.

Verify

  • The server starts with ml_inventory and ml_clothing both up and no error in the console.
  • Open the inventory in game: the grid, the clothing panel and the character preview come up, with your items where you left them.
  • Use a clothing item, for example jacket: it equips into its slot and the ped updates.
  • bodyarmor opens a plate carrier stash where plate items can be inserted, and a bag opens its own stash.

Another script says the inventory is missing. It should keep calling exports.ox_inventory with no change. Check that ml_inventory started, and that no old ensure ox_inventory line is left in server.cfg.

Item icons are missing after the rename. Leave inventory:imagepath unset unless you serve icons from your own host: the resource points at its own web/images folder on its own. If you do set it, point it at the new folder name.

A clothing item does nothing when used. The item name must match a key in Config.ClothingItems. Register the item in your items file using the exact names from _INSTALL/items.lua. An unregistered item has no metadata and will not equip.

The armor plate prop does not appear. The prop streams from a DLC_ITYP_REQUEST declared in the manifest. Restart the server after first install; a hot refresh can skip the newly added stream asset.

An outfit does not survive a reconnect. ML Clothing leaves appearance persistence to the detected appearance script. Confirm it starts before ml_clothing, or run in native mode where clothing lives in item metadata. The detection line is printed with Config.Debug = true.

The admin panel says insufficient permissions. Access is checked on the server. Set Config.AdminAce in shared/invadmin_config.lua to an ACE your account holds, or grant the framework admin group that Bridge.HasPermission recognizes.

Items land in the wrong slot or get dropped. Slots 11 to 25 are reserved for clothing. If two items map to the same slot number in Config.ClothingItems, one is dropped on equip. Each clothing item needs a unique slot number.

Inventory Installation, FiveM Docs | Micio Mods