Installation
Requirements
- FiveM server build 6116 or higher
- ox_lib (required)
- oxmysql (required)
- One of: QBCore, QBox, ESX, or standalone mode
Download & Extract
- 01Download
orb-clothingfrom your Tebex purchase dashboard - 02Extract the archive into your server's
resources/directory - 03Ensure the folder is named
orb-clothing
Dependencies
Install these resources if you don't have them:
- ox_lib — Download from GitHub
- oxmysql — Download from GitHub
Configure server.cfg
cfg
ensure ox_lib
ensure oxmysql
ensure orb-clothingEnsure ox_lib and oxmysql load before orb-clothing.
Database Setup
The database tables are created automatically on first startup. No manual SQL import is required. The resource manages two tables — character_appearance (saved looks) and orb_clothing_outfits (named outfits for the Outfits system).
If you prefer to create them manually, a database.sql file is included:
sql
CREATE TABLE IF NOT EXISTS character_appearance (
id INT(11) NOT NULL AUTO_INCREMENT,
identifier VARCHAR(60) NOT NULL,
appearance LONGTEXT DEFAULT NULL,
hair LONGTEXT DEFAULT NULL,
clothing LONGTEXT DEFAULT NULL,
props LONGTEXT DEFAULT NULL,
tattoos LONGTEXT DEFAULT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY identifier (identifier)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS orb_clothing_outfits (
id INT(11) NOT NULL AUTO_INCREMENT,
identifier VARCHAR(60) NOT NULL,
name VARCHAR(50) NOT NULL,
data LONGTEXT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uniq_owner_name (identifier, name),
KEY idx_identifier (identifier)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;Verify Installation
After starting the resource, check your server console for the startup banner:
══════════════════════════════════════════
orb-clothing v1.3.1
══════════════════════════════════════════
Framework : qbcore
HUD : hud_apx
ox_lib : ok
oxmysql : ok
══════════════════════════════════════════File Structure
orb-clothing/
├── bridge/
│ ├── _detect.lua # Auto-detection (framework, HUD, target, clothing)
│ ├── client/
│ │ ├── framework.lua # Player data & load events
│ │ └── hud.lua # HUD hide/show (8+ systems)
│ └── server/
│ └── framework.lua # Identity, jobs, permissions, skin mirroring, DB
├── client/
│ ├── main.lua # Entry point, creator logic
│ ├── admin/ # Admin panel UI & logic
│ ├── store/ # Store zones, blips, interaction
│ ├── systems/ # Appearance, camera, clothes, hair, tattoos, outfits
│ ├── ui/ # NUI callbacks
│ └── utils/ # Data cache, validation
├── server/
│ ├── main.lua # Save/load, routing buckets
│ ├── load.lua # Initial data loading
│ ├── outfits.lua # Outfits CRUD + sharing (server-authoritative)
│ ├── admin/ # Admin commands & storage (store seeding)
│ └── store/ # Store proximity validation
├── config.lua # Main configuration (escrow_ignore)
├── locales/ # en.lua / es.lua translations (escrow_ignore)
├── shared/
│ ├── locale.lua # L() translation helper
│ ├── tattoo_data.lua # Tattoo definitions (escrow_ignore)
│ └── ped_models.lua # Ped model list (escrow_ignore)
├── data/
│ └── admin_stores.json # Admin-managed stores (escrow_ignore)
├── html/ # NUI interface
└── database.sql # Schema referenceEditable Files
The resource ships with escrow encryption. Only the files listed in escrow_ignore can be edited — everything else is protected. The editable files are:
config.lua— All settings, store locations, pricingshared/tattoo_data.lua— Tattoo zone definitionsshared/ped_models.lua— Ped model listdata/admin_stores.json— Admin-created store datadatabase.sql— Schema referencehtml/config_ui.js— UI colors, fonts, and theminghtml/assets/.svg,html/assets/.png— Icons and imageslocales/*.lua— All translatable text