G.A.SG.A.S Docs
G.A.S Docs / Other

Thumbnail Clothing Store & Wardrobe

Shop for clothes by clicking real preview images — thumbnail grid, live on-ped preview, colour swatches, favourites, named outfits, share codes, job wardrobes and VIP stores. Built on illenium-appearance.

Version v1.0.0Framework Qbox / QBCore / ESXUpdated July 2026 $14.99 Get it on the store →

A premium, thumbnail-grid clothing system for FiveM. Players click real preview images to dress their ped live, browse by category, favourite items, and save named outfits — all in a clean command-center UI that docks to the side so the character stays on screen. Framework-agnostic (Qbox / QBCore / ESX) and built on top of illenium-appearance for rock-solid persistence.

Version: 1.0.0 · by G.A.S. Team Developers


✨ Features

  • 🖼️ Thumbnail grid — browse every category (tops, pants, hats, glasses, accessories, hair, and more) as real preview images, not blind index numbers.
  • 👁️ Live preview — the change appears on your real ped in-world instantly.
  • 🎨 Colour swatches — flip through every texture/colour with live preview.
  • Favourites & recently-worn — star items; they surface in a quick tab.
  • 👔 Named outfits — save a look, wear it in one click (shares the standard player_outfits table, so it's compatible with illenium outfits).
  • 🔗 Share outfits by code — turn any saved outfit into a short share code; friends import the exact look with one paste. Live-previews before they save.
  • 🧰 Job / gang wardrobes — grade-gated clothing-room presets that appear in the Outfits tab only for the right job or gang. Config-driven, wear-only.
  • 🔒 Private / VIP stores — lock any store or wardrobe by job, gang, grade, or ACE permission. Access is verified server-side, not just hidden.
  • 🚫 Blacklist — hide broken / EUP-only / restricted drawables per gender & category so they never show in any store.
  • 🛠️ In-game admin mode/clothingadmin (ACE-gated) adds controls to every tile: hide an item from all stores or move it to another category. Stored in the database, applies instantly, fully reversible — no config edits.
  • 📝 Discord logging — optional webhook embeds for purchases, saves, shares and imports (who, what, how much) — a clean audit trail for your server.
  • 💰 Optional paid stores — charge on save, per-store pricing, bank or cash.
  • 🎥 Smart camera — the view glides to the body part you're shopping (shoes → feet, hats → head), orbits 360° around the ped (buttons or **click-drag the screen**), scroll-wheel zoom, one-click reset.
  • 🔎 Search — jump straight to an item number.
  • 🔊 Polished UX — subtle UI sounds, smooth animations, responsive 1080p→4K.
  • 🧠 Auto-clean grid — empty/blank capture slots are hidden automatically.
  • 🌍 Localised — all text in locales/, add any language.

📦 Requirements


🚀 Installation

  1. Drop the folder into resources/[custom]/rr-clothing/.
  2. Add to server.cfg after its dependencies:

``cfg ensure ox_lib ensure oxmysql ensure illenium-appearance ensure uz_AutoShot ensure rr-clothing ``

  1. Generate thumbnails (once): in-game run /shotmaker (uz_AutoShot) and capture every category for both a male and a female ped, then restart uz_AutoShot. See uz_AutoShot docs.
  2. Generate the blank-slot map (once, after capturing):

`` powershell -ExecutionPolicy Bypass -File tools\gen-blanks.ps1 ` then restart rr-clothing`. This hides empty capture slots from the grid.

  1. Make it your main clothing menu: disable your appearance script's own clothing stores. For illenium-appearance, set in its shared/config.lua:

``lua Config.DisableClothingStores = true `` (barber/surgeon/tattoo/character-creation stay on illenium.)

  1. Restart the server. The rr_clothing_favorites table auto-creates.

🎮 Usage

ActionHow
Open wardrobe/clothing command, a clothing-store blip, or exports['rr-clothing']:open()
Try on an itemClick its thumbnail — previews live on your ped
Change colourPick a swatch in the Colour bar
FavouriteHover an item, tap the ★
Save an outfitOutfits tab → Save current outfit
Wear a saved outfitOutfits tab → the shirt icon
Rotate / zoomTop-bar buttons
Save changesSave (charged if the store has a price)
DiscardCancel / Esc

⚙️ Configuration (config.lua)

OptionDescription
Config.CommandCommand that opens the wardrobe (default clothing)
Config.KeybindOptional default key for the command
Config.ThumbnailBase / Config.ThumbnailFormatWhere captured images are served (default uz_AutoShot)
Config.Price / Config.AccountCost on save (0 = free) and bank/cash
Config.LogsDiscord webhook logging (purchases / saves / shares / imports)
Config.UseTargettrue = ox_target, false = press-E marker
Config.StoresClothing-store locations (seeded with GTA defaults; per-store price + access control: job/jobs/grade/gang/ace/label)
Config.LocationsExtra press-E points (great for private/job wardrobes)
Config.JobOutfitsGrade-gated job/gang outfit presets shown in the Outfits tab
Config.BlacklistPer-gender/category drawable indices to hide from the grid
Config.BlipStore blip sprite/colour/name (false to hide)
Config.SoundsUI sounds on/off
Config.Rotate/Zoom/Ped knobsCamera feel
Config.CategoriesCategory order, icons, component/prop ids

Private / VIP & job stores

Add any of job, jobs (list), grade (minimum), gang, or ace to a Config.Stores / Config.Locations entry to lock it. Example:

{ coords = vec4(441.0, -981.0, 30.7, 90.0), label = 'PD Locker', job = 'police', grade = 0 },
{ coords = vec4(-1300.0, -1080.0, 7.0, 30.0), label = 'VIP Boutique', ace = 'clothing.vip', price = 500 },

Grant ACE access in server.cfg: add_ace group.vip clothing.vip allow.

Admin mode

/clothingadmin opens the wardrobe with moderation controls on every tile (hide from all stores / move to another category, with badges + one-click undo). Access is verified server-side via Config.AdminAce. Grant it in server.cfg:

add_ace group.admin rrclothing.admin allow

Hidden items vanish for players instantly; "moved" items show under the category you picked (e.g. re-file a vest GTA misplaces under Accessories into Armor). All rules live in the rr_clothing_hidden / rr_clothing_moves tables.

Share codes & job outfits

Saved outfits get a Share button that returns an 8-character code; anyone can paste it into Outfits → Import by code to try the exact look, then Save to keep it. Job/gang presets are defined in Config.JobOutfits and only appear for players with the matching job/gang and grade.


🧑‍💻 For developers

-- open the wardrobe from any resource
exports['rr-clothing']:open()          -- free / inherits Config.Price
exports['rr-clothing']:open(250)        -- charge $250 on save

Money is abstracted in bridge.lua (Qbox / QBCore / ESX). Add a block there to support any other framework.


🌍 Localisation

All player-facing text lives in locales/en.json. Copy it to locales/<lang>.json, translate, and set setr ox:locale <lang> in server.cfg.


📄 License

MIT © 2026 Real Results / G.A.S. Team Developers. Support & more scripts: gasteamdevelopers.com

Last updated August 10, 2026