Rivet

EUP Creator

Make your own uniforms from the game's clothing: recolour shirts, put your own image on a vest, add badges and text, and export the lot as add-on clothing for the freemode peds (mp_m_freemode_01 / mp_f_freemode_01) on a FiveM server. The game's own clothing isn't replaced: your items come after it in every clothing menu.

Open it

The home screen's EUP Creator button (or start Rivet with --eup, optionally followed by a .rivetpack file). It needs your GTA V folder (Settings). It reads the game's files and never changes them.

Make a pack

  1. Pack (top): name it, e.g. my_police_pack: lower case letters, numbers and _, starting with a letter. It's the FiveM resource's name and the clothing collection's.
  2. Ped: male or female. Each item is for one of them.
  3. Add from the game (left): pick a slot (tops, undershirts, legs, shoes, body armour, decals, bags, chains, masks ... and props: hats, glasses, earrings, watches, bracelets) and browse every item with a picture of each. Double-click one (or Add to pack) to add it. From shows another ped's items, such as a cop's shirt; Rivet moves those onto the freemode skeleton when you export.
  4. Give each item a name on the right (it's how you'll find it in the README the export writes).

The 3D view shows the ped wearing the pack's items, with your textures. Duplicate copies an item with all its textures (to make a variant of the design), Remove takes it out.

Make the textures yours

Each item has one or more textures, and each one is a variation in game (texture 0, 1, 2 ...). Add starts a new one from the game's texture, Duplicate copies the selected one to change (another colour of the same design).

For each texture:

  • Starts from the game's texture: which of the item's own textures (a, b, c ...) it's made from.
  • Own image: use your own picture (PNG, JPG, DDS ...) instead. It's stretched to the game texture's size, so it lines up with the model the same way: start from the game's texture (export it from the Ped Creator or OpenIV) and paint over it for the best fit.
  • Colour: Hue turns every colour round the colour wheel, Saturation and Brightness make it more or less colourful and lighter or darker. Tint lays a colour over it and keeps the cloth's folds and shading: pick navy at 80% for a police shirt.
  • Logos, badges and text: Add image puts a logo or badge on (a PNG with transparency works best), Add text writes words in the font and colour you pick. Click or drag on the texture picture to place the selected one, and use Across / Down / Size / Rotation / Opacity to fine-tune it. Logos are drawn after the colour changes, so they keep their own colours.

The texture picture shows the texture exactly as it will be exported.

Save / Open keep the pack as a .rivetpack file (your images go inside it) to carry on with later.

Export to FiveM

  1. Export for FiveM and pick where to put it (e.g. your server's resources folder).
  2. Rivet writes a resource folder named after the pack:
my_police_pack/
  fxmanifest.lua                                   data_file 'SHOP_PED_APPAREL_META_FILE' ...
  mp_m_freemode_01_my_police_pack.meta             registers the collection for the male ped
  README.txt                                       every item's numbers in game
  stream/mp_m_freemode_01_my_police_pack.ymt       what's in the collection
  stream/mp_m_freemode_01_my_police_pack^jbib_000_u.ydd          the first top
  stream/mp_m_freemode_01_my_police_pack^jbib_diff_000_a_uni.ytd  ... its first texture
  stream/mp_m_freemode_01_p_my_police_pack^p_head_000.ydd        the first hat

(and the same with mp_f_freemode_01 for female items).

  1. Add ensure my_police_pack to server.cfg and restart the server.

Finding your items in game

Your items are a clothing collection named after the pack, added after the game's own. In each slot they're numbered from 0 in the order they're in the pack (a pack with two tops: tops 0 and 1 of my_police_pack).

  • Clothing menus (and GetNumberOfPedDrawableVariations) list them at the end of each slot.

  • Scripts: the steady way is by the number in the collection, which doesn't move when a game update adds clothing:

    SetPedCollectionComponentVariation(ped, 11, 'my_police_pack', 0, 0, 0)  -- slot 11 (tops), item 0, texture 0
    SetPedCollectionPropIndex(ped, 0, 'my_police_pack', 0, 0, false)        -- anchor 0 (hats), item 0
    
  • The plain number (SetPedComponentVariation) is the number of the game's own items in that slot plus yours. The export's README gives it for your game, but a server on an older game build has fewer of the game's own, so there it's lower: GetPedDrawableGlobalIndexFromCollection(ped, 11, 'my_police_pack', 0) tells you.

Good to know

  • Cloth physics (coats and skirts that swing) isn't carried over: those items are worn as plain models.
  • Each item can have up to 26 textures (a to z).
  • Only the colour texture changes; the game's normal and shine maps are kept, so a logo won't have its own bumps.
  • Tested by reading every exported file back; not yet checked on a live FiveM server by Rivet's tests.