Outfit Configuration
The outfit system controls:
- job uniforms
- gang uniforms
- default outfits
- grade-based outfits
- fallback clothing states
Configuration is located inside:
shared/data/outfits.lua
System Purpose
The outfit system was designed for:
- faction uniforms
- department clothing
- roleplay organizations
- clothing rooms
- fallback clothing systems
The system supports both:
- freemode outfits
- partial clothing states
Structure Overview
Main structure:
Config.Outfits = {}
Example:
Config.Outfits = {
['police'] = {
['male'] = {
[0] = {
{
outfitLabel = 'Uniform',
outfitData = {}
}
}
}
}
}
Group Names
The first key defines the outfit group.
Examples:
['police']
['ambulance']
['ballas']
['vagos']
This may represent:
- jobs
- gangs
- factions
- organizations
depending on server logic.
Gender Structure
Supported genders:
male
female
Example:
['male'] = { ... }
['female'] = { ... }
Grade System
The outfit system supports grade-based outfits.
Example:
[0] = { ... }
[1] = { ... }
[2] = { ... }
This allows:
- rank uniforms
- progression systems
- department hierarchy clothing
Outfit Labels
Each outfit supports a custom label.
Example:
outfitLabel = 'Uniform'
Used inside:
- clothing rooms
- outfit menus
- UI selections
Outfit Data
Actual clothing data is stored inside:
outfitData = {}
Example:
['pants'] = {item = 0, texture = 0},
['torso2'] = {item = 15, texture = 0},
['hat'] = {item = -1, texture = 0},
Supported Categories
Supported clothing categories:
pants
arms
t-shirt
vest
torso2
shoes
accessory
mask
decals
bag
hat
glass
ear
watch
bracelet
Item Values
Example:
item = 15
Represents the drawable/component ID.
Texture Values
Example:
texture = 0
Represents the texture variation of the drawable.
Prop Removal
Props may be removed using:
item = -1
Example:
['hat'] = {item = -1, texture = 0}
Used for:
- hats
- glasses
- earrings
- watches
- bracelets
Fallback Clothing
The outfit system is also used internally by the clothes-off system.
Fallback states are loaded from outfit values.
Example:
['arms'] = {item = 15, texture = 0}
This defines what the player looks like after removing upper clothing.
Clothing Room Integration
Outfits integrate directly with:
shared/data/clothing_rooms.lua
The system automatically selects matching:
- job outfits
- gang outfits
- gender outfits
- grade outfits
based on player data.
Freemode Recommendations
Recommended for freemode compatibility:
mp_m_freemode_01
mp_f_freemode_01
These provide the most stable clothing support.
Partial Outfit Support
Outfits do not need to contain every category.
Example:
outfitData = {
['torso2'] = {item = 15, texture = 0}
}
Only specified categories are changed.
This is useful for:
- tactical vests
- jackets
- accessories
- partial uniform systems
Recommended Workflow
Recommended workflow:
1. Create clothing room
2. Configure outfit groups
3. Configure genders
4. Configure grades
5. Test synchronization
Developer Notes
The outfit system intentionally avoids framework-specific job handling internally.
Purpose:
- easier framework integration
- gang support
- standalone compatibility
- simpler override workflows