Configuration
wasabi_multichar is configured through shared, client, server, and preview-location files.
tip
After editing character preview scenes, restart the resource and test in-game. Camera paths, IPL loading, animations, and props are easiest to validate in a live client.
config/shared/config.luaβ
Shared settings used by both client and server.
Config = {}
-- Enables verbose debug logging through ox_lib's debug print level.
Config.Debug = false
-- Maximum character slots. VIP slots are added on top via database/webstore/admin command.
Config.MaxSlots = 4
-- Allow character deletion. Checked in both UI and server logic.
Config.AllowDeletion = true
Config.SpawnOptions = {
-- Default spawn coords used when no last position exists.
defaultCoords = {
vector4(-269.4, -955.3, 31.2, 205.0),
},
-- If true, skip spawn selector and spawn at saved last position.
skipSpawnSelector = false,
-- If true, use a custom spawn selector integration (wasabi_spawn, um-spawn, qb-spawn, qb-apartments).
-- To add your own custom spawn selector integration, modify bridge/spawn/server.lua.
useCustomSpawnSelector = true,
-- If true, show spawn selector on first character creation.
spawnSelectOnFirstSpawn = false,
-- If true, play a short synchronized scene before fading in.
-- Skipped automatically when first-spawn customization opens for new characters.
spawnAnimation = false,
}
-- Job-based built-in spawn fallback. Empty disables job spawns.
Config.JobSpawns = {}
config/client/config.luaβ
Client-facing UI and display settings.
-- Welcome screen camera. If nil, the first PreviewLocations startCam is used.
Config.WelcomeCam = vector3(-1720.7660, -1180.8932, 27.7457)
-- After welcome/first join, delay before focusing the first character (ms).
Config.FirstOpenIntroDelay = 4000
-- UI accent color. Set nil for the default green.
Config.UIColor = '#29b181'
-- Nationalities shown during character creation.
Config.Nationalities = {
'American', 'British', 'Canadian', 'Mexican', 'German', 'French',
'Italian', 'Spanish', 'Japanese', 'Chinese', 'Korean', 'Brazilian',
'Australian', 'Russian', 'Indian', 'Other'
}
-- Stat fields shown on character selection cards.
Config.StatFields = {
{ key = 'birthdate', label = 'BIRTHDAY', icon = 'fa-solid fa-cake-candles', format = 'date' },
{ key = 'jobLabel', label = 'JOB', icon = 'fa-solid fa-briefcase', format = 'text' },
{ key = 'cash', label = 'CASH', icon = 'fa-solid fa-dollar-sign', format = 'currency' },
{ key = 'bank', label = 'BANK', icon = 'fa-solid fa-building-columns', format = 'currency' },
{ key = 'phone', label = 'PHONE NUMBER', icon = 'fa-solid fa-phone', format = 'phone' },
}
-- Webstore link for purchasing additional slots. Leave blank to disable.
Config.WebstoreLink = ''
Config.PurchaseUrl = '' -- Alias used by NUI
config/server/config.luaβ
Server-side commands, slot purchases, and starter item settings.
-- Framework detection: 'auto', 'esx', 'qb', 'qbx', 'custom'
-- The active framework is auto-detected by bridge resource-state checks.
Config.Framework = 'auto'
Config.CheckForUpdates = true -- Check for updates on resource start (recommended)
Config.LogoutCommand = {
name = 'logout',
description = 'Logout from the character',
onlyStaff = false, -- If true, requires ACE wasabi_multichar.staff
}
Config.AddVIPCommand = {
name = 'addvip',
description = 'Add VIP slot to player (license or player id)',
}
-- If true, only ACE wasabi_multichar.delete can delete characters.
Config.DeleteCharacterRestricted = false
-- Tebex package ID for slot purchases. 0 disables package confirmation.
Config.TebexPackageID = 0
Config.StarterItems = {
enabled = false,
items = {
{ type = 'account', name = 'money', amount = 5000 },
{ type = 'item', name = 'burger', amount = 5 },
{ type = 'item', name = 'water', amount = 5 },
},
}
config/client/previewLocations.luaβ
Preview locations control the character selection scenes. Each location can define:
| Field | Description |
|---|---|
hiddenCoords | Invisible player position used to stream the scene. |
pedInterior | Optional interior coords used for loading interiors. |
startCam | Optional static start camera. |
cinematicCam | Initial/looping cinematic camera data. |
slots | Character slot ped positions, cameras, animations, and props. |
ipls | Optional IPLs to request/remove with the scene. |
stopCamParams | Optional exit camera transition settings. |
exitAnim | Optional selection exit animation using slot peds. |
useFladeAnim | Uses fade/cut/fade when focusing slots instead of interpolating. |
commonCam / commonCamSlots | Shared bridge camera for groups of slots. |
minSlots | Only choose this location when the player has at least this many characters. |
vehicles | Optional vehicles spawned for the scene and cleaned up when leaving. |
See Preview Locations for the full scene configuration guide.