Outfit Bag β Installation β
Dependencies β
| Resource or service | Required | Notes |
|---|---|---|
oxmysql and MySQL/MariaDB | Yes | The only supported database adapter |
| ESX, QBCore or Qbox | For bundled gameplay integrations | Choose the framework actually running on your server |
Supported inventories β
| Resource | Supported | Get resource |
|---|---|---|
ox_inventory | β | GitHub |
qb-inventory | β | GitHub |
ps-inventory | β | GitHub |
lj-inventory | β | GitHub |
qs-inventory | β | Paid |
ak47_inventory | β | Paid |
Supported clothing β
| Resource | Supported | Get 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 β
| Resource | Supported | Get resource |
|---|---|---|
ox_target | β | GitHub |
qb-target | β | GitHub |
Supported languages β
| Language | Supported | Locale 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:
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:
[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.pngOpen 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/.
| Item | Default outfit capacity |
|---|---|
fs_small_bag | 5 |
fs_medium_bag | 10 |
fs_large_bag | 15 |
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:
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:
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 β
- Restart
qb-clothing, thenfs_outfitbag. - Open
/fs_outfitbagand select qb-clothing in Bridge. - In Settings, enable Persist outfit changes and save. This setting is off by default.
- 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 β
- Open
/fs_outfitbag. - In Bridge, confirm framework, inventory, clothing, target and other providers.
- Choose Language between Inventory and Framework.
- Check the three default definitions in Bag Items.
- Give yourself one non-stacking bag item through your inventory's normal administration tools.
- Use the item to place the bag. Then use the prop's target to open it.
- Save an outfit, wear/remove a component, pick up the bag, and test transfer and restart recovery.
Continue with Configuration and Integrations.
