What the server checks
Prices, stock and who may wear each garment are decided by the server, never by the player's game. A modified game can't buy a garment for less, wear one that's out of stock, or keep a VIP or job garment it isn't allowed.
Purchases
- What a player pays for is priced against the look the server has saved for them, with the server's prices. The server never charges more than the menu showed.
- Every payment and every save is checked, wherever the menu was opened. Housing wardrobes and job lockers can open menus anywhere, but the server checks what's paid and saved, not where the menu was.
- With a slow database (for example, a backup locking a table), a purchase may say it's still being saved. The money only comes back if the save really fails, and the player is told either way.
- The character creator is free, but it still can't give out-of-stock or job-only garments. A character that already has a look can't save a new one through the creator; only admins can.
Which garment is which
GTA numbers clothing in the order the packs start, so the same number can be a different garment on another server, or after a change. The server keeps its own list of which garment is behind each number:
- An admin's game sends it. The server asks for it once an admin is online, after it starts or after a clothing pack changes.
- Until it has one, a garment that is job-only, VIP or out of stock is recognized from what each player's game reports, together with the last list. The stricter of the two wins.
After installing, or after adding or removing a clothing pack, join once with an admin.
Restart the whole server, not one pack
Restarting a single clothing pack while the server runs gives the players who join afterwards different garment numbers, because FiveM numbers clothing in start order. The console warns when a pack starts or stops while the server runs. Restart the whole server instead.
Codes
- Outfit codes: whoever uses a code pays, as in the store, for the garments they aren't wearing. Out-of-stock and restricted garments stay as their own. A code can't be used to get clothes for free.
- Ped codes: each code is claimed by one player only, even if two try at the same moment. If the ped can't be given (for example, it already has its one owner), the code is released and stays unused. Each player can try a limited number of wrong codes per minute.
Photos on demand
Each player can get at most Config.Photos.bps bytes a second and Config.Photos.perMinute photos a minute. Only the pictures in zaiders_fotos/fotos/ and zaiders_fotos/tatuajes/ are sent, by their exact name; master/ and datos/ never leave the server.
ESX with esx_skin running
esx_skin's own save event stores whatever clothes a player's game sends, because that's how esx_skin works. ZAIDERS Appearance doesn't save through that event out of the box (Config.Compat.esxSkinSave = false). Even so, esx_skin itself still listens to it.
If you sell VIP or job garments on ESX, stop esx_skin when you can (ESX without a multicharacter), or protect that event in esx_skin.
Peds
- ESX with skinchanger running: peds aren't sold, because skinchanger only keeps the freemode man and woman.
- Qbox: only peds the server knows by name are saved (the game's peds and your addon peds from the panel), because Qbox's character screen loads the model by its name.
- Ped by name:
Config.PedByNameandConfig.PedBlacklistare checked again when paying, so nobody keeps a ped they can't use.
