Configuration
Config = {}
-- Locale Configuration
-- Language setting (e.g., "en", "tr", "de")
Config.locales = {}
Config.locale = "en"
-- XP System Configuration
-- Amount of XP required to level up (e.g., 100 XP = level 2, 200 XP = level 3, etc.)
Config.NeedXpForLevel = 100
-- Identifier Configuration
-- Type of identifier to use (e.g., "license", "license2", "steam", etc.)
Config.Identifier = "license2"
-- Column name in database for identifier lookup
Config.IdentifierColumn = "license"
-- Character ID Column Configuration
-- Column name in database for character ID (QB uses "citizenid", ESX uses "identifier")
Config.CidColumn = "citizenid"
-- Character Slot Configuration
-- Default number of character slots per player
Config.DefaultCharCount = 3
-- Maximum number of character slots available
Config.CharSlotCount = 10
-- Routing Bucket Configuration
-- Routing bucket ID to use when character selection menu is open (set to 0 when character is selected)
Config.RoutingBucket = 1
-- Spawn Configuration
Config.LastPositionLoad = true -- Set to true to spawn at last position, false to use spawn selector
Config.UseQbApartments = false -- Set to true if you use qb-apartments
Config.DefaultSpawn = vector3(-1035.71, -2731.87, 12.86) -- Default spawn coords if apartments disabled
-- Delete Character Configuration
-- Tables that need to be cleaned before deleting a character
-- Format: ["table_name"] = "column_name"
-- Example: ["properties"] = "owner" means DELETE FROM properties WHERE owner = 'citizenid'
Config.DeletePlayersTable = {
["properties"] = "owner",
}
Config.PhotoLocation = vec4(-1877.34, -1210.9, 12.02, 221.67) -- Photo shoot location (x, y, z, heading)
Config.PhotoCamera = vec4(-1876.76, -1211.64, 13.6, 43.37) -- Camera position for photo
Config.PhotoCameraLookAt = vec4(-1877.34, -1210.9, 13.6, 221.67) -- Camera look at position (character head)
-- Spawn Selector Function (called when LastPositionLoad is false)
-- You can add your spawn selector logic here (qb-apartments, qb-spawn, etc.)
Config.SpawnSelector = function(src, citizenid, framework)
-- Example: Add your spawn selector logic here
if GetResourceState('ak4y-spawn') == 'started' then
TriggerClientEvent('ak4y-spawn:OpenSpawnSelector', src)
end
if GetResourceState('ak4y-spawnselector') == 'started' then
TriggerClientEvent('ak4y-spawnselector:openUI', src)
end
if GetResourceState('qb-apartments') == 'started' then
TriggerClientEvent('apartments:client:setupSpawnUI', src, {citizenid = citizenid})
elseif GetResourceState('qb-spawn') == 'started' then
TriggerClientEvent('qb-spawn:client:setupSpawns', src, {citizenid = citizenid}, false, nil)
TriggerClientEvent('qb-spawn:client:openUI', src, true)
end
end
-- PlayerLoaded function (called after character selection for QB)
Config.PlayerLoaded = function(citizenId)
-- Custom code here if needed
end
-- PlayerLoaded function (called after character selection for ESX)
Config.PlayerLoadedESX = function(isNew)
-- Custom code here if needed
end
-- Voice/Sound Configuration
-- Female voice options for character creation
Config.Sounds = {}
Config.Sounds.Female = {
[1] = { label = "Voice 1", soundName = "sound2" },
[2] = { label = "Voice 2", soundName = "sound4" },
[3] = { label = "Voice 3", soundName = "sound6" },
[4] = { label = "Voice 4", soundName = "sound8" },
[5] = { label = "Voice 5", soundName = "sound10" },
}
-- Male voice options for character creation
Config.Sounds.Male = {
[1] = { label = "Voice 1", soundName = "sound1" },
[2] = { label = "Voice 2", soundName = "sound3" },
[3] = { label = "Voice 3", soundName = "sound5" },
[4] = { label = "Voice 4", soundName = "sound7" },
[5] = { label = "Voice 5", soundName = "sound9" },
}
-- Character Photo Options
-- Predefined photos that players can select for their characters
-- Add image paths here to add more photo options
-- You can use local paths (./img/filename.jpg) or online URLs
-- Recommended: Square images (1:1 ratio) work best, around 512x512px or larger
Config.Photos = {
[1] = "https://i.pravatar.cc/512?img=1",
[2] = "https://i.pravatar.cc/512?img=5",
[3] = "https://i.pravatar.cc/512?img=12",
[4] = "https://i.pravatar.cc/512?img=18",
[5] = "https://i.pravatar.cc/512?img=22",
[6] = "https://i.pravatar.cc/512?img=27",
[7] = "https://i.pravatar.cc/512?img=33",
[8] = "https://i.pravatar.cc/512?img=38",
[9] = "https://i.pravatar.cc/512?img=42",
[10] = "https://i.pravatar.cc/512?img=47",
[11] = "https://i.pravatar.cc/512?img=52",
[12] = "https://i.pravatar.cc/512?img=57",
[13] = "https://i.pravatar.cc/512?img=62",
[14] = "https://i.pravatar.cc/512?img=68",
[15] = "https://i.pravatar.cc/512?img=70",
}
-- Music Configuration
-- Supported sites: YouTube
-- Example format: Just paste the URL of the music/video
Config.Music = {
[1] = "https://www.youtube.com/watch?v=dQw4w9WgXcQ", -- Rick Astley - Never Gonna Give You Up
[2] = "https://www.youtube.com/watch?v=kJQP7kiw5Fk", -- Luis Fonsi - Despacito
[3] = "https://www.youtube.com/watch?v=9bZkp7q19f0", -- PSY - GANGNAM STYLE
[4] = "https://www.youtube.com/watch?v=OPf0YbXqDm0", -- Mark Ronson - Uptown Funk
[5] = "https://www.youtube.com/watch?v=fJ9rUzIMcZQ", -- Queen - Bohemian Rhapsody
[6] = "https://www.youtube.com/watch?v=kXYiU_JCYtU", -- Linkin Park - Numb
[7] = "https://www.youtube.com/watch?v=IcrbM1l_BoI", -- Eminem - Lose Yourself
[8] = "https://www.youtube.com/watch?v=y6120QOlsfU", -- Survivor - Eye of the Tiger
[9] = "https://www.youtube.com/watch?v=StTqXEQ2l-Y" -- AC/DC - Thunderstruck
}
-- Character Animation Options
-- Animations that players can preview on their characters in the character selection screen
-- Format: { label = "Display Name", dict = "animation dictionary", anim = "animation name", duration = milliseconds }
Config.Animations = {
[1] = {
label = "Hand Shake",
dict = "gestures@m@standing@casual",
anim = "gesture_hello",
duration = 4500,
},
[2] = {
label = "Salute",
dict = "anim@mp_player_intincarsalutestd@ds@",
anim = "idle_a",
duration = 4500,
},
[3] = {
label = "Thumbs Up",
dict = "anim@mp_player_intupperthumbs_up",
anim = "idle_a",
duration = 4500,
},
[4] = {
label = "Celebration Salute",
dict = "anim@mp_player_intcelebrationmale@salute",
anim = "salute",
duration = 2500,
},
[5] = {
label = "Blow Kiss",
dict = "anim@mp_player_intcelebrationfemale@blow_kiss",
anim = "blow_kiss",
duration = 4500,
},
[6] = {
label = "Facepalm",
dict = "anim@mp_player_intupperface_palm",
anim = "idle_a",
duration = 4000,
},
[7] = {
label = "Clap",
dict = "anim@mp_player_intcelebrationmale@slow_clap",
anim = "slow_clap",
duration = 3000,
},
}Last updated