I welcome you CFX community!
Today I present to you the Character creator system! This system provides accessibility for frameworks (ESX, Standalone), huge editing capabilities using a configuration file, and a unique design. Iβm sure you and your players will love it!
This system includes a nice user interface, a convenient configuration file, the ability to configure the entire resource and clear functionality.
Demonstration of the system:
Example of a configuration file:
Configuration files
--/*
-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- βββββββ¦ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- βββββββ¦ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ*/
Config = {}
--If ESX = false and QBCore = false, then Standalone will turn on
--Are you using ESX?
Config.UseESX = true
--Enable this if ESX throws an error: Used the getSharedObject Event, this event no longer exists!
Config.UseESX_lib = false
--Are you using Standalone?
Config.UseStandalone = false
Config.useCommandNameOpenMenu = true
Config.commandNameOpenMenu = 'pedc'
--The ability to embed your own exports to hide the hud
Config.useHudOffOnEvents = true
function hudOnEvent()
DisplayRadar(true)
exports.Burevestnik_hud:Burevestnik_hud_on() -- Uncomment if you use Burevestnik_HUD system (https://burevestnik.tebex.io/package/5371893)
end
function hudOffEvent()
DisplayRadar(false)
exports.Burevestnik_hud:Burevestnik_hud_off() -- Uncomment if you use Burevestnik_HUD system (https://burevestnik.tebex.io/package/5371893)
end
--Do you want to use A pose ?
Config.aPose = true
--The fov value for the camera
Config.cameraFov = 50.0
--Coordinates of the character creation location
Config.creationPlace = vector3(-277.6771, -960.2383, 85.3144)
Config.creationPlaceHeading = 163.9785
--Coordinates of the spawn location of the character after creation
Config.afterCreationPlace = vector3(433.2413, -628.9746, 27.7173)
Config.afterCreationPlaceHeading = 90.0
--Save player data ?
Config.savePlayerData = true
--Insert your own events getting and saving a character
function gettingAndSavingCharacter(playerData, playerAppearance, playerClothes)
if Config.UseESX then
TriggerEvent('skinchanger:loadClothes', playerAppearance, playerClothes)
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerServerEvent('esx_skin:save', skin)
end)
if playerData.gender == 0 then
gender = "m"
else
gender = "f"
end
if Config.savePlayerData then
TriggerServerEvent('Burevestnik_charactercreator:savePlayerIdentity', gender, playerData)
end
end
end
function savePlayerIdentity(identifier, gender, playerData)
if Config.UseESX then
MySQL.update("UPDATE `users` SET `firstname` = '"..playerData.name.."', `lastname` = '"..playerData.surname.."', `dateofbirth` = '"..formatDate(playerData.dob).."', `sex` = '"..gender.."', `height` = '"..playerData.height.."' WHERE identifier = '"..identifier.."'")
end
end
function formatDate(input)
local year, month, day = input:match("(%d+)-(%d+)-(%d+)")
return string.format("%s/%s/%s", month, day, year)
end
function notificationInteraction(str)
SetTextComponentFormat("STRING")
AddTextComponentString(str)
DisplayHelpTextFromStringLabel(0, 0, false, -1)
end
--Translation config
Config.Translation = {
['translationText1'] = 'Character creation',
['translationText2'] = 'Come up with a name',
['translationText3'] = 'Come up with a surname',
['translationText4'] = 'Date of birth',
['translationText5'] = 'Height: ',
['translationText6'] = ' cm',
['translationText7'] = 'Less',
['translationText8'] = 'Greater',
['translationText9'] = 'Character gender',
['translationText10'] = 'Parents (mother and father)',
['translationText11'] = 'Resemblance to parents',
['translationText12'] = 'Dad',
['translationText13'] = 'Mom',
['translationText14'] = 'Hair #',
['translationText15'] = 'Hair color #',
['translationText16'] = 'Beard #',
['translationText17'] = 'Beard color #',
['translationText18'] = 'Eyebrows #',
['translationText19'] = 'Eyebrows color #',
['translationText20'] = 'Eye color #',
['translationText21'] = 'Blemishes #',
['translationText22'] = 'Skin blemishes #',
['translationText23'] = 'Age #',
['translationText24'] = 'Complexion #',
['translationText25'] = 'Skin moles #',
['translationText26'] = 'Skin sun #',
['translationText27'] = 'Makeup #',
['translationText28'] = 'Makeup color #',
['translationText29'] = 'Blush #',
['translationText30'] = 'Blush color #',
['translationText31'] = 'Lipstick #',
['translationText32'] = 'Lipstick color #',
['translationText33'] = 'Chest #',
['translationText34'] = 'Chest color #',
['translationText35'] = 'Headgear #',
['translationText36'] = 'Headgear color #',
['translationText37'] = 'Glasses #',
['translationText38'] = 'Glasses color #',
['translationText39'] = 'Jacket #',
['translationText40'] = 'Jacket color #',
['translationText41'] = 'T-shirt #',
['translationText42'] = 'T-shirt color #',
['translationText43'] = 'Pants #',
['translationText44'] = 'Pants color #',
['translationText45'] = 'Shoes #',
['translationText46'] = 'Shoes color #',
['translationText47'] = 'Hands #',
['translationText48'] = 'Create character',
['translationText49'] = 'RMB',
['translationText50'] = 'Hold key to look around',
['translationText51'] = 'ERROR',
['translationText52'] = 'Male',
['translationText53'] = 'Female',
['translationText54'] = 'Nose Width',
['translationText55'] = 'Nose Height',
['translationText56'] = 'Nose Length',
['translationText57'] = 'Nose Bridge',
['translationText58'] = 'Nose Tip',
['translationText59'] = 'Nose Bridge Bump',
['translationText60'] = 'Eyebrow Height',
['translationText61'] = 'Eyebrow Depth',
['translationText62'] = 'Cheekbone Height',
['translationText63'] = 'Cheekbone Width',
['translationText64'] = 'Cheek Depth',
['translationText65'] = 'Eye Size',
['translationText66'] = 'Lip Thickness',
['translationText67'] = 'Jaw Width',
['translationText68'] = 'Jaw Height',
['translationText69'] = 'Chin Length',
['translationText70'] = 'Chin Height',
['translationText71'] = 'Chin Width',
['translationText72'] = 'Chin Shape',
['translationText73'] = 'Neck Length',
['translationText74'] = 'Benjamin',
['translationText75'] = 'Daniel',
['translationText76'] = 'Joshua',
['translationText77'] = 'Noah',
['translationText78'] = 'Andrew',
['translationText79'] = 'Juan',
['translationText80'] = 'Alex',
['translationText81'] = 'Isaac',
['translationText82'] = 'Ivan',
['translationText83'] = 'Ethan',
['translationText84'] = 'Vincent',
['translationText85'] = 'Angel',
['translationText86'] = 'Diego',
['translationText87'] = 'Adrian',
['translationText88'] = 'Gabriel',
['translationText89'] = 'Michael',
['translationText90'] = 'Santiago',
['translationText91'] = 'Kevin',
['translationText92'] = 'Lewis',
['translationText93'] = 'Samuel',
['translationText94'] = 'Anthony',
['translationText95'] = 'Claude',
['translationText96'] = 'Nico',
['translationText97'] = 'John',
['translationText98'] = 'Hannah',
['translationText99'] = 'Aubrey',
['translationText100'] = 'Jasmine',
['translationText101'] = 'Giselle',
['translationText102'] = 'Emilia',
['translationText103'] = 'Isabella',
['translationText104'] = 'Zoo',
['translationText105'] = 'Ava',
['translationText106'] = 'Camellia',
['translationText107'] = 'Violet',
['translationText108'] = 'Sophie',
['translationText109'] = 'Evelyn',
['translationText110'] = 'Nicole',
['translationText111'] = 'Ashley',
['translationText112'] = 'Gracie',
['translationText113'] = 'Brianna',
['translationText114'] = 'Natalie',
['translationText115'] = 'Olivia',
['translationText116'] = 'Elizabeth',
['translationText117'] = 'Charles',
['translationText118'] = 'Emma',
['translationText119'] = 'Misty',
['translationText120'] = 'There should be only latin letters',
['translationText121'] = 'Name is too short!',
['translationText122'] = 'Surname is too short!',
['translationText123'] = 'Please provide the date!',
['translationText124'] = 'Too tall!',
['translationText125'] = 'Body blemishes #',
['translationText126'] = 'Skin contrast',
}
Optimization (The script consumes):
0.00 ms in a quiet state.
0.01 ms in an active state.
What does this system include:
- This system works on all versions of ESX as well as STANDALONE!
- Beautiful user interface!
- Full translation capability!
- Incredibly customizable configuration file!
- You can completely change the user interface at will!
- Exports are available!
- Of course support, Iβm ready to help you!
TOP SALES
You may also be interested in my other resources:
Code accessible | Open source: Yes \ Escrow: No - Available only: config, ui |
Subscription based | No |
Lines (approximately) | ~2500 |
Requirements | Standalone: No \ ESX: esx_identity (version 1.10+), skinchanger (version 1.10+) |
Support | Yes |