> For the complete documentation index, see [llms.txt](https://risk-scripts.gitbook.io/risk-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://risk-scripts.gitbook.io/risk-scripts/scripts/outfit-bag-script/configuration.md).

# Configuration

#### **Clothing Components (Drawable Variations)**

| ID | Description                         |
| -- | ----------------------------------- |
| 0  | Face (only for NPCs)                |
| 1  | Masks                               |
| 2  | Hair                                |
| 3  | Arms / Gloves                       |
| 4  | Pants                               |
| 5  | Bags / Parachutes                   |
| 6  | Shoes                               |
| 7  | Accessories (e.g., chains, watches) |
| 8  | Undershirts                         |
| 9  | Body Armor / Vests                  |
| 10 | Badges (e.g., police badge)         |
| 11 | Tops / Jackets                      |

#### **Clothing Props (Accessories)**

| ID | Description    |
| -- | -------------- |
| 0  | Hats / Helmets |
| 1  | Glasses        |
| 2  | Earrings       |
| 6  | Watches        |
| 7  | Bracelets      |

```lua
Config = {

    -- FRAMEWORK & DEBUG SETTINGS
    Framework = "auto", -- Auto-detect ESX or QBCore. Can be "auto", "esx", or "qbcore"
    Debug = false, -- Enable or disable debug prints in console

    -- IDENTIFIER & LANGUAGE
    IdentifierType = "license", -- Choose how to identify players (e.g. "license", "steam")
    Language = "en", -- Language code for notifications/locales

    -- OUTFIT & COOLDOWN
    MaxOutfits = 6, -- Maximum number of outfits players can store
    CooldownMinutes = 0, -- Cooldown in minutes before players can change outfits again

    -- BAG ITEM & MODEL
    BagItem = "outfit_bag", -- The item name for the outfit bag
    BagModel = "prop_big_bag_01", -- The 3D model of the bag object

    -- INTERACTION DISTANCES
    InteractDistance = 3.0, -- Max distance to interact with a placed bag
    PlaceDistance = 0.5, -- Distance in front of the player to place the bag
    MinDistanceBetweenBags = 6.0, -- Minimum distance required between two bags

    -- OX_TARGET SUPPORT
    UseOxTarget = false, -- Set to true if you want to use ox_target for bag interactions

    -- DATABASE TABLE
    DatabaseTable = "bagoutfits", -- The name of the MySQL table storing outfit data

    -- FRAMEWORK EXPORTS
    Exports = {
        ESX = {
            GetCore = "esx:getSharedObject", -- ESX core retrieval
            ShowNotification = "esx:showNotification" -- ESX notification function
        },
        QBCore = {
            GetCore = "qb-core:GetCoreObject", -- QBCore object retrieval
            ShowNotification = "QBCore:Notify" -- QBCore notification function
        }
    },

    -- NOTIFICATION FUNCTION
    Notify = function(src, msg, t)
        if Config.Framework == "esx" then
            TriggerClientEvent(Config.Exports.ESX.ShowNotification, src, msg)
        elseif Config.Framework == "qbcore" then
            TriggerClientEvent(Config.Exports.QBCore.ShowNotification, src, msg, t or "primary", 5000)
        end
    end,

    -- CLOTHING WHITELIST
    ClothingWhitelistComponents = {
        [1] = true,  -- Masks
        [3] = true,  -- Arms / Gloves
        [4] = true,  -- Pants
        [5] = true,  -- Bags / Parachutes
        [6] = true,  -- Shoes
        [8] = true,  -- Undershirts
        [11] = true  -- Tops / Jackets
    },

    ClothingWhitelistProps = {
        [0] = true,  -- Hats / Helmets
        [1] = true   -- Glasses
    }
}

```
