Skip to content

Frameworks & compatibility ​

ZAIDERS Appearance finds your framework on its own and saves looks in the tables your server already uses. It also answers the exports and events of the best-known clothing menus, so scripts made for them keep working without changes.

Supported frameworks ​

QBCoreQboxESX
Found asqbqbxesx
Looks saved inplayerskinsplayerskinsusers.skin
Model saved asits numberits nameskinchanger's format, with the exact face inside
Moneycash and bankcash and bankmoney and bank
Job uniforms and job-only garmentsYesYesYes
Gang uniforms and gang-only garmentsYesYesNo (ESX has no gangs)
Peds shopYesPeds the server knows by nameNot with skinchanger running
Height staff (character height, off out of the box)ACE or qb-core permissions, or a job from a gradeACE or qb-core permissions, or a job from a gradeACE, ESX groups, or a job from a grade

Config.Framework = 'auto' looks for Qbox, then QBCore, then ESX. The console says which one it found (framework: qb). Without a framework the menu opens, but nothing is charged or saved.

ZAIDERS Appearance reads the looks saved by illenium-appearance, fivem-appearance, qb-clothing and esx_skin as they are. Nobody has to make their character again.

QBCore and Qbox ​

  • New characters: the multicharacter fires qb-clothing's new-character event and the creator opens. See Character creator.
  • Qbox: the character screen loads the model by its name, so only peds the server knows by name are saved: the game's peds and your addon peds from the panel. On start, appearances saved with the model as a number are converted to its name, and the console says how many.

ESX ​

  • With esx_multicharacter: keep esx_skin and skinchanger running, because esx_multicharacter needs them to start. New characters are made with esx_skin's menu, and the shops, barber, tattoos and wardrobe are this menu's. Looks are saved in skinchanger's format, which the character screen and esx_skin read, with the exact face inside. When a character joins, this menu puts on the exact face and the tattoos.
  • Without a multicharacter: you can stop both esx_skin and skinchanger. This menu answers in their place, with its creator for new characters.
  • Peds: not sold while skinchanger runs, because skinchanger only keeps the freemode man and woman.
  • esx_skin:save: wardrobes and lockers that save clothes this way don't save out of the box, because any player can send that event with any clothes, without paying. Config.Compat.esxSkinSave = true allows it. See What the server checks.

Scripts made for other clothing menus ​

While these resources are not running, ZAIDERS Appearance answers under their names. Scripts that call them work as they are. Config.Compat.exports = false turns this off.

What other scripts callUsed by
exports['illenium-appearance'] and exports['fivem-appearance']: getPedAppearance, setPedAppearance, setPlayerAppearance, setPlayerModel, startPlayerCustomization and the rest of that APIQbox and many multicharacters
qb-clothing's events: qb-clothing:client:openMenu, openOutfitMenu (housing wardrobes) and loadOutfit (job uniforms), and exports['qb-clothing']:reloadSkin()QBCore scripts, housing, jobs
illenium-appearance's events: open the shops, the outfits and the job uniforms, changeOutfit and reloadSkinScripts made for illenium-appearance
On ESX, skinchanger's and esx_skin's exports and events: GetSkin, LoadSkin, LoadClothes, esx_skin:openSaveableMenu…ESX scripts
The usual load events: qb-clothing:client:loadPlayerClothing, qb-clothes:loadPlayerSkinMulticharacter previews, revive scripts

Looks put on by other scripts aren't saved

What another script puts on through these exports and events isn't saved. What a player keeps always goes through the shops, where the server checks the price.

Config.Compat.loadSkin puts the saved clothes back on when a character joins, and whenever another script reloads them (after reviving, in a multicharacter's preview). If another clothing resource that answers those events is running, it stays out of the way.

HUDs ​

While a menu or the panel is open, the HUD hides, and it comes back as it was when the menu closes:

  • The game's own HUD always hides. Many server HUDs follow it by themselves.
  • Another resource's HUD goes in Config.HideHud.resources, with its export or its event.
  • Any other HUD can use Config.HideHud.custom, or listen to the zaiders_appearance:hud event.

If a script turns the HUD back on while a menu is open, such as a multicharacter that restores it a few seconds after the spawn while the creator is already open, it hides again. See Config reference and Exports, events & hooks.

Tattoo resources ​

If a resource from Config.Tattoos.owners is running, ZAIDERS Appearance's tattoo shop turns itself off: its shops leave the map, it doesn't sell, and it doesn't put saved tattoos on. Config.Tattoos.enabled = false turns it off by hand. The console says once, at start, which resource handles the tattoo shop. The tattoo sync stays on either way. When this menu changes the player's model, the client event zaiders_appearance:modelChanged lets that resource put its tattoos back (on ESX, also skinchanger:modelLoaded while skinchanger isn't running). See Tattoo shop.

Opening the menus from your scripts ​

Housing wardrobes, job lockers and ox_target zones can open any menu:

lua
exports.zaiders_appearance:openShop('clothing')  -- 'barber', 'tattoo' or 'wardrobe'

A multicharacter or another wardrobe can also use this menu's own exports: getAppearance, setAppearance and reloadSkin in the player's game, and wearOutfit on the server. See Exports, events & hooks.

Support for Zaiders Store FiveM clothing packs and scripts.