Configuration

Page dedicated to how to configure our Skin Menu

Languages

You can set the language of the script in the configuration file.

  • en: English

  • fr: French

  • pl: Polish

  • de: German

  • es: Spanish

Tattoos Compatibility

Defines compatibility with external tattoo systems:

  • rcore: Set to true if you are using rcore_tattoos.

  • vms: Set to true if you are using vms_tattoos.

📌 These settings allow tattoos to persist and display correctly when changing outfits or reopening the skin menu. Enable only the system you're actually using.

Target

Defines which targeting system is used for interacting with skin menu NPCs or zones:

  • ox_target: Set to true to use ox_target.

  • qtarget: Set to true to use qtarget.

  • qb_target: Set to true to use qb-target.

  • useE: Set to true to enable interaction using the E key instead of any target system.

📌 Only one system should be enabled at a time. Make sure to disable others to avoid conflicts.

Permissions

To use the /skin command or receive access to peds in the skin menu, a player must have the ACE permission: manageSkinMenu

How to Add Permission

Add the following line to your server.cfg to grant access to a specific player (replace YOUR_IDENTIFIER with the correct identifier, e.g. identifier.discord:XXXXXXXXX or identifier.license:XXXXXXXXX):

add_ace identifier.discord:YOUR_DISCORD_ID manageSkinMenu allow

Example (for Discord):

add_ace identifier.discord:541714961576099853 manageSkinMenu allow

Example (for FiveM license):

add_ace identifier.license:5a351fe45f0428603e660fda37244dac8eecfbdc manageSkinMenu allow

You can also give this permission to a whole ACE group (e.g. group.admin):

add_ace group.admin manageSkinMenu allow

How to Use

  • Only players with the manageSkinMenu permission can use the /skin command and receive peds in the skin menu.

  • If a player does not have the permission, the command and menu will not be available for them.

Important

Make sure to grant this permission only to trusted players or staff!

Stores - Prices

Defines the cost for accessing customization menus:

  • clotheshop: Price (in your server's currency) for using the clothing shop.

  • barbershop: Price for using the barber shop (e.g., hair, beard, eyebrows).

📌 Set to 0 to make either shop free. Prices are automatically deducted using your framework’s billing or money system.

Stores - Locations

Defines the locations of clothing and barber shops across the map:

Each entry represents a single store location with the following properties:

  • type: Type of store available at the location. Accepted values: • "clothing" – opens the clothing customization menu • "barber" – opens the barber/hair customization menu

  • coords: Position and heading (vector4) where the store is placed. Format: vector4(x, y, z, heading)

📌 You can add as many stores as you like by duplicating the structure. Each store will automatically support your selected target system or "E" key interaction.

Stores - Blips

Controls the appearance of map blips for clothing and barber shops:


["clothing"]:

Blip settings for clothing stores:

  • Show: Set to true to display the blip on the map.

  • Sprite: Blip icon ID (e.g., 73 for T-shirt icon).

  • Color: Blip color ID (e.g., 47 – light green).

  • Scale: Blip size on the map (e.g., 0.7).

  • Name: Label displayed when hovering over the blip. Uses localization via _L('shops_clothing').


["barber"]:

Blip settings for barbershops:

  • Show: Set to true to show barbershop blips on the map.

  • Sprite: Blip icon ID (e.g., 71 for scissors icon).

  • Color: Blip color ID (e.g., 0 – white).

  • Scale: Blip size on the map.

  • Name: Localized blip label shown on the map via _L('shops_barbershop').

📌 You can freely customize icons, colors, and visibility to match your server's visual style.

Stores - Target Config

Defines ped models, interaction labels, and icons for each targetable skin-related location:


["clothing"] – Clothing Shop Target

  • model: Ped model used at the clothing shop (e.g., "s_f_m_shop_high").

  • scenario: Ped idle animation (e.g., "WORLD_HUMAN_STAND_MOBILE").

  • icon: Font Awesome icon used in the target UI (e.g., "fas fa-tshirt").

  • label: Localized text label shown during interaction (e.g., _L('shops_clothing')).

  • distance: Maximum interaction range in meters (e.g., 5).


["barber"] – Barber Shop Target

  • model: Barber NPC model ("s_m_m_hairdress_01").

  • scenario: Idle animation.

  • icon: Icon for barber (e.g., "fas fa-scissors").

  • label: Localized label (_L('shops_barbershop')).

  • distance: Interaction range.


["clothingroom"] – Public Outfit Room

  • model: Ped model for accessing shared outfit presets.

  • scenario: Animation used by the NPC.

  • icon: Icon for outfit room (e.g., "fas fa-sign-in-alt").

  • label: Localized label (_L('shops_outfits')).

  • distance: Interaction range.


["playeroutfitroom"] – Personal Wardrobe

  • Same structure as clothingroom, but refers to player's saved outfits.

  • label: Localized as _L('shops_warderobe').

📌 These NPCs appear where store coordinates are defined and support all target systems configured in Config.Targets. You can modify ped models and icons to better match your server’s visual identity.

Exports - Client-side

These exports allow you to trigger clothing, barber, wardrobe, and character creation menus from external scripts.


🧥 exports.qf_skinmenu:openWardrobe()

Opens the player's saved outfit wardrobe (from stored outfits).


👚 exports.qf_skinmenu:openClothingShop()

Opens the standard clothing shop menu (T-shirt icon zone).


💈 exports.qf_skinmenu:openBarberShop()

Opens the barber shop menu (hair, beard, eyebrows, etc.).


🧍 exports.qf_skinmenu:openSkinMenu()

Opens the full skin customization menu, including model, face, and body details.


🏠 exports.qf_skinmenu:openClothingShopMenuHousing()

Opens the clothing shop menu with a custom label, useful for housing systems or private wardrobes.

📌 Uses localized title from: TRANSLATIONS[Config.Locale]['shops_warderobe']


👤 exports.qf_skinmenu:startCharacter()

Starts the character creation flow with model/gender selector.

📌 Automatically detects gender using FRAMEWORK.GetGender(true)


✅ These exports are fully client-side and can be used in job scripts, housing systems, spawn selectors, or onboarding flows.

Last updated