FiveM | Character Selection Resource
Framework:
- QBCore
- ESX
- Custom
- Supports Custom clothing, apartments, and spawn resources
- Custom (and optional) color and style options
- Customizable Events
- Supports up to 5 characters per player (configurable)
- Set custom variables for specific players (Allow higher number of characters for a specific license)
- config located at end of this post
Get it here Solos | Tebex
Gallery:
Config.lua
config = {}
config.framework = {
qb = true,
esx = false,
custom = false,
}
config.Starting_Apartments = true -- requires an apartment resource that supports this feature
config.character_creation = vector4(-1037.47, -2737.34, 20.17, 329.74) -- must be vector4, where player spawns & creates character if starting apartments is false
config.Starting_Items = { -- items that NEW characters will receive upon character creation
['money'] = 500,
['phone'] = 1,
}
---------------------------------------------------------------------------------------
--------------------------------- CUSTOM EVENTS --------------------------------------
---------------------------------------------------------------------------------------
RegisterNetEvent('solos-multicharacter:client:Starting-Apartment-Event', function(newData)
TriggerEvent('apartments:client:setupSpawnUI', newData)
end)
RegisterNetEvent('solos-multicharacter:client:Spawn-Event', function(Data)
-- logic for your spawn select resource
-- TriggerEvent('solos-spawn:client:OpenUI')
-- TriggerEvent('ps-housing:client:setupSpawnUI', Data)
TriggerEvent('apartments:client:setupSpawnUI', Data)
end)
RegisterNetEvent('solos-multicharacter:client:New-SpawnEvent', function(data) -- only triggered if starting apartments is false
TriggerEvent('solos-multicharacter:client:ESX-Character-Creation', data)
---- QBCORE EXAMPLE: ----
-- local ped = PlayerPedId()
-- DoScreenFadeOut(500)
-- Wait(2000)
-- SetEntityCoords(ped, config.character_creation.x, config.character_creation.y, config.character_creation.z)
-- TriggerServerEvent('QBCore:Server:OnPlayerLoaded')
-- TriggerEvent('QBCore:Client:OnPlayerLoaded')
-- TriggerServerEvent('qb-houses:server:SetInsideMeta', 0, false)
-- TriggerServerEvent('qb-apartments:server:SetInsideMeta', 0, 0, false)
-- Wait(500)
-- SetEntityVisible(ped, true)
-- Wait(500)
-- DoScreenFadeIn(250)
-- TriggerEvent('qb-weathersync:client:EnableSync')
-- TriggerEvent('qb-clothes:client:CreateFirstCharacter')
end)
---------------------------------------------------------------------------------------
config.max_characters = 3 -- max characters allowed (for everyone)
config.prefix = 'char' -- ESX ONLY
config.license_max = { -- cannot be greater than 5
-- any players whose license is here will be allowed the amount of characters defined
-- ['license'] = 5, -- allows 5 characters at a time.
['license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'] = 4,
['license:a6880df1cbd1261d327afaba27f6504d1ec467ea'] = 5,
}
--------------------------------------------------------------------------------
------ DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING ----------
--------------------------------------------------------------------------------
config.camcoords = vector4(-781.65, 335.38, 187.11, 46.38) -- must be vector4
config.peds = {
-- half circle
[1] = {
coords = vector4(-786.12, 337.52, 187.11, 284.88), --sit tv (couch)
scenario = false,
dict = "anim@heists@heist_safehouse_intro@variations@male@tv",
clip = "tv_part_one_loop",
flag = 1,
prop = "v_res_tre_remote",
bone = 28422,
pos = vector3(0.0990, 0.0170, -0.0300),
rot = vector3(-64.760, -109.544, 18.717),
},
[2] = {
coords = vector4(-787.83, 338.76, 187.11, 272.51), --leanbar behind couch
scenario = "PROP_HUMAN_BUM_SHOPPING_CART",
dict = false,
clip = false,
flag = 1,
prop = false,
bone = false,
pos = false,
rot = false,
},
[3] = {
coords = vector4(-785.86, 341.29, 187.11, 178.95), --idle 7 behind couch
scenario = false,
dict = "anim@mp_corona_idles@male_d@idle_a",
clip = "idle_a",
flag = 1,
prop = false,
bone = false,
pos = false,
rot = false,
},
[4] = {
coords = vector4(-784.32, 339.66, 187.11, 191.12), -- impatient behind couch, musician? party?
scenario = false,
dict = "timetable@reunited@ig_10",
clip = "base_amanda",
flag = 1,
prop = false,
bone = false,
pos = false,
rot = false,
},
[5] = {
coords = vector4(-785.85, 339.38, 187.11, 233.79), -- sit
scenario = false,
dict = "timetable@ron@ig_5_p3",
clip = "ig_5_p3_base",
flag = 1,
prop = false,
bone = false,
pos = false,
rot = false,
},
}
config.Default = { --esx only
["m"] = {
mom = 43,
dad = 29,
face_md_weight = 61,
skin_md_weight = 27,
nose_1 = -5,
nose_2 = 6,
nose_3 = 5,
nose_4 = 8,
nose_5 = 10,
nose_6 = 0,
cheeks_1 = 2,
cheeks_2 = -10,
cheeks_3 = 6,
lip_thickness = -2,
jaw_1 = 0,
jaw_2 = 0,
chin_1 = 0,
chin_2 = 0,
chin_13 = 0,
chin_4 = 0,
neck_thickness = 0,
hair_1 = 76,
hair_2 = 0,
hair_color_1 = 61,
hair_color_2 = 29,
tshirt_1 = 4,
tshirt_2 = 2,
torso_1 = 23,
torso_2 = 2,
decals_1 = 0,
decals_2 = 0,
arms = 1,
arms_2 = 0,
pants_1 = 28,
pants_2 = 3,
shoes_1 = 70,
shoes_2 = 2,
mask_1 = 0,
mask_2 = 0,
bproof_1 = 0,
bproof_2 = 0,
chain_1 = 22,
chain_2 = 2,
helmet_1 = -1,
helmet_2 = 0,
glasses_1 = 0,
glasses_2 = 0,
watches_1 = -1,
watches_2 = 0,
bracelets_1 = -1,
bracelets_2 = 0,
bags_1 = 0,
bags_2 = 0,
eye_color = 0,
eye_squint = 0,
eyebrows_2 = 0,
eyebrows_1 = 0,
eyebrows_3 = 0,
eyebrows_4 = 0,
eyebrows_5 = 0,
eyebrows_6 = 0,
makeup_1 = 0,
makeup_2 = 0,
makeup_3 = 0,
makeup_4 = 0,
lipstick_1 = 0,
lipstick_2 = 0,
lipstick_3 = 0,
lipstick_4 = 0,
ears_1 = -1,
ears_2 = 0,
chest_1 = 0,
chest_2 = 0,
chest_3 = 0,
bodyb_1 = -1,
bodyb_2 = 0,
bodyb_3 = -1,
bodyb_4 = 0,
age_1 = 0,
age_2 = 0,
blemishes_1 = 0,
blemishes_2 = 0,
blush_1 = 0,
blush_2 = 0,
blush_3 = 0,
complexion_1 = 0,
complexion_2 = 0,
sun_1 = 0,
sun_2 = 0,
moles_1 = 0,
moles_2 = 0,
beard_1 = 11,
beard_2 = 10,
beard_3 = 0,
beard_4 = 0
},
["f"] = {
mom = 28,
dad = 6,
face_md_weight = 63,
skin_md_weight = 60,
nose_1 = -10,
nose_2 = 4,
nose_3 = 5,
nose_4 = 0,
nose_5 = 0,
nose_6 = 0,
cheeks_1 = 0,
cheeks_2 = 0,
cheeks_3 = 0,
lip_thickness = 0,
jaw_1 = 0,
jaw_2 = 0,
chin_1 = -10,
chin_2 = 10,
chin_13 = -10,
chin_4 = 0,
neck_thickness = -5,
hair_1 = 43,
hair_2 = 0,
hair_color_1 = 29,
hair_color_2 = 35,
tshirt_1 = 111,
tshirt_2 = 5,
torso_1 = 25,
torso_2 = 2,
decals_1 = 0,
decals_2 = 0,
arms = 3,
arms_2 = 0,
pants_1 = 12,
pants_2 = 2,
shoes_1 = 20,
shoes_2 = 10,
mask_1 = 0,
mask_2 = 0,
bproof_1 = 0,
bproof_2 = 0,
chain_1 = 85,
chain_2 = 0,
helmet_1 = -1,
helmet_2 = 0,
glasses_1 = 33,
glasses_2 = 12,
watches_1 = -1,
watches_2 = 0,
bracelets_1 = -1,
bracelets_2 = 0,
bags_1 = 0,
bags_2 = 0,
eye_color = 8,
eye_squint = -6,
eyebrows_2 = 7,
eyebrows_1 = 32,
eyebrows_3 = 52,
eyebrows_4 = 9,
eyebrows_5 = -5,
eyebrows_6 = -8,
makeup_1 = 0,
makeup_2 = 0,
makeup_3 = 0,
makeup_4 = 0,
lipstick_1 = 0,
lipstick_2 = 0,
lipstick_3 = 0,
lipstick_4 = 0,
ears_1 = -1,
ears_2 = 0,
chest_1 = 0,
chest_2 = 0,
chest_3 = 0,
bodyb_1 = -1,
bodyb_2 = 0,
bodyb_3 = -1,
bodyb_4 = 0,
age_1 = 0,
age_2 = 0,
blemishes_1 = 0,
blemishes_2 = 0,
blush_1 = 0,
blush_2 = 0,
blush_3 = 0,
complexion_1 = 0,
complexion_2 = 0,
sun_1 = 0,
sun_2 = 0,
moles_1 = 12,
moles_2 = 8,
beard_1 = 0,
beard_2 = 0,
beard_3 = 0,
beard_4 = 0
}
}
Other Resources:
Code is accessible | Partially |
Subscription-based | No |
Lines (approximately) | ~1000 |
Requirements | QB, ESX, Custom Framework |
Support | Yes |