F.A.Q
Setup
Yes. The pack items give real clothing items that ml_clothing defines and handles, including bag stash metadata. ML Random Cloth is an addon for ml_clothing, not a standalone system. Start ml_clothing before ml_random_cloth.
No. ML Random Cloth creates no SQL table. Nothing to import. The random result is written into the given item's metadata by ml_clothing at runtime.
Check three things. First, the standard pack item in ox_inventory needs client = { export = 'ml_random_cloth.usePack' }, otherwise using it runs nothing. Second, ml_clothing must be started so the target clothing item exists. Third, there is a 3 second server cooldown per player between pack opens, and a full inventory stops the give because the server checks carry space before removing the pack.
ESX, QBCore, Qbox, and Standalone, through ml_bridge. There is no framework setting in the config; the bridge detects it at runtime. With Config.Debug = true the detected framework prints on start.
Set Config.Language in shared/config.lua. The resource ships with en and it locale files. Codes without a matching locale file fall back to en.
Packs and Clothing
Fifteen fixed items, one per clothing type: pack_mask, pack_hat, pack_earrings, pack_glasses, pack_chain, pack_undershirt, pack_jacket, pack_pants, pack_bodyarmor, pack_bracelet, pack_watch, pack_bag, pack_shoes, pack_gloves, pack_decals. Each gives one random clothing item of its type with a random drawable and texture.
Add an entry to Config.CustomPacks. You can list specific drawable IDs per gender, fixed {drawable, texture} tuples, or a string array for full random. Set giveAll = true to give one item per type, or leave it off to give one random type from the pack. Register each custom pack item in ox_inventory with client = { export = 'ml_random_cloth.useCustomPack' }, the same way standard packs use ml_random_cloth.usePack. See the Configuration page for the three formats.
Yes. Add the GTA drawable IDs to Config.ExcludedDrawables under the matching gender and clothing type. Those drawables are never rolled in random mode.
By design. In random mode the texture pool for pants and jacket is capped at 3 to avoid picking rarely-used high-index textures. Other types use their full texture range.
Config.BagSizes sets the stash weight, cols, and rows per bag drawable and gender. It also whitelists which bag drawables can be rolled: only drawables with a size entry are given. ml_clothing writes the stash metadata onto the item when it is created.
The give is server-side. The server sanitizes the metadata, enforces pack ownership, a cooldown and carry space, and for themed packs it rejects any drawable that is not in the pack's list for that gender. Standard packs are trusted only within the sanitized numeric metadata and pack ownership. The Developer page has the full breakdown.
Updates
Replace the resource folder with the new version, keeping your edited shared/config.lua, locales/, and any custom _INSTALL changes since those are escrow-ignored. Restart the resource.