Description
A working QBCore personal wardrobe: at a home or apartment the player reads their currently worn components and props, saves the look under a name, and reloads any saved outfit on demand. The named-outfit store is server-side and keyed per citizenid, so it survives relogs and can't be spoofed. Outfit save/load is bundled into the big appearance packs, so a standalone wardrobe sells on UI polish and a trustworthy persistence model.
Prompt Template
You are writing a FiveM resource for qb-core (exports['qb-core']:GetCoreObject()).
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth β both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access β pay once
- All 510 prompts β the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates β new niches as the market moves
$49 for 60 Β· $199 for all 510 + intelligence β one-time, no subscription.
Expected Output
The reference Lua lives at content/expected-outputs/appearance/05-personal-wardrobe-save.lua. It reads worn components and props into a serializable outfit, applies a loaded outfit cleanly, and aβ¦
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth β both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access β pay once
- All 510 prompts β the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates β new niches as the market moves
$49 for 60 Β· $199 for all 510 + intelligence β one-time, no subscription.
Known Failure Modes & Corrective Prompt
- Client-side store β Claude keeps outfits in a local table; they vanish on relog and can be spoofed. Store server-side keyed by citizenid.
- Anim before load β the open pose no-ops if the dict isn't loaded; always
RequestAnimDict+while not HasAnimDictLoaded(dict) do Wait(0) end. - One-sided net event β
wardrobe:save/wardrobe:applyon only one side breaks save or load; both sides useRegisterNetEvent+AddEventHandler. - Stale props β applying without
ClearAllPedPropsfirst leaves old hats/glasses on; clear props before re-applying.
Corrective re-prompt: "Move the wardrobe store into the server keyed by citizenid: wardrobe:list returns the saved names, wardrobe:save validates and stores the outfit table, wardrobe:load fires wardrobe:apply with the stored outfit. The client only reads/applies the ped; never keep outfits in a client table."
Framework Integration
- ESX: swap to
exports['es_extended']:getSharedObject()and key the wardrobe store byxPlayer.identifier. - QBCore: as written β
Player.PlayerData.citizenidis the store key. - QBox: use
exports.qbx_core:GetPlayer(src); the read/apply and store logic are identical.
Profit Potential
$90β$1200/mo on Tebex (expected ~$320). [INFERRED] priced inside the $50-389 script band against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo); saturated because the big packs bundle it, but a standalone still moves on polish.
Trend Signal
β saturated β corpus: Outfit save/load is bundled in illenium-appearance; a standalone wardrobe still sells on UI/UX polish.
Sales Angle
The standalone named-outfit wardrobe with server-side persistence that survives relogs β sold to servers running a lighter appearance stack that still want trustworthy outfit saving. Recommended Tebex price $89.
Difficulty & Ship Time
intermediate Β· ships in 5-7h.