Skip to content

🎩 Clothes Wheel ​

Documentation relating to the jo_radial_clotheswheel.

1. Installation ​

WARNING

Radial menu script is required to use this add-on

To install jo_radial_clotheswheel:

  • Drag and drop the resource in your resources folder
    • jo_radial_clotheswheel
  • Add this ensure in your server.cfg after ensure jo_radial
    • ensure jo_radial_clotheswheel
  • Congratulation, the Clothes Wheel script is ready to be used !

2. Usage ​

jo_radial_clotheswheel is an addon for jo_radial — it does not open a wheel on its own. It exposes a single export, getMenu(), that builds and returns a list of clothing items ready to be displayed by jo_radial. The wheel is rebuilt every time it is opened, so it always reflects the player's current wardrobe and what they are wearing at that moment.

Only clothes the player owns appear in the wheel. Each item shows at full opacity when currently worn, and dimmed when owned but not equipped. For supported clothing types (neckwear, shirts, boots, vests, loadouts), a sub-ring appears with extra state options such as rolling up a sleeve, opening a collar, or switching boots over or under the pants.

TIP

To display the wheel, you need to call exports.jo_radial_clotheswheel:getMenu() from inside your jo_radial configuration. Two approaches are available depending on your setup.

Option A : As a submenu inside your radial menu ​

Use this option if you already have a jo_radial menu and want to add the clothes wheel as one entry among others. The items function is evaluated fresh each time the player opens that submenu.

lua
-- In your jo_radial config file (e.g. config/menus.lua)
Config.radialMenuItems = {
  -- ... your other items ...
  {
    label = "Clothes",
    icon = "nui://jo_libs/nui/menu/assets/images/icons/myclothes.png",
    submenu = {
      type = "submenu",
      items = function()
        return exports.jo_radial_clotheswheel:getMenu()
      end
    }
  },
}

Option B : As the only radial menu ​

Use this option if the clothes wheel should be the entire content of your radial menu. Setting Config.radialMenuItems to a function makes jo_radial call it on every open, so the wheel is always up to date.

lua
-- In your jo_radial config file (e.g. config/menus.lua)
Config.radialMenuItems = function()
  return exports.jo_radial_clotheswheel:getMenu()
end

3. Configuration ​

The configuration files are located in the config folder within the resource. This folder contains two subfolders:

  • _default.lock/ - Contains the default configuration files. Do not edit these files directly as they may be overwritten during updates.
  • custom/ - This is where you place your custom configuration files to override the defaults.

How to customize the configuration ​

  1. Navigate to jo_radial_clotheswheel/config/_default.lock/
  2. Copy the file you want to modify (e.g., prices.lua )
  3. Paste it into jo_radial_clotheswheel/config/custom/
  4. Edit the copied file in the custom folder

The script automatically loads files from custom/ first, and only uses _default.lock/ as a fallback. This system ensures your customizations are preserved when updating the script.

Default configuration files ​

Loading configuration...

4. For developers ​

Filters ​

Filters allow you to modify data or permissions synchronously at specific points in the script. Below is the complete list of jo_radial_clotheswheel filters and how to use them.

Client canOpenWheel ​

Fired before open the clothes wheel

lua
-- @param canAccess - boolean
exports.jo_radial_clotheswheel:registerFilter('canOpenWheel', function(canAccess)
  --return false to disable the access of the wheel
  return canAccess
end)

Last updated: