Additional Informations
Page dedicated to Additional Informations about our Skin Menu [V2].
Core Features
Native Overrides: Acts as a master provider for
skinchangerandillenium-appearance, ensuring 100% compatibility with older third-party scripts.Unified Interface: One cohesive UI handling clothes, DNA, parents, makeup, props, and tattoos.
Photo Studio: Leverages
screenshot-basicto take actual mugshots of the player's ped for Wardrobe saves.Dynamic Peds: Natively supports switching to animal peds, custom addon peds, or specific multiplayer models, locked behind admin permissions.
Commands & Permissions
/skinmenu
everyone
Opens the full skin menu for the player.
/outfits
everyone
Opens the saved wardrobe list.
/skinreset
admin
Resets the player's appearance back to Config.DefaultSkin.
/skingive [id]
admin
Opens the surgeon menu for another player, e.g. to fix a broken appearance.
/skinpeds [id]
admin
Opens the ped selection for another player.
/skinadmin
admin
Opens the Admin Panel — shops, prices, commands, peds, permissions, history.
Command names and their required permission are stored in the database and editable in the Admin Panel; their initial values come from DefaultData.Commands in config/default_data.lua. The group that counts as admin on a fresh install is Config.AdminGroup, and both an Ace permission and a framework group are accepted.
UI Assets & Rendering Tools
To capture high-quality previews of clothes, props, and peds for custom wardrobe thumbnails, items, or UI assets, we recommend the open-source fivem-greenscreener tool. This script allows you to isolate and photograph peds or clothing items against a solid color backdrop (green screen) for seamless background removal, providing a clean and professional look for your server's custom asset library.
Developer API (Exports & Events)
qf_skinmenu_v2 provides a rich developer API through client-side exports, client events, and legacy wrappers. You can choose the integration method that fits your codebase:
1. Appearance & Model Handlers
getPedAppearance
Usage: Retrieves the complete appearance configuration of a specific ped (DNA, face features, clothing, tattoos).
Syntax:
exports['qf_skinmenu_v2']:getPedAppearance(ped)Returns:
tablerepresenting the full appearance payload.
setPlayerAppearance
Usage: Applies a complete appearance payload directly to the local player's character.
Syntax:
exports['qf_skinmenu_v2']:setPlayerAppearance(appearance)
setPedAppearance
Usage: Applies an appearance payload to a specific ped entity (such as NPCs, dummies, or showroom targets).
Syntax:
exports['qf_skinmenu_v2']:setPedAppearance(ped, appearance)
2. Ped Variations (Components & Props)
getPedComponents
Usage: Retrieves an array of all clothing components currently equipped on the ped (torso, pants, undershirt, etc.).
Syntax:
exports['qf_skinmenu_v2']:getPedComponents(ped)Returns:
tablearray containing the component ID, drawable, and texture.
setPedComponents
Usage: Programmatically applies a set of clothing components to a ped.
Syntax:
exports['qf_skinmenu_v2']:setPedComponents(ped, components)
getPedProps
Usage: Retrieves an array of all props currently equipped on a ped (helmet, glasses, watch, bracelets, ears).
Syntax:
exports['qf_skinmenu_v2']:getPedProps(ped)Returns:
tablearray containing the prop ID, drawable, and texture.
setPedProps
Usage: Programmatically applies specific props to a ped (or removes them by passing drawable
-1).Syntax:
exports['qf_skinmenu_v2']:setPedProps(ped, props)
3. Face, Hair & Head Blend Features
getPedHair
Usage: Retrieves styling and color properties of the ped's hair.
Syntax:
exports['qf_skinmenu_v2']:getPedHair(ped)Returns:
tablerepresenting style, colors, and highlights.
getPedHeadBlend
Usage: Retrieves genetic blending details of the face (mom/dad shapes and skin tones).
Syntax:
exports['qf_skinmenu_v2']:getPedHeadBlend(ped)Returns:
tablerepresenting parent blend indices and mix values.
4. Interactive UI & Camera Controls
IsMenuOpen
Usage: Checks if the player is currently inside the skin menu UI.
Syntax:
exports['qf_skinmenu_v2']:IsMenuOpen()Returns:
boolean(true/false).
OpenWardrobe
Usage: Programmatically opens the player's saved wardrobe list.
Syntax:
exports['qf_skinmenu_v2']:OpenWardrobe()
OpenShop
Usage: Opens a specialized shop menu, the same one the target interaction opens.
Syntax:
exports['qf_skinmenu_v2']:OpenShop(shopType)Valid types:
clothing,barber,tattoo,surgeon,peds
abortMenu
Usage: Force-closes the menu and restores the player, e.g. when your script needs to interrupt customization.
Syntax:
exports['qf_skinmenu_v2']:abortMenu()
5. Additional Helpers
startCharacter(opts, ok, no)
Opens the full character creator. Export equivalent of openCreationMenu.
getPedModel(ped)
Returns the model hash of the ped.
setPlayerModel(model)
Switches the local player to another ped model, hash or name.
getPedFaceFeatures(ped)
Returns the face feature values (nose, jaw, cheeks, …).
getPedHeadOverlays(ped)
Returns the head overlays (beard, makeup, blemishes, …).
reloadSkin()
Reloads and reapplies the stored appearance, useful after a spawn or a model change.
GetCurrentShop()
Returns the shop the player is currently interacting with, or nil.
PreloadImages()
Preloads the clothing thumbnails so the first menu open is instant.
You can programmatically open customization menus using standard client events:
Because qf_skinmenu_v2 registers as a provider for older systems, you do not need to rewrite your job scripts, wardrobes, or faction lockers. The following legacy wrappers will be intercepted and processed flawlessly:
Frequently Asked Questions (Q&A)
Q: Can I use this alongside illenium-appearance?
A: Absolutely not. This script entirely replaces illenium-appearance. If both are running, the game engine will encounter fatal synchronization errors. qf_skinmenu_v2 handles all appearance logic.
Q: How do I add custom addon clothes (EUP)? A: Stream your EUP files to your server as you normally would. The script dynamically reads all available clothing components directly from the GTA V engine at runtime. Any properly streamed clothing will automatically populate in the menu.
Q: Why are wardrobe images failing to save?
A: This usually indicates an issue with screenshot-basic. Ensure it is updated. If you are using Config.ImageSource = "remote", verify that your RemoteImagePath is a valid, accessible backend capable of receiving POST requests for image data.
Last updated

