Jixryo Clothing
The whole appearance. Clothes are inventory items you wear, stores with live try-on and a server-priced checkout, wardrobes and outfits, job uniforms, the character creator, barbers, a surgeon and ped shops.
Version 1.2.1 Updated See it on its script page
On this page
Jixryo Clothing is the resource jixryo_clothing, version 1.2.1. Clothes are ox_inventory items worn in the inventory's WEARING, Armour and Bag slots. GTA's clothing stores have a live try-on with a camera, a cart and a server-priced checkout. Your own clothes wait in a wardrobe with saved outfits and an outfit bag, jobs keep uniforms at their lockers, new characters get a character creator, barbers, the plastic surgeon and ped shops change how you look, and a body clinic for height and build is built but switched off. With illenium-appearance off the server it takes its place: the same saved looks in the same table, its exports, events and callbacks, so character select and other scripts keep working with no data moved.
The README is plain that the appearance (phase 4) and vests, bags, decals, wardrobes, outfits and uniforms (phase 5) have been tested out of game only. The in-game checks at the end of this page are the list to run on a test server before going live.
What players get
- Clothes are items. One unique item per kind:
clothing_top,clothing_undershirt,clothing_pants,clothing_shoes,clothing_hat,clothing_glasses,clothing_ears,clothing_mask,clothing_neck,clothing_watch,clothing_bracelet,clothing_glovesandclothing_vest, each carrying what it is (GTA's own name where the game has one, the model it fits, the store and price). Worn means in its WEARING slot (1009 to 1020); a vest sits in the Armour slot (1005). Drag it out and it comes off; drag it in, right click Wear or use it and it goes on. Bags, stashes, trunks, trades and searches treat them like any item. - Vests, bags and decals. A vest (GTA's component 9) is worn in the Armour slot: it looks the part and stops nothing. A bag (component 5) is the backpack in the Bag slot: one bought in a store carries its look, a plain backpack draws none, and a bag never goes in a bag. A decal (component 10: badges, emblems, numbers) goes on the top you leave the store wearing and stays with that top.
- Every ped can wear clothes. GTA's two online models and any other ped (story characters, GTA's peds, add-on peds). A piece fits the model it was bought on ("Made for women."); other peds have no bag.
- Fifteen clothing stores, GTA's own (Binco, Discount Store, Suburban, Ponsonbys and a La Puerta store): walk to the counter and press E, or third-eye the clerk. Every drawable and colour of every kind the store sells (vests at budget stores, bags and decals everywhere but masks), with GTA's own names, filters by type (Hoodies, Tees, Jeans, Sneakers and so on), colour swatches and NEW on the newest collection. Live try-on, a camera that frames what you browse (drag to turn, scroll to zoom, it keeps out of walls), GTA Online's store animations, favourites kept on your PC, a cart with wear now or bag it per piece, keep or leave your old clothes, cash or bank, hold E to pay. Leave without paying and you are back in what you came in with.
- Taking things on and off: the inventory, the Clothing ring in the radial menu, and
/hat,/glasses,/ear,/mask,/neck,/top,/shirt,/gloves,/watch,/bracelet,/pants,/shoesand/vest. Each takes that piece off into your pockets (or the bag when they are full) or puts the one you took off last back on, with GTA's own gesture. No item messages for your own clothes going on and off. - Your wardrobe: one per character, the same wherever it opens (a wardrobe point, a house's wardrobe, the outfit bag). It holds clothes, vests and armour, and bags only when empty. Its page lists every piece you have for the ped you are on, wherever it is (on you, pockets, bag, wardrobe): pick one to see it on, Enter puts it on for real and what you had on goes in, X then Enter puts a kind away, I opens it as an inventory to move many at once.
- Outfits: save what you wear (N), wear one in one go (Enter: its pieces come out of your wardrobe, pockets or bag, kinds it leaves bare are put away, a piece you no longer have is named), delete (Del). In a store they only show on you. Up to 30 per character.
- The outfit bag: use it standing still, it goes down in front of you and your wardrobe opens; closing picks it up.
- Job uniforms: at the job's lockers pick a uniform to see it on you, Enter puts it on (your own clothes go in your wardrobe), "Your own clothes" gives it back. Uniform pieces are made for you and locked to the job: no dropping, giving, storing or taking them off you. Off duty or out of the job, the uniform goes back by itself.
- The character creator (new characters only, alone in a routing bucket, then back in the one they came from): man or woman (or a listed ped), parents and resemblance, the 20 face features, hair, brows, facial hair, makeup and the other details, eyes, first clothes (free, as items), height and build when the clinic is on, then a review and hold E. Saved once.
- Seven barbers at illenium's spots (hair, beard, brows, makeup, chest hair) and the plastic surgeon at Pillbox Hill (parents, face, skin, eyes). Each part you change has its own price, you see the total before you pay, and leaving without paying puts your face back.
- Ped shops (none until you place one): become a ped from the shop's list for its price. Each ped keeps its own look, and your own character is always offered back, free.
/reloadskinputs your saved look back on (once illenium is off the server).
What staff get
For group.god, group.admin or the ACE jixryo.clothing:
| Command | What |
|---|---|
/clothing fit | What the game reports for what you wear, in F8: each kind's component, drawable, texture, slot, collection, GTA name, the arms GTA puts with your top, where the shop data sits. |
/clothing give <id> <kind> <drawable> <texture> [m, f or a model] | A piece for a player, into their pockets. |
/clothing starter <id> | Their starter page again. |
/clothing skin <id> | Their saved skin's clothes made equal to their items now. |
/clothing creator <id> | The creator again (a new look; their clothes stay). |
/clothing ped <id> <model> | Make them that ped (their look on it is kept; mp_m_freemode_01 or mp_f_freemode_01 is back to their own). Refused for a model their game cannot load. |
clothing importuniforms | Server console only: illenium's job outfits become uniforms, once. |
Every staff change, outfit save and uniform change goes to Jixryo Core's audit log.
Install
The Jixryo ox_inventory fork is needed. Its slot layout file in its data folder has the WEARING slots 1009 to 1020 and the Armour and Bag slots; its clothing items file has the clothing items with
clothing_vest; and its two quiet-move exports move your own clothes without item messages. An older fork without the quiet moves still works: the console says so once and the messages show.Order in
server.cfg.server.cfg ensure ox_lib ensure oxmysql ensure qbx_core ensure ox_inventory ensure jixryo_core ensure jixryo_clothingqbx_radialmenu: in its client config remove the Clothing submenu (
id = 'clothesMenu'under General) and emptyclothingCommands. They change clothes with raw natives, past the items, and register the same command names.The outfit bag: stop the old outfit bag script (wasabi's or qs-outfitbag). This resource takes the
outfitbagitem's use through qbx_core, which keeps one use per item: whichever starts last wins.Deleting a character deletes their outfits too: add
{'jixryo_clothing_outfits', 'citizenid'}tocharacterDataTablesin qbx_core's server config.Wardrobes and lockers: add your wardrobe points (motels, apartments) to
Config.wardrobe.pointsand each job's lockers toConfig.uniforms.lockers. None are set. House wardrobes need nothing: they open through illenium's outfit-menu events once illenium is off.Replacing illenium-appearance: below.
Staff:
add_ace group.admin jixryo.clothing allow(or rely ongroup.godandgroup.admin, whichConfig.staffalready lists).If your respawn clears inventories (wasabi_ambulance and the like), add the
clothing_*items to its keep list, or people respawn in their underwear.Items. The clothing items come from the fork's clothing items file; vests and bags are the inventory's own
armourandbackpackitems too. Nothing to add by hand.The database. The tables
jixryo_clothing_outfits,jixryo_clothing_uniforms, andplayerskinson a server that never had illenium, are made on the first start through Jixryo Core's migrations (three steps).Restart the whole server after updating this resource, not just the resource: other scripts keep the exports they found when they started.
Replacing illenium-appearance. While it runs, it keeps the looks (creator, barbers, surgeon, saved skin, its outfit menus) and this resource does the clothing, wardrobes and lockers, keeping the saved skin's clothes equal to the worn items. Once it is off the server this resource does everything (the console says which at start).
- Remove
ensure illenium-appearancefromserver.cfgand delete or move its folder. Keep its tables: looks stay inplayerskinsin the same format. - Restart the server.
- On each character's first login the clothes in their saved skin become items in their slots, once per character. A vest becomes a
clothing_vest, a decal goes on their top, a bag only gives its look to the bag they wear. - Type
clothing importuniformsin the server console once: illenium'smanagement_outfitsbecome uniforms at the job's lockers (the online models; ones already there are skipped).
Config.appearance.enabled = false keeps this resource on clothing only even with illenium gone, for servers with another appearance script.
How other scripts' calls behave
The manifest declares provide 'illenium-appearance': scripts asking for illenium's resource state, exports and events get this resource once illenium is off the server.
| Call | What happens |
|---|---|
illenium's 22 client exports (getPedModel, getPedComponents, getPedProps, getPedHeadBlend, getPedFaceFeatures, getPedHeadOverlays, getPedHair, getPedAppearance, setPlayerModel, setPedHeadBlend, setPedFaceFeatures, setPedHeadOverlays, setPedHair, setPedEyeColor, setPedComponent, setPedComponents, setPedProp, setPedProps, setPedTattoos, setPedAppearance, setPlayerAppearance, startPlayerCustomization) | Answered under illenium's name while this resource does the looks. Looks in illenium's JSON; partial tables and a model hash are fine. Character select (qbx_core, Jixryo Characters) calls setPedAppearance. |
illenium-appearance:server:getAppearance (callback) | The saved look, registered once this resource has the looks. |
illenium-appearance:server:saveAppearance, chargeCustomer (events) | Ignored on purpose: illenium saved whatever a client sent and charged only when the client asked. Here every look is saved by the server from what you paid for. |
illenium-appearance:client:reloadSkin | Your saved look back on. |
illenium-appearance:client:OpenBarberShop, OpenSurgeonShop | Opens the one you stand at. |
illenium-appearance:client:changeOutfit, loadJobOutfit, qb-clothing:client:loadOutfit | A borrowed look on top of yours; the next change to a clothing slot dresses that kind from your items again. |
illenium-appearance:client:openOutfitMenu, OpenPlayerOutfitRoom, its /outfits event, qb-clothing:client:openOutfitMenu | The wardrobe where the player stands (Config.wardrobe.fromScripts). |
illenium-appearance:client:OpenClothingRoom | Their job's lockers where they stand. |
illenium-appearance:client:openClothingShopMenu | "Walk up to a clothing store's counter." |
qb-clothes:client:CreateFirstCharacter (event) | Opens the creator (or, while illenium still runs, the starter page after illenium's creator). |
jixryo_prison:client:enter, release, escaped and ox_inventory's inventoryConfiscated, inventoryReturned | Dressing pauses while someone is inside or confiscated; prison clothes stay on until a slot changes. |
| rcore_tattoos | Puts its own tattoos back; without it, a look's saved tattoos go on. |
Its own server exports:
| Export | What it does |
|---|---|
IsWearing(src, kind) | true or false. |
GetWorn(src) | { [kind] = { name, slot, metadata } } for every worn kind. |
TakeOff(src, kinds) | Takes off a kind, a list, or everything (nil) into the pockets or bag; returns the kinds taken off. |
GiveClothing(src, piece, opts) | Makes a piece: piece = { kind, drawable, texture, model?, component?, collection?, local?, arms?, name?, colour?, locked? }, opts = { wear = true, store = 'text' }. Returns success and where ('worn', 'pockets', 'bag', or why not). locked = '<job>' makes a uniform piece that stays with its wearer. |
Client export: useClothing(_, slot) is the clothing items' client.export in the fork's items file: on from the pockets, off when used in its slot.
Its own API
Callbacks (ox_lib, client to server):
| Callback | What |
|---|---|
jixryo_clothing:server:open | Opens a page: store (a store id), starter, clinic, creator, barber, surgeon, peds (a shop id), wardrobe (a point id, here or bag), locker (a locker id or here). The server checks where you stand and answers the opening picture. One session per player. |
jixryo_clothing:server:checkout | The cart: lines of kind, drawable, texture, collection, worn or bagged, never a price. Priced again, room worked out, money first, items second, undone on failure. A nonce makes a double click pay once. |
jixryo_clothing:server:use, toggle | An item used, or the radial and the commands: off into the pockets or bag, or back on. |
jixryo_clothing:server:name | A piece from the first login gets GTA's name when first worn. |
jixryo_clothing:server:look | Your saved look at spawn, or new for a character with none. |
jixryo_clothing:server:savedLook | A ped shop's try-on: the look you had on that ped before. |
jixryo_clothing:server:create | The creator: the face, the body, the first clothes. Saved once per character. |
jixryo_clothing:server:faceSave | A barber or the surgeon: only its own parts are taken from the page, each priced, money before the save. |
jixryo_clothing:server:pedBuy | A ped shop: become a listed ped for its price. |
jixryo_clothing:server:bodySave | The clinic: height and build within the ranges, the first visit free. |
jixryo_clothing:server:wardrobe | wear, off, outfitWear, outfitSave, outfitDelete, closet (opens the stash in the inventory a moment after the page closes). |
jixryo_clothing:server:locker | wear, own, save, delete. |
jixryo_clothing:client:modelValid (server to client) | Whether this game has a model, before staff make someone that ped. |
Events:
| Event | Direction | What |
|---|---|---|
jixryo_clothing:server:close | Game to server | The page closed (an unfinished creator goes back to its bucket). |
jixryo_clothing:server:creating | Game to server | A new character went into illenium's creator (the starter page follows). |
jixryo_clothing:server:layout | Game to server | On another ped: which component each kind is on it. |
jixryo_clothing:client:starter, creator, loadLook, redress, fit, outfitBag | Server to a game | Open the starter page or the creator, put the saved look back on, dress the kinds the server fixed, print the fit report, put the outfit bag down. |
State: GlobalState.jixryoAppearance is true while this resource does the looks; the player state bag jixryoBody carries height and build while the clinic is on.
Database: playerskins (illenium's, one row per ped model, one active), jixryo_clothing_outfits (sets of your own pieces by item id), jixryo_clothing_uniforms (a job's uniforms with the lowest grade that may take them). The character's own record (migrated, starter, created, body, uniform) is qbx metadata under jixryo_clothing. Each character's wardrobe is an ox_inventory stash owned by their citizen id.
Audit actions: clothing.buy, clothing.starter, clothing.create, clothing.look, clothing.ped, clothing.body, clothing.migrate, clothing.outfit_save, clothing.uniform_on, clothing.uniform_off, clothing.uniform_save, clothing.uniform_delete, clothing.staff_give, clothing.staff_starter, clothing.staff_creator, clothing.staff_ped.
Commands and keybinds
| Command or key | Who | What |
|---|---|---|
/hat /glasses /ear /mask /neck /top /shirt /gloves /watch /bracelet /pants /shoes /vest | Everyone | That piece off into your pockets, or back on (Config.commands; the bag's command is off by default). |
| The Clothing ring in the radial menu | Everyone | The same, by kind (Config.radial). |
/reloadskin | Everyone, once illenium is off | Your saved look back on (5 seconds between uses). |
| E at a counter, a wardrobe point, a locker or the clinic; third-eye the clerk | Everyone | Opens the page. |
| Drag, scroll, hold E | Everyone, in a store | Turn the camera, zoom, pay. |
| Enter, X then Enter, I, N, Del | Everyone, at a wardrobe | Wear a piece, put a kind away, open as inventory, save an outfit, delete one. |
| Hold E | Everyone, in the creator | Finish and save the look. |
/clothing ... | Staff | The staff tools above. |
The resource registers no key mappings; the prompts read E directly while you stand at a counter.
Configuration
config.lua is read by the client to show things and checked again by the server on every action.
| Key | Default | What it does |
|---|---|---|
Config.debug | false | Extra console lines (also setr jixryo_clothing:debug 1). |
Config.levels | budget 0.62, mid 1.0, luxury 2.35, masks 1.0 | A store level's price multiplier, the kinds it sells and its clerk model. Budget stores sell everything; mid and luxury all but masks. |
Config.stores | 15 stores (2 Binco, 5 Discount Store, 4 Suburban, 1 La Puerta, 3 Ponsonbys) | Each: id, brand, area, level, the clerk's spot; optional kinds, hours, groups, spot, model, blip. |
Config.range.counter, .stay | 2.8, 8.0 | The prompt within this of the clerk; the server keeps the store open within this. |
Config.blips | enabled, sprite 73, colour 0, scale 0.7 | The stores' map blips. |
Config.prices.kinds | top 120, undershirt 45, pants 90, shoes 85, hat 40, glasses 60, ears 75, mask 55, neck 80, watch 150, bracelet 70, gloves 35, vest 140, bag 450, decal 30 | What one piece costs at a mid store; the level multiplies it. |
Config.prices.rules | {} | Exceptions by kind, sex or model, drawables, collection: a price or a multiplier. |
Config.prices.sale | 0 | A sale at every store (0.2 is 20% off). |
Config.blacklist | {} | Pieces only some jobs, gangs or ACEs may buy (and with wear = true, wear). |
Config.peds | {} | A ped's label on items and refusals, or its kinds set by hand. |
Config.bare | GTA's bare values for the online models | What nothing worn looks like. |
Config.gloves.first | m 16, f 16 | The first arms drawable that is a glove (check with /clothing fit). |
Config.wear | fitCheck true, fromOthers false, onOthers false, cooldown 0.8 | The fit check, searching others' clothes, dressing others, seconds between two commands. |
Config.commands | the 13 commands above, bag off | The clothing commands. |
Config.radial | enabled, 13 kinds | The Clothing ring. |
Config.catalog | names true, hideGen9 true, newCollections 1, perFrame 24 | GTA's names, newer-console pieces hidden, NEW badges, drawables read per frame. |
Config.camera | ease 0.14, dof true, a soft light, 7 framings | The store camera. |
Config.anims | GTA Online's store animations, hold 1100 ms, the clerk's clips | Try-on reactions, on and off gestures, the clerk. |
Config.body | enabled false, height 0.96 to 1.04, build 0.94 to 1.08, price 1500, firstFree true, draw 60 m / 24, feet true, one clinic at the surgeon's desk, blip false | Height and build: off until the hit test in the in-game checks passes. |
Config.appearance.enabled | true | This resource is the appearance system when illenium is off. |
Config.appearance.creator | bucket true, peds {}, eyes 9 | The creator's own routing bucket, extra peds, eye colours offered. |
Config.appearance.eyes | 31 | Eye colours the surgeon offers. |
Config.appearance.hairSkip | m {23}, f {24} | Hair drawables never offered (the night-vision goggles). |
Config.appearance.prices | hair 45, beard 25, brows 15, makeup 30, chest 20, heritage 2500, face 3500, skin 900, eyes 600 | What a barber or the surgeon charges per part changed. |
Config.appearance.shops | 7 barbers, the Pillbox Hill surgeon, no ped shops | Where they are, their groups, their peds and prices. |
Config.appearance.blips | barber 71, surgeon 102, peds false | Map blips while this resource does the looks. |
Config.appearance.reloadCooldown | 5 | Seconds between two /reloadskin. |
Config.illenium | resource 'illenium-appearance', syncSkin true, migrate true, starter true | Keep the saved skin in step; the first-login move; the starter page after illenium's creator. |
Config.starter.kinds | top, undershirt, pants, shoes | A new character's free first clothes. |
Config.prisons.jixryo | true | Jixryo Prison pauses the dressing while someone is inside. |
Config.wardrobe | slots 150, maxWeight 300000, fromScripts true, points {} | The wardrobe stash, other scripts' outfit menus opening it where you stand, the wardrobe points. |
Config.outfits | max 30, nameLength 24 | Outfits per character. |
Config.outfitBag | item 'outfitbag', prop 'prop_cs_heist_bag_01' | The outfit bag item (false for none) and the prop that goes down. |
Config.uniforms | offDuty true, max 40, lockers {} | Off duty takes the uniform off; uniforms per job; the lockers. |
Config.limits | cart 10, drawable 4095, texture 63, nameLength 40 | Pieces per checkout, the highest numbers accepted, a piece's name length. |
Config.staff | ace {group.god, group.admin, jixryo.clothing}, command 'clothing' | The staff tools. |
Security
- Every action is checked on the server from
source: who is asking, that they are still at the store, shop, wardrobe or lockers (within 8 m), what that place sells or changes, the model they are on, and the money. - Prices are the server's. Each piece, part or ped is priced again from config; the page never sends a price, and a total higher than the one the page showed is refused. Money is taken first; if anything after fails it is refunded and nothing is given. A decal is refused before any money moves when there is no top of yours to put it on. One checkout or save at a time per player, with a nonce so a double click cannot pay twice.
- A barber takes only hair, beard, brows, makeup and chest hair from the page; the surgeon only parents, face, skin and eyes; everything else stays as saved. The clothes in a saved look always come from the worn items.
- The creator saves once per character (or again after staff
/clothing creator), only on a man, a woman or a listed creator ped, and only the model the server sees them as. No tattoos from a client. - The fit check: a piece made for another model cannot go on, through the inventory, the commands or a script. Locked uniform pieces never leave their wearer: no drop, give, stash, trunk or bag, and nobody takes them off you. The blacklist's wear rules stop found pieces going on.
- The wardrobe holds clothes, vests and armour, and empty bags only, and opens as an inventory only from its own page. Outfits are only ever your own pieces, found by item id. Uniforms: only the job's people from the uniform's grade up take one; only its boss saves or removes them.
- Saves write only model names to
playerskins, never a hash. illenium's client-side save and charge events are ignored. - Known limit: a house's wardrobe or a job's clothing room opens through another script's client event, so the server cannot know where the player stands (
Config.wardrobe.fromScripts = falseturns those off). It only ever opens their own clothes, or their own job's uniforms. - Rate limits through Jixryo Core on opening pages (one a second), the clothing commands (the cooldown), the saved-look call and the layout report, and locked calls for the till, the looks, the clinic and the wardrobe.
Tests
Both suites were run on 2026-10-31.
| Suite | Result | What it covers |
|---|---|---|
jixryo_clothing.lua | 49 passed, 0 failed | The real server on a stand-in FiveM server with the fork's real slot layout and Jixryo Core's real modules: the slots and model keys, opening stores (online models, other peds, too far), the till (prices, money first, metadata, a price never seen, the same checkout twice, nothing on is not for sale, other peds' components, the fit, no room), the saved skin following the items (and waiting for another ped's layout), the first login on both kinds of ped, the inventory hook, taking off and on, the appearance system switching with illenium, cleaning other scripts' looks, the creator (once, its bucket, the first clothes, only offered models), barbers and the surgeon (parts priced, nothing changed, no money, the right place), ped shops, illenium's save ignored and get answered, illenium running beside it, staff making someone a ped, quiet moves, the starter page, vests, bags, decals, the later migration, the wardrobe (put away, wear, clothes only, bags only empty, open from its page only), outfits, a store showing outfits, uniforms (the boss saves, an officer takes, locked, off duty gives back, grades), the import, and the outfit bag. |
jixryo_clothing.client.mjs | 55 passed, 0 failed | The whole client in Lua 5.4 with every GTA native stubbed and recorded: illenium's exports answered only when active, character select's partial look, a spawn, a new character's creator (as a woman, GTA's names, only loadable peds, hair skips), the face try-on, becoming a ped, create, an unpaid barber put back, a ped shop try-on put back, a top's decal, the vest and the bag, the wardrobe page (cards, worn by item id, an outfit's missing piece, Enter wearing for real), the outfit bag, a job's lockers, the model check, and jail pausing the dressing with an escape and logging out letting it go. |
cd dev-tools/luarun && node run.mjs ../../jixryo_scripts/jixryo_clothing tests/jixryo_clothing.luacd dev-tools/luarun && node tests/jixryo_clothing.client.mjs ../../jixryo_scripts/jixryo_clothingThe README adds that each new rule was proven to fail its test when broken, and that luacheck, the native audit and the config paths are clean.
Check it in game
On a test server, with a staff account:
- Arms and gloves: put on a few tops, then gloves;
/clothing fitprints what the game reports. If bare arms show as gloves or gloves are missing, setConfig.gloves.firstto the first arms drawable that is a glove. - La Puerta is not one of GTA's branded stores: see what is there and set its brand and level.
- Every store, barber and the surgeon: the prompt shows at the counter or chair and the camera does not sit in a wall. Move a clerk or coords where it does.
- A new character: the creator opens after the screen fades in, alone in its bucket. The parents' portraits show, each face slider's end labels match what the face does, eye makeup takes a colour, every eye colour shows (the surgeon offers 31; GTA lists a 32nd, untested), first clothes become items, then you land with everyone.
- Barber and surgeon: change two parts, check the total, pay, relog: the new face is there. Change something and walk away: it goes back.
- Character select shows each character as they look, clothes included.
- Taking clothes off and on shows no item messages (if it does, the fork is older than its quiet moves).
- Vests, bags, decals: buy a vest at a Binco (on in the Armour slot; your armour goes to your pockets), a bag with and without one on, a decal on your top; take the top off and on (the badge comes with it); relog (all still on).
- Wardrobe and outfits: at a wardrobe point and a house's wardrobe, put a piece on and away, save an outfit, change, wear it again; "Open as inventory"; the outfit bag goes down in front of you and comes back up.
- Uniforms: as a boss save one; as an officer take it, try to drop or give a piece (refused), go off duty (your own clothes come back).
- Height and build (
Config.body, off): turn it on, then shoot the visible head of a short and a tall character at 5, 20 and 50 m, from the front and the side; melee; get in and out of vehicles. Every head shot must land. If any miss, narrow the ranges and test again; leave it off if they still miss. - Ped shops: pick each spot in game, add the shop with its peds, and try one on, buy it and switch back.
If character select prints attempted to load invalid model '<number>', a playerskins row's model is not on your server (an add-on ped you removed). Find it with SELECT citizenid, model FROM playerskins WHERE active = 1; and fix or delete that row.