Notes and limitations
Notes and limitations
Section titled “Notes and limitations”/setslotsis the base, not the answer. A player given 5 who buys a slot ends up with 6.Config.Membership.staffOverride = "absolute"makes it win outright.- The store screen cannot open a browser. No FiveM native does that, so the buttons put the address on the clipboard.
- Discord roles are never stored. They are read live and cached in memory, which is what makes losing a role take the perk with it.
- Heritage presets are parent-face index pairs picked as starting points. The labels are yours to rename and the numbers yours to tune.
- Eye colour swatches are approximations — the index sent to the game is correct, the dot is a hand-written guess. Hair and makeup swatches are read from the game.
- Decals are not tattoos.
decals_1/decals_2are torso component 10, a graphic on the garment. The TATTOOS step is real ink. - The TATTOOS step strips the character to
Config.TattooPreviewso the ink is visible, and dresses them again on the way out — including when they submit straight from it. Any step can do this withstrip = true. - Tattoo names must match the game exactly. An unknown overlay raises nothing,
it just draws nothing. Check anything you add with
/cctattoo. - Tattoos are stored in their own column —
users.tattooson ESX,multicharacter_characters.tattooselsewhere — not inside the skin blob, which every barber rewrites wholesale. - Starter outfits live in
multicharacter_outfits, keyed on the character and deleted with it. - Appearance validation is by whitelist and range clamp; identity fields (name, date of birth, age, height, slot ownership) are fully validated server-side.
- Playtime reads 0 unless something on your server writes
metadata.playtime; neither framework tracks it. Last seen starts filling in from the first logout after install.
QBCore and Qbox specifics
Section titled “QBCore and Qbox specifics”- Birthdates are written as
YYYY-MM-DD, whateverConfig.DateFormatsays — that is what every other QB resource parsescharinfo.birthdateas.Config.DateFormatstill governs what this resource displays. charinfo.nationalityis filled fromConfig.QB.nationality.- Height goes into both
charinfo.heightandmetadata.height. - The citizenid is generated by this resource, because the
playerskinsrow is written beforeLoginis called. - Deleting a character sweeps every table with a
citizenidcolumn (ESX:identifierorowner). Add anything missed toConfig.ExtraDeleteTables. /lockcharusesmulticharacter_characters.disabled, so a framework update cannot take it away.
Support
Section titled “Support”Run mcdiag in the server console and paste what it prints. It reports the
framework, clothing, housing and tattoo resources resolved, the database, the
Discord and store wiring, and every problem found in your config.lua — which
answers most of a support conversation in one message.
Troubleshooting table: Integration.
