Configuration — ns-multicharacter
Everything is in config.lua (not escrowed). Texts are in locales/en.lua and locales/tr.lua.
| Key | Default | Meaning |
|---|---|---|
Config.Framework | 'auto' | 'qbox', 'qbcore' or 'auto' |
Config.Locale | 'en' | 'en' / 'tr' |
Config.Features.Delete | 'admin' | who may delete their own characters: 'admin' (Config.Admin), true (everyone), false (nobody) |
Config.Features.SpawnSelector | true | false = always spawn at the last location |
Config.Features.LastLocation | true | "Last location" entry |
Config.Features.Properties | true | owned qbx_properties as spawn points |
Config.Features.Playtime | true | count play time per character, shown on the character card |
Config.Features.LastPlace | true | area of the last position on the character card |
Slots
Config.Slots: default (3), max (8), perLicense (['license2:...'] = 5), acePrefix, showLocked,
storeUrl (plain text shown on locked slots). Final count is max(default, perLicense, ACE) + extra, capped at
max. ACE example: add_ace group.vip ns-multicharacter.slots.5 allow. Extra slots: /charslots <id | license> <n>.
Logout
Config.Logout: command ('logout', false = keep the framework's own command), access ('everyone' |
'admin'), blockSingleCharacter (true: a player with one character and one slot cannot log out). The command is
registered on the client, so it answers before qbx_core's admin-only /logout. qbx_properties' logout points inside
apartments call qbx_core directly and are not checked.
Limits that admins never get:
| Key | Default | Meaning |
|---|---|---|
combat.seconds | 60 | no logout this long after shooting / hitting a player or being hit by one (0 = off) |
combat.dead | true | no logout while dead or down |
combat.cuffed | true | no logout while cuffed (metadata ishandcuffed, ns-police) |
combat.vehicle | true | no logout while sitting in a vehicle |
cooldownSeconds | 300 | time between two logouts of the same player (0 = off) |
Fights are read on the server from weaponDamageEvent (OneSync): shots and melee hits between players, also hits on
a vehicle a player sits in. Damage to or from NPCs, falls and car crashes do not count.
Ambient sound
Config.Ambience: enabled, volume (0.0–1.0; the sound plays in the UI, the game's volume slider does not change
it), files (own loops in nui/sounds/, .ogg / .mp3, e.g. { 'beach.ogg' }). Each scene picks its sound in
/charsetup → Atmosphere → Ambient sound: none, wind, city, sea, rain, night, indoors, or one of your files.
Selection screen
Config.Selection: privateBucket (own routing bucket while choosing), bucketBase, population (peds / traffic
in that bucket), sceneMode ('random', default: never the scene shown just before and never the one this character had last time,
also after a relog; 'cycle': character 1 always in scene 1, 2 in 2 ...;
'same': one scene per visit, only the pose changes),
fadeMs, dollyMs (camera glide, 0 = off), defaultFov, title, subtitle, accent (UI colour), hideHud
(hide ns-hud while the selection / spawn selector / /charsetup is open).
Config.Branding: logo (image in nui/, add new files to the fxmanifest files; false = none),
intro (enabled, title, subtitle, durationMs 2000–10000, everyTime: also after every logout instead of
only on join), credit (enabled, text: bottom right corner). Texts are shown exactly as written.
Config.Appearance.provider: 'auto', 'illenium-appearance', 'fivem-appearance', 'qb-clothing' or 'none'.
Scenes and poses (/charsetup)
Scenes and poses live in the database and are edited in game by admins with /charsetup. Config.Scenes and
Config.Poses are only the starting set written on the first start; editing them later changes nothing.
Scenes tab:
- New scene / click a scene. Stand here: walk to the spot and press E (your position and facing). Go there teleports you to a saved spot.
- Set camera: free camera that always aims at the character. W / S closer and farther, A / D sideways, Q / E down and up, Shift faster, scroll = FOV, arrow up / down = aim height, Enter keeps, Backspace goes back.
- Time, weather, "put the character on the ground" (outdoor spots), "shown to players", and the poses allowed here (none ticked = every pose). The play button next to a pose tries it on the preview.
- Arrows in the list set the order (
sceneMode = 'cycle'follows it). - Take from game (the best looking way): the panel hides, the scene's time and weather stay. Play an emote from
any menu, fine-tune your spot with
/animpos, open a freecam (ns-hud/freecam, or any other) and frame the shot, then press the capture key (Config.Studio.captureKey, default Y). The scene takes the camera exactly as the screen shows it, your exact position and facing, and the pose you play (library pose by animation, or the scully_emotemenu emote added as a new pose; the scene's pose list becomes that one pose). Backspace goes back (ignored while freecam or the animpos gizmo use it). Check the preview, then Save. Using Stand here or Set camera later turns the scene back into an aimed camera.
Poses tab: animation (dictionary, clip, flag; 1 = loop) or scenario (e.g. WORLD_HUMAN_SMOKING, brings its own
props), optional gender. Try on the preview plays the unsaved pose on the current scene preview.
Players never choose scene, pose or camera; every switch picks a pose different from the previous one.
New characters
Config.Create: name length, age range (minAge, maxAge, referenceYear), nationalities, blockedWords,
preview ({ male = 'a_m_y_business_03', female = 'a_f_y_business_02' }: ped models that pose in the scene while the
form is open; false = empty scene).
Config.NewCharacter.spawn: 'auto' (apartment flow if enabled, else selector), 'selector' or 'default'.
defaultSpawn, openClothing.
Spawn selector
Config.Spawn.switch = true: GTA V character switch on spawn (camera up into the clouds, then down onto the
character) and on logout (camera flies up into the clouds, then the selection opens). Property and starting
apartment spawns always teleport without it.
Config.Spawn.camera: height, distance, angle, fov, glideMs. Config.Spawn.points:
{ id = 'mrpd', label = 'Mission Row PD', description = 'Police only', icon = 'shield',
coords = vector4(x, y, z, heading), jobs = { police = 0 }, gangs = nil,
cam = { height = 30.0, distance = 50.0, angle = 180.0 } }, -- cam optional
jobs / gangs: { name = minimum grade }; the point is shown when either matches. Icons: pin city bed plane tree sun shield cross house star anchor. /charspawn copies an entry for the place you stand.
Admin
Config.Studio.captureKey = { control = 246, label = 'Y' }: the key that takes the shot in Take from game (GTA
control id + the name shown in the hint). Change both if Y is busy on your server.
/charslots <player id | license> <extra>: extra slots (0 toConfig.Slots.max)./charsetup: scene and pose editor (admin only)./charspawn: copies a spawn point entry (admin only).