Clothing Classifier & Auto-scan
A scan needs to know what a piece of clothing hides. Does this mask cover the whole face or only the mouth? Does this top have long sleeves, so the arm tattoos are out of sight? Is the character shirtless?
GTA does not say. So the script works it out once per item and remembers the answer.
The four layers
They are checked in order, and the later one always wins.
| Layer | What it is |
|---|---|
| 1. Rules | The obvious items, shipped in config.lua — "no mask", "no top" |
| 2. The game's own tags | GTA carries hidden shop labels such as "full-face helmet" or "gloves". They answer a large part of the base game |
| 3. The picture test (Auto-scan) | Everything else, including EUP and addon clothes |
| 4. An admin | A person looked at it and said what it is. Always wins, and Auto-scan never overwrites it |
The picture test
Two test copies of a body stand side by side in a private room: one with very dark skin, one with very light skin. Both wear the item. Where the two pictures look the same, the item is covering the body. Where they look different, skin is showing.
It measures points across the face (in detail), neck, torso, arms and legs, and takes a second sample a moment later to make sure nothing was still loading.
A face counts as fully covered when 80 % of its points outside the eyes are
covered (Config.Classifier.FaceRules.FullPct).
Running Auto-scan
From the Auto-scan card on the Clothing page of the Admin Panel.
- Stand still, on foot, and not in a scan.
- Choose which items: Unclassified (only items nobody checked yet), Needs review (the unsure ones) or All (everything again — slow). Pick the models (male, female).
- Click Start. The panel shrinks to a small card, and your camera moves to a private studio with the test copies. Your own character stays where it is, frozen and hidden, and nobody else sees anything.
- A progress line shows how many items are done and about how long is left. Press X to pause or resume, and Delete twice to stop. Progress is saved when you stop.
- When it finishes, everything is put back as it was and you get a summary: Auto-scan finished: N items checked, N need review.
| Speed | about 0.5–0.8 s per item |
|---|---|
| First full run, base game only | about 20–40 minutes, depending on the PC |
| Later runs | Only the new items |
| Who can run it | The classifier level |
Until an item is classified
Unclassified items mostly count as hiding as much as possible, so nobody is ever recognized by mistake:
| Slot | Treated as | Config key |
|---|---|---|
| Mask | Full face cover | Config.FaceCoverage.UnknownBySlot |
| Top | Long sleeves | Config.Classifier.UnknownTop |
| Pants | Long | Config.Classifier.UnknownLegs |
| Glasses | Sunglasses | Config.FaceCoverage.UnknownBySlot |
| Hat or helmet | A cap — face mostly visible, 15 % cover, hair hidden | Config.FaceCoverage.UnknownBySlot |
| Arms (gloves slot) | Bare hands, covers nothing on the arm — the top decides the sleeves | Config.Classifier.UnknownGloves |
The hat exception is deliberate. Most new hat and helmet items in EUP and addon packs are hats, and treating every unclassified one as a full-face helmet would make half a police department unrecognizable the day a uniform pack is installed.
The arms exception is deliberate too: an unknown arms item used to count as long sleeves, so a T-shirt hid every arm tattoo until Auto-scan ran. Real gloves hide the hands as soon as Auto-scan or an admin classifies them.
Nobody has to remember to re-run it
A couple of minutes after the resource starts, the script counts how many clothing and prop items your game has and compares that with the number stored the last time an admin confirmed the list. It needs one player online to do the count.
| Same numbers | Nothing at all. No message, no notification, no console line |
|---|---|
| New items | One console line, one notice to staff on join, one banner in the panel |
| Same count, different items (a pack was swapped) | A notice asking you to run Auto-scan with All |
The console line looks like this:
[5code-recognition] 42 new clothing/prop items found (mp_f_freemode_01: 12, mp_m_freemode_01: 30). Run Auto-scan from the admin panel to classify them.It never scans by itself. An admin still presses the button. The check is set
in Config.Classifier.StartupCheck.
The review queue
Items the picture test was not confident about go into a review queue rather than being guessed at — for example when the game tags and Auto-scan disagree, when Auto-scan is not sure, when a result sits right between two answers, or when a player wore an item nobody has checked yet. The Needs review number at the top of the Clothing page opens that list.
Click an item to check it. You can set the face category (open face, hat, eyes hidden, half face, full face), the sleeves, whether it hides hair, beard or hands, how much of each body part it covers, and the word players read for it (like "hoodie") — for every colour of the item or only one. Then:
- Approve — the current answer is right (also works on many items at once);
- Save — keep your changes;
- Reset to auto — drop the admin answer and use Auto-scan again.
An admin answer is layer 4: it overrides everything, and it is logged.
Checking one outfit
/recognition:tags prints what the game says about the clothes you are
wearing right now, with the classification the script derived.
/recognition:tags 12 does the same for another player.
In the panel, the My outfit chip shows only what you are wearing, and the Player ID field does the same for another player — each row with a quick edit.
Colours
By default colours are only recorded for items players have actually worn
(Config.Classifier.Colors = 'seen'). There is no point measuring the colour
of 4,000 items nobody has ever put on. Colours are used for the clothing words
staff see in the panel and on witness statements, such as "red hoodie".