Skip to content

Conviicts/fivem-clothes-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clothes CLI - FiveM Clothing Manager

A powerful command-line tool to manage and track GTA 5 FiveM clothing items across multiple addon packs. Automatically scans your clothing packs and calculates ID ranges for each item category.

⚠️ Important Requirements

Gamebuild Support

Currently, this tool only supports gamebuild 3095. Support for additional gamebuilds can be added by configuring their base_counts in packs.yaml.

File Structure Requirement

CRITICAL: You must enable the option "Create sub folders for cloth drawable types" when exporting/creating your clothing files. This ensures the correct folder structure that the tool expects:

pack_name/
  stream/
    mp_m_freemode_01_mp_m_some_pack_*/  (or mp_f_...)
      jbib/  (top)
      lowr/  (legs)
      accs/  (undershirt)
      ...

Folder Naming Pattern: The tool expects folders to follow the FiveM standard naming pattern:

  • Components (male): mp_m_freemode_01_mp_m_* (e.g., mp_m_freemode_01_mp_m_some_pack_*)
  • Components (female): mp_f_freemode_01_mp_f_* (e.g., mp_f_freemode_01_mp_f_some_pack_*)
  • Props (male): mp_m_freemode_01_p_mp_m_* (contains _p_ in the name)
  • Props (female): mp_f_freemode_01_p_mp_f_* (contains _p_ in the name)

The * can be any suffix (your pack name, identifier, etc.). The tool will automatically detect folders matching this pattern.

Without this folder structure and naming pattern, the tool will not be able to scan your packs correctly.

πŸš€ Quick Start

Installation

Option 1: Pre-built Release (Recommended)

  1. Download the latest release from GitHub Releases
  2. Extract clothes-cli-windows.zip
  3. Edit packs.yaml to configure your paths
  4. Run clothes-cli.exe

Option 2: From Source

  1. Install Python 3.7+ (if not already installed)

  2. Install dependencies:

    pip install -r requirements.txt
  3. Configure packs.yaml:

    • Set base_path to your clothing packs directory
    • Verify current_gamebuild is set to "3095" (or your target gamebuild)
    • Configure load_order to match your server's fxmanifest.lua
  4. Run the CLI:

    python clothes_cli.py

πŸ“– How It Works

The Problem

In FiveM, clothing items are assigned sequential drawable IDs. When you have multiple addon packs, you need to know:

  • Which pack contains a specific drawable ID
  • What file corresponds to that ID
  • The range of IDs for each pack and category

The Solution

Clothes CLI automatically:

  1. Scans your packs - Detects all .ydd files in each pack
  2. Calculates ranges - Determines ID ranges based on base game counts + addon counts
  3. Tracks gaps - Identifies "dummy" files (missing numbers in sequences)
  4. Maps IDs to files - Shows exactly which file corresponds to each drawable ID

Configuration Structure

base_path: "path/to/your/clothing/packs"
current_gamebuild: "3095"  # Currently only 3095 is supported

load_order:  # Global, applies to all gamebuilds
  - sl_clothes_service
  - sl_clothes_civil_1
  # ... more packs

gamebuilds:
  "3095":
    base_counts:  # Base game clothing counts
      MP_M_FREEMODE:
        components: { top: 524, legs: 193, ... }
        props: { hats: 215, glasses: 57, ... }
      MP_F_FREEMODE:
        # ... female counts

🎯 Common Use Cases

Find a Specific Clothing Item

clothes> f 914
# or
clothes> find MP_M_FREEMODE components top 914

Output:

MP_M_FREEMODE / components / top / #914
  Pack: sl_clothes_civil_3
  Range: 846-973
  Index: #68
  File: jbib_068_u.ydd

View All Ranges for a Category

clothes> t
# or
clothes> table MP_M_FREEMODE components top

Output:

Ranges for MP_M_FREEMODE / components / top
Pack                              Start        End      Count
sl_clothes_service                    524         589         66
sl_clothes_civil_1                    590         717        128
...

Count Files in a Pack

clothes> count sl_clothes_civil_1

Find Missing Files (Dummy)

clothes> dummy sl_clothes_civil_1

πŸ“ Commands Reference

Command Description Example
find <gender> <kind> <category> <id> Find pack and file for a drawable ID find MP_M_FREEMODE components top 914
table <gender> <kind> <category> Display ranges table table MP_M_FREEMODE components top
count [pack] Count .ydd files by pack/category count sl_clothes_civil_1
dummy [pack] List dummy (gaps in numbering) dummy sl_clothes_civil_1
reload Reload configuration reload
clear Clear screen clear
help Show help help
quit Exit program quit

Shortcuts

  • f [M\|F] <id> β†’ Find (default: M/male)

    • f 914 β†’ Find for MP_M_FREEMODE
    • f F 914 β†’ Find for MP_F_FREEMODE
  • t [M\|F] β†’ Table (default: M/male)

    • t β†’ Table for MP_M_FREEMODE
    • t F β†’ Table for MP_F_FREEMODE

πŸ”§ Configuration Details

base_path

The root directory containing all your clothing packs. Each pack should be a subdirectory with a stream/ folder.

load_order

The order in which packs are loaded (must match your fxmanifest.lua). This determines the ID ranges:

  • First pack starts after base game counts
  • Each subsequent pack starts where the previous one ended

base_counts

The number of clothing items in the base game for each category. These values are gamebuild-specific:

  • 3095: Currently configured
  • Other gamebuilds: Can be added by adding entries to gamebuilds section

Category Mapping

The tool maps folder names to categories:

  • jbib β†’ top
  • lowr β†’ legs
  • accs β†’ undershirt
  • uppr β†’ body
  • hair β†’ hair
  • feet β†’ shoes
  • hand β†’ bags
  • task β†’ armor
  • berd β†’ mask
  • teef β†’ accessories
  • decl β†’ decals
  • p_ears β†’ ears (prop)
  • p_eyes β†’ glasses (prop)
  • p_head β†’ hats (prop)
  • p_lwrist β†’ watches (prop)
  • p_rwrist β†’ bracelets (prop)

πŸ› Troubleshooting

"No packs detected"

  • Verify base_path is correct in packs.yaml
  • Ensure each pack has a stream/ subdirectory
  • Check that folder names match entries in load_order

"Packs not found" warning

  • Some packs in load_order don't exist in base_path
  • Remove missing packs from load_order or add them to your directory

Incorrect ID ranges

  • Verify base_counts match your gamebuild (currently 3095)
  • Check that load_order matches your server's fxmanifest.lua
  • Ensure files are properly numbered (e.g., jbib_000_u.ydd, jbib_001_u.ydd)

Files not detected

  • CRITICAL: Ensure "Create sub folders for cloth drawable types" is enabled
  • Verify folder structure matches expected pattern
  • Check folder naming follows the pattern: mp_m_freemode_01_mp_m_* or mp_f_freemode_01_mp_f_*
  • Check file naming convention (must contain _XXX_ pattern, e.g., jbib_000_u.ydd)

πŸ“„ License

Copyright (c) 2026 Convicts - All Rights Reserved

See LICENSE file for full terms and conditions.

🀝 Contributing

This is a proprietary tool. Unauthorized modification or distribution is prohibited.

For licensing inquiries, please contact the copyright holder.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages