Skip to content

Outfit Bag β€” Installation ​

Dependencies ​

Resource or serviceRequiredNotes
oxmysql and MySQL/MariaDBYesThe only supported database adapter
ESX, QBCore or QboxFor bundled gameplay integrationsChoose the framework actually running on your server

Supported inventories ​

ResourceSupportedGet resource
ox_inventoryβœ…GitHub
qb-inventoryβœ…GitHub
ps-inventoryβœ…GitHub
lj-inventoryβœ…GitHub
qs-inventoryβœ…Paid
ak47_inventoryβœ…Paid

Supported clothing ​

ResourceSupportedGet resource
illenium-appearanceβœ…GitHub
fivem-appearanceβœ…GitHub
qb-clothingβœ…GitHub
skinchangerβœ…GitHub
rcore_clothingβœ…Paid
crm-appearanceβœ…Paid
p_appearanceβœ…Paid
qs-appearanceβœ…Paid

Supported targets ​

ResourceSupportedGet resource
ox_targetβœ…GitHub
qb-targetβœ…GitHub

Supported languages ​

LanguageSupportedLocale file
Arabicβœ…ar.lua
Germanβœ…de.lua
Englishβœ…en.lua
Spanishβœ…es.lua
Frenchβœ…fr.lua
Dutchβœ…nl.lua
Polishβœ…pl.lua
Brazilian Portugueseβœ…pt-br.lua
Russianβœ…ru.lua
Turkishβœ…tr.lua

Language files in locales/ are open and editable. To add your own language, copy en.lua, change the locale code and language label, and translate the values without changing the keys. Restart the resource, then select your language in Bridge β†’ Language. Missing translations fall back to English.

1. Install the resource ​

Place the folder under your server resources. Keep its exact name:

text
resources/[fs]/fs_outfitbag/

Back up your database and existing configuration before replacing an older installation. The automatic schema setup creates current tables; it is not an automatic import of an older outfit-bag product's data.

2. Add inventory items and images ​

The package includes:

text
[install_me_first]/
  [items]/ox_inventory.lua
  [items]/qb-inventory.lua
  [items]/qs-inventory.lua
  [items]/ps-inventory.lua
  [items]/lj-inventory.lua
  [items]/ak47_inventory.lua
  [images]/fs_small_bag.png
  [images]/fs_medium_bag.png
  [images]/fs_large_bag.png

Open the file in [items] that matches your inventory. Copy its three bag item entries into your existing item definitions. Each supplied file uses that inventory's format and contains entries onlyβ€”no surrounding return {} block. Do not replace your existing item catalog.

Copy all three PNGs from [images] into your inventory's image directory, keeping their filenames unchanged. For ox_inventory, this is ox_inventory/web/images/.

ItemDefault outfit capacity
fs_small_bag5
fs_medium_bag10
fs_large_bag15

Use stack = false for ox_inventory, or unique = true for supported info-based inventories. Enabled definitions register through native framework usable-item callbacks. The supplied ox items do not need consume or client.export entries.

Admin item thumbnails use the active inventory's itemname.png, not images inside the installation folder.

3. Grant admin permission ​

Use /fs_outfitbag in-game, copy the permission line shown, and paste it into your server.cfg.

4. Start in the correct order ​

Place fs_outfitbag inside your resources/[fs]/ folder. Make sure the following line is at the end of your resource startup entries in server.cfg, after your framework, inventory and other dependencies:

cfg
ensure [fs]

If ensure [fs] is already present, move it to the end instead of adding it again.

5. Automatic SQL ​

No manual SQL import is required for a normal installation. On startup the resource installs missing tables through oxmysql and applies its schema checks. The database user needs table-creation/alter permissions as well as normal read/write access.

The schema is deliberately not included in the installation-items folder. For an administrator who needs a manual bootstrap, the source is server/schema.sql.

Manual SQL alternative

Download the v2.0 schema SQL, or use the matching file shipped in your resource.

Back up the database, stop fs_outfitbag, and run the contents of server/schema.sql against the same database configured for oxmysql. Start the resource again so its runtime migrations and default-definition checks can finish.

Do not drop existing tables to reinstall. The bundled file uses CREATE TABLE IF NOT EXISTS; runtime checks are still needed for existing installations.

6. Necessary setup for QB Clothing ​

QB Clothing only

If you do not use qb-clothing, skip this step. This hook is needed for saving worn clothes after reconnecting when your QB Clothing version does not already provide it.

Check your version first ​

Search your qb-clothing client files for qb-clothing:getSkin or the GetSkinData export. If either is already implemented, do not add another copy.

Add the missing hook ​

Open qb-clothing/client.lua, scroll to the bottom, and paste this code:

lua
AddEventHandler('qb-clothing:getSkin', function(cb)
    cb(skinData)
end)

Save the file.

If your version has a different folder layout, search inside qb-clothing for local skinData and paste the code at the bottom of that file instead.

Enable saving and test ​

  1. Restart qb-clothing, then fs_outfitbag.
  2. Open /fs_outfitbag and select qb-clothing in Bridge.
  3. In Settings, enable Persist outfit changes and save. This setting is off by default.
  4. Wear an outfit from a bag, reconnect, and check that the clothes remain. Also test removing an outfit part.

The setting applies to item bags, command bags and Job Bags. Preview models do not save clothing.

7. Configure and test ​

  1. Open /fs_outfitbag.
  2. In Bridge, confirm framework, inventory, clothing, target and other providers.
  3. Choose Language between Inventory and Framework.
  4. Check the three default definitions in Bag Items.
  5. Give yourself one non-stacking bag item through your inventory's normal administration tools.
  6. Use the item to place the bag. Then use the prop's target to open it.
  7. Save an outfit, wear/remove a component, pick up the bag, and test transfer and restart recovery.

Continue with Configuration and Integrations.

FWB Studio documentation.