Skip to content

Commands & permissions ​

Everything goes through one chat command with subcommands, so it never takes a command name from another resource. /zappearance help lists the ones each player can use, and the chat suggests them as you type.

Chat commands ​

CommandWhat it doesWho
/zappearance helpLists the commands you can use.Everyone
/zappearance reloadskinPuts your saved clothes on again, if they look wrong or invisible.Everyone
/zappearance adminOpens the admin panel, ZAIDERS Studio.Admins
/zappearance photosThe admin panel, on Catalog photos.Admins
/zappearance shopsThe admin panel, on Shops.Admins
/zappearance pricesThe admin panel, on the tattoo prices. Not there if the tattoo shop is off.Admins
/zappearance clothingOpens the clothing store, wherever you are.Admins (everyone with Config.CommandsForEveryone = true)
/zappearance barberOpens the barber shop.Same as above
/zappearance tattoosOpens the tattoo shop. Not there with the tattoo shop off (Config.Tattoos.enabled = false).Same as above
/zappearance wardrobeOpens the wardrobe: outfits and uniforms.Same as above
/zappearance creator [male|female]Opens the character creator for you. Finishing it saves the new look on your character.Admins
/zappearance requestsThe admin panel, on Height requests. Only with the character height and its requests on; height comes off out of the box, and then the command is nobody's, not even the admins'.Admins and the height staff

Every subcommand also works with its Spanish name (ropa, barberia, tatuajes, guardarropa, creador, panel, fotos, tiendas, precios, pedidos, recargar, ayuda) and with the name of Config.Locale's language, such as kleidung in German or vestiti in Italian. The help shows the names in the server's language.

Players use the map

Out of the box, opening a shop by command is for admins. Players walk into the shops on the map, so a store's location means something. Config.CommandsForEveryone = true lets everyone use those subcommands.

Renaming commands ​

lua
Config.Command = 'zappearance'
Config.Subcommands = {
    clothing = { 'clothing', 'ropa' },
    wardrobe = { 'wardrobe', 'guardarropa' },
    -- ...
}
Config.CommandShortcuts = {}
  • Config.Command renames the main command. The console commands below follow it.

  • Config.Subcommands sets the names of each subcommand. Every name in the list works.

  • Config.CommandShortcuts creates commands of your own for a subcommand, with its same rules. It's empty by default so it never takes another resource's command:

    lua
    Config.CommandShortcuts = {
        wardrobe = 'wardrobe',     -- /wardrobe opens the wardrobe
        reloadskin = 'reloadSkin', -- /reloadskin, like other clothing menus have
    }

    The key is the new command and the value is the subcommand it runs. If a value isn't a subcommand, that shortcut isn't made and the server console says so when it starts.

    A subcommand after a shortcut runs that one instead. With { clothing = 'clothing', tattoos = 'tattoo' }, /clothing barber opens the barber shop and /tattoos the tattoo shop, so radial menus and buttons made for another clothing menu's commands work untouched. A shortcut never takes a command another resource already has: F8 says so, and that command stays the other resource's.

Console commands ​

Run them in the server console (txAdmin's console works). They start with Config.Command's name.

CommandWhat it does
zappearance_migrateShows the outfits, uniforms and tattoos from another clothing menu that can be brought over. It only reads.
zappearance_migrate outfits confirmBrings the players' outfits (illenium-appearance's or qb-clothing's).
zappearance_migrate uniforms confirmBrings illenium-appearance's job uniforms.
zappearance_migrate tattoos confirmBrings the tattoos illenium-appearance or fivem-appearance kept inside each saved look.
zappearance_clean_photosDeletes the catalog photos that came out a single color.
zappearance_tattoo_images [all]Makes the pictures of your server's addon tattoos. With all, it makes them all again.
zappearance_changesScans which garments changed since their photo and lists them per pack. Take them again in the panel: Clothing packs → Changes.
zappearance_hair_swatches [all]Prepares the swatches of the packs' hairs for the barber's color card (it also starts by itself after the server starts). With all, it makes them all again.

See Coming from another menu and Catalog photos.

Admins ​

An admin opens the panel, opens any shop by command, uses the creator command and can paste a character's JSON. Anyone who has one of these is an admin:

lua
Config.AdminAces = { 'zaiders_appearance.admin', 'clothing.admin' }  -- ACE permissions
Config.AdminQbPermissions = { 'god', 'admin' }                        -- qb-core permissions
Config.AdminEsxGroups = { 'admin', 'superadmin' }                     -- ESX groups

The recommended way is the ACE permission, in server.cfg:

ini
add_ace group.admin zaiders_appearance.admin allow

clothing.admin is the permission other clothing resources use, so admins of a server that came from one of them keep their access. Anyone without permission who tries the panel gets a message naming Config.AdminAce (zaiders_appearance.admin).

Don't use command

Many servers give the command permission to moderators. Keep the panel to the groups that should edit your catalog, shops and prices.

Catalog editors ​

Catalog editors can change garments from inside the clothing store, with a right click on a garment: rename it, mark it out of stock, give it its own price, or make it Only for… some jobs, gangs or groups. Admins are always editors. You can add more:

lua
Config.CatalogEditors = {
    qb = { 'god', 'admin' },       -- qb-core permissions
    jobs = { clothingstore = 2 },   -- the clothingstore job, from grade 2
    onDuty = true,                  -- jobs only while on duty
    -- aces = { 'my.permission' },  -- other ACE permissions (without it, Config.AdminAces)
}

Height staff ​

The height requests are answered by the admins and by Config.Height.requests.staff: out of the box, the ACE permission zaiders_appearance.height. For example, for your moderators:

ini
add_ace group.mod zaiders_appearance.height allow

It also takes qb-core permissions, ESX groups or a job from a grade. See Character height.

VIP and other groups ​

Garments can be limited to a group of players by an ACE permission, such as VIP:

lua
Config.GarmentGroups = {
    { name = 'vip', label = 'VIP', ace = 'zaiders_appearance.vip' },
}
ini
# server.cfg
add_ace group.vip zaiders_appearance.vip allow
add_principal identifier.fivem:123456 group.vip

Then mark the garments: right click → Only for… → VIP, or many at once in the panel's Catalog editor. Players outside the group don't see those garments, and the server doesn't sell them. See Clothing store.

Support for Zaiders Store FiveM clothing packs and scripts.