Skip to main content

Clothing Rooms

The clothing room system allows developers to create restricted outfit areas for:

  • jobs
  • gangs
  • organizations
  • departments
  • factions

Configuration is located inside:

shared/data/clothing_rooms.lua

System Purpose

Clothing rooms are primarily used for:

  • police lockers
  • EMS lockers
  • gang outfit rooms
  • faction uniforms
  • restricted clothing areas

The system supports both:

  • public clothing rooms
  • restricted clothing rooms

Supported Area Types

The resource supports:

radius
poly

Radius Areas

Circular interaction zones.

Example:

{
areaType = 'radius',
coords = vector3(480.7, -1010.5, 30.6),
radius = 5.0
}

Best for:

  • locker rooms
  • small outfit stations
  • interiors
  • compact areas

Poly Areas

Polygon-based interaction zones.

Example:

{
areaType = 'poly',
points = {
vector2(1.0, 1.0),
vector2(5.0, 1.0),
vector2(5.0, 5.0),
vector2(1.0, 5.0)
}
}

Best for:

  • large interiors
  • custom buildings
  • complex interaction zones

Basic Structure

Example configuration:

{
gender = 'male',
requiredJob = 'police',
isGang = false,

areaType = 'radius',
coords = vector3(480.7, -1010.5, 30.6),
radius = 5.0
}

Gender Restrictions

Supported values:

male
female

If omitted:

both genders may access

Job Restrictions

Example:

requiredJob = 'police'

Only players with the specified job may access the clothing room.


Gang Restrictions

Example:

requiredJob = 'ballas',
isGang = true

When:

isGang = true

the system validates gang data instead of job data.


Public Rooms

If:

requiredJob = nil

the room becomes public.

No restriction checks are applied.


Blip System

Clothing rooms support optional blips.


Simple Blip

Example:

blip = true

Uses default blip settings.


Advanced Blip

Example:

blip = {
active = true,
sprite = 73,
color = 3,
scale = 0.7,
label = 'Police Locker'
}

Supported Blip Fields

Supported configuration:

active
coords
sprite
color
scale
label
display
shortRange

Blip Coordinates

Custom blip positions may be used.

Example:

blip = {
coords = vector3(x, y, z)
}

If omitted:

main room coordinates are used

Uniform System Integration

Clothing rooms integrate directly with:

shared/data/outfits.lua

The system automatically loads matching:

  • job outfits
  • gang outfits
  • grade outfits
  • gender outfits

Grade Support

The system supports grade-based outfits.

Example:

['male'] = {
[0] = { ... },
[1] = { ... },
[2] = { ... }
}

Different grades may receive different uniforms.


Framework Independence

The clothing room system intentionally avoids hardcoded framework logic.

Developers may replace:

  • permission handling
  • interaction logic
  • room validation
  • blip handling

through overrides or integrations.


Recommended Usage

Recommended for:

police
ambulance
mechanic
gangs
factions
organizations

Developer Notes

The clothing room system was designed separately from clothing stores.

Purpose:

  • better roleplay control
  • restricted outfit handling
  • cleaner organization support
  • framework-independent permissions