👞Configure Clothing Shops

1. Core Configuration

All shop logic is centralized in shared/sh_clothes.lua. Before adding shops, verify your global settings :

  • Choose the skin manager (qb-clothing, esx_skin, etc.)

  • The Shared.ClotheCategories table maps each clothing slot to its ESX or something else keys and icon directories. You can extend or rename categories here if needed

Pricing defaults

Shared.ClotheDefaultCategory defines a fallback price if a shop omits pricing for a given category.

2. Clothing Shop Schema

The comment block in sh.lua documents the full schema for shop entries and category options (pricing modes, whitelist/blacklist, texture surcharges, etc.).

Pricing modes

  • fixed – flat fee (base)

  • multiplierbase + drawableIndex × mult

  • table – map explicit prices to drawable indices (map)

3. Adding a New Clothing Shop

  1. Open shared/sh_clothes.lua and locate Shared.ClotheShops.

  2. Duplicate an existing shop block and give the table key a unique identifier (e.g., mirror_park).

  3. Edit basic shop info: name, payment (cash or bank), currency symbol, tax, and discount.

  4. Configure categories under categories:

    • Set enabled = true for each clothing type you want to sell.

    • Define pricing using one of the modes above and optionally override the icon path.

  5. Set the blip:

    • pos = vec3(x, y, z)

    • sprite, display, scale, colour, and name

  6. Save the file and restart the script to load the new shop.

Example excerpt (from the provided “Strawberry” shop) for reference :

strawberry = {
    name = "Discount Store - Strawberry",
    payment = "bank",
    currency = "$",
    tax = 0.00,
    discount = 0.10,
    categories = {
        undershirt = { enabled = true, price = {mode = "fixed", base = 300},
                       icon = "images/icons/CLOTH-3-ICON.png" },
        tops = { enabled = true,
                 price = {mode = "multiplier", base = 300, mult = 2},
                 icon = "images/icons/CLOTH-3-ICON.png" },
        -- …
    },
    blip = {
        pos = vec3(71.835, -1399.081, 29.376),
        sprite = 73,
        display = 4,
        scale = 0.7,
        colour = 2,
        name = "Clothing"
    }
}

4. Optional Tweaks

  • Default marker look (Shared.Marker) : adjust type, size, and color for shop entry markers

  • Sound and locale : toggle purchase sounds with Shared.PlaySound, and edit top-screen prompts in Shared.Locale

Last updated