Wert Multicharacter System

You can access the setup information you need about this product

INSTALLATION

1 - Upload the script folder to the location of your resources

2 - Check config and editable file settings. Don’t forget to configure the core settings (like the framework) through the config file to match your setup.

3 - Make sure that the ox_lib resource is installed and running. (https://github.com/overextended/ox_lib)

4 - You are ready. Restart ur server and use it. For more options, don’t forget to check the configuration files.

5 - Installation successful, have a good funs

INFORMATION

The script comes with default settings. There are many settings in the configuration file, and you can customize all of them to your personal preferences. Below are the configuration files, feel free to check them out.

OPEN FILES

config.lua

Config = {}

Config.Framework = 'qbox' -- 'qb', 'esx', 'qbox'

Config.CameraDuration = 2000
Config.HiddenCoords = vector4(-2173.76, 5203.01, 17.42, 18.64)
Config.ClothingSystem = 'illenium-appearance' -- 'IzzyAppearance' | 'qb-cloting' | 'illenium-appearance' | 'skinchanger'
Config.DefaultNationality = "United States"
Config.UseSpawnSelector = true -- # Default

Config.DefaultSpawn = vector3(-1035.71, -2731.87, 12.86)
Config.NewSpawnPoint = vector4(4474.09, -4476.97, 4.0, 201.98)

Config.CreateCharacterPosition = vector4(-1042.180176, -2745.059326, 21.343628, 334.488190)

Config.LoadQBHouses = false
Config.UseQBApartments = false
Config.UseQBXProperties = false


Config.LoginSystemCinematic = {
    vector4(-2169.78, 5197.44, 16.88, 194.08),
    vector4(-2168.43, 5192.29, 16.5, 192.35),
    vector4(-2167.55, 5186.87, 15.88, 210.05),
    vector4(-2166.75, 5185.53, 15.7, 251.47)
}

Config.SkipSelection = false
Config.IsInterior = false

Config.DefaultCharacters = {
    male = `mp_m_freemode_01`,
    female = `mp_f_freemode_01`,
}

Config.Logout = {
    active = true,
    -- Command settings
    name = 'logout',
    description = 'Log out a player (Only Admins)',
    group = 'admin', -- Min permission name
    -- Arg
    paramID = 'playerID',
    paramDesc = 'Player ID',
}

Config.SpawnCamAnimation = {
    distance = 1.0, -- geri gitme mesafesi (metre)
    height = 0.1,   -- yukarı çıkma miktarı
    duration = 2000 -- kaç ms'de tamamlanacak
}

Config.Characters = {
    [1] = {
        slotLocked = false, -- # For the default character slot is locked ?
        pedPosition = vector4(-2165.85, 5185.25, 15.5, 80.77),
        camPosition = vector4(-2166.75, 5185.53, 15.7, 251.47),
        defaultGender = 'male',
        animation = {
            dict = "timetable@maid@couch@",
            clip = "base",
            flag = 1,
            scenario = nil, -- If u want scenario select this
        },
        spawnAnimation = { -- When click spwan button (If u dont want set nil)
            dict = nil,
            clip = nil,
            flag = nil,
            scenario = "WORLD_HUMAN_DRUG_DEALER", -- If u want scenario select this
            prop = nil, -- If u want set prop like my other example
            waitTime = 3000,
        },
        cameras = {
            ['2'] = {  -- 1 Character to 2 Character Camera way
                vector4(-2166.75, 5185.53, 15.7, 251.47),
                vector4(-2167.27, 5183.79, 15.65, 140.26)
            },
            ['3'] = {  -- 1 Character to 3 Character Camera way
                vector4(-2166.75, 5185.53, 15.7, 251.47),
                vector4(-2168.81, 5185.25, 15.94, 149.18)
            },
            ['4'] = { -- 1 Character to 4 Character Camera way
                vector4(-2166.75, 5185.53, 15.7, 251.47),
                vector4(-2170.84, 5188.22, 16.33, 103.48),
            },
            ['5'] = { -- 1 Character to 5 Character Camera way
                vector4(-2166.75, 5185.53, 15.7, 251.47),
                vector4(-2164.44, 5189.29, 15.73, 313.52),
            },
            ['6'] = { -- 1 Character to 6 Character Camera way
                vector4(-2166.75, 5185.53, 15.7, 251.47),
                vector4(-2165.92, 5193.55, 16.42, 12.5),
            },
            
        }
    },
    [2] = {
        slotLocked = false, -- # For the default character slot is locked ?
        pedPosition = vector4(-2168.25, 5182.7, 15.69, 337.22),
        camPosition = vector4(-2167.27, 5183.79, 15.65, 140.26),
        defaultGender = 'male',
        animation = {
            dict = "timetable@ron@ig_3_couch",
            clip = "base",
            flag = 1,
            scenario = nil, -- If u want scenario select this
        },
        spawnAnimation = { -- When click spwan button (If u dont want set nil)
            dict = nil,
            clip = nil,
            flag = nil,
            scenario = "WORLD_HUMAN_DRUG_DEALER", -- If u want scenario select this
            prop = nil, -- If u want set prop like my other example
            waitTime = 3000,
        },
        cameras = {
            ['1'] = { -- 2 Character to 1 Character
                vector4(-2167.27, 5183.79, 15.65, 140.26),
                vector4(-2166.75, 5185.53, 15.7, 251.47),
            },
            ['3'] = { -- 2 Character to 3 Character
                vector4(-2167.27, 5183.79, 15.65, 140.26),
                vector4(-2168.81, 5185.25, 15.94, 149.18)
            },
            ['4'] = { -- 2 Character to 4 Character
                vector4(-2167.27, 5183.79, 15.65, 140.26),
                vector4(-2170.84, 5188.22, 16.33, 103.48),
            },
            ['5'] = { -- 2 Character to 5 Character
                vector4(-2167.27, 5183.79, 15.65, 140.26),
                vector4(-2164.44, 5189.29, 15.73, 313.52),
            },
            ['6'] = { -- 2 Character to 6 Character
                vector4(-2167.27, 5183.79, 15.65, 140.26),
                vector4(-2165.92, 5193.55, 16.42, 12.5),
            },
        },
    },
    [3] = {
        slotLocked = false, -- # For the default character slot is locked ?
        pedPosition = vector4(-2169.07, 5183.96, 15.88, 295.52),
        camPosition = vector4(-2168.81, 5185.25, 15.94, 149.18),
        defaultGender = 'male',
        animation = {
            dict = "timetable@ron@ig_5_p3",
            clip = "ig_5_p3_base",
            flag = 1,
            scenario = nil, -- If u want scenario select this
        },
        spawnAnimation = { -- When click spwan button (If u dont want set nil)
            dict = nil,
            clip = nil,
            flag = nil,
            scenario = "WORLD_HUMAN_DRUG_DEALER", -- If u want scenario select this
            prop = nil, -- If u want set prop like my other example
            waitTime = 3000,
        },
        cameras = {
            ['1'] = {
                vector4(-2168.81, 5185.25, 15.94, 149.18),
                vector4(-2166.75, 5185.53, 15.7, 251.47),
            },
            ['2'] = {
                vector4(-2168.81, 5185.25, 15.94, 149.18),
                vector4(-2167.27, 5183.79, 15.65, 140.26),
            },
            ['4'] = {
                vector4(-2168.81, 5185.25, 15.94, 149.18),
                vector4(-2170.84, 5188.22, 16.33, 103.48),
            },
            ['5'] = {
                vector4(-2168.81, 5185.25, 15.94, 149.18),
                vector4(-2164.44, 5189.29, 15.73, 313.52),
            },
            ['6'] = {
                vector4(-2168.81, 5185.25, 15.94, 149.18),
                vector4(-2165.92, 5193.55, 16.42, 12.5),
            },
        }
    },
    [4] = {
        slotLocked = false, -- # For the default character slot is locked ?
        pedPosition = vector4(-2172.27, 5187.92, 16.47, 280.84),
        camPosition = vector4(-2170.84, 5188.22, 16.33, 103.48),
        defaultGender = 'male',
        animation = {
            dict = "amb@world_human_leaning@female@wall@back@holding_elbow@idle_a",
            clip = "idle_a",
            flag = 1,
            scenario = nil, -- If u want scenario select this
        },
        spawnAnimation = { -- When click spwan button (If u dont want set nil)
            dict = nil,
            clip = nil,
            flag = nil,
            scenario = "WORLD_HUMAN_DRUG_DEALER", -- If u want scenario select this
            prop = nil, -- If u want set prop like my other example
            waitTime = 3000,
        },
        cameras = {
            ['1'] = {
                vector4(-2170.84, 5188.22, 16.33, 103.48),
                vector4(-2166.75, 5185.53, 15.7, 251.47),
            },
            ['2'] = {
                vector4(-2170.84, 5188.22, 16.33, 103.48),
                vector4(-2167.27, 5183.79, 15.65, 140.26),
            },
            ['3'] = {
                vector4(-2170.84, 5188.22, 16.33, 103.48),
                vector4(-2168.81, 5185.25, 15.94, 149.18),
            },
            ['5'] = {
                vector4(-2170.84, 5188.22, 16.33, 103.48),
                vector4(-2164.44, 5189.29, 15.73, 313.52),
            },
            ['6'] = {
                vector4(-2170.84, 5188.22, 16.33, 103.48),
                vector4(-2165.92, 5193.55, 16.42, 12.5),
            },
        },
    },
    [5] = {
        slotLocked = true, -- # For the default character slot is locked ?
        pedPosition = vector4(-2163.63, 5190.09, 15.7, 126.97),
        camPosition = vector4(-2164.44, 5189.29, 15.73, 313.52),
        defaultGender = 'male',
        animation = {
            dict = "timetable@jimmy@mics3_ig_15@",
            clip = "mics3_15_base_tracy",
            flag = 1,
            scenario = nil, -- If u want scenario select this
            prop = {
                model = `prop_drink_whisky`,
                bone = 28422,
                pos = {0.01, -0.01, -0.06},
                rot = {0.0, 0.0, 0.0},
            },
        },
        spawnAnimation = { -- When click spwan button (If u dont want set nil)
            dict = nil,
            clip = nil,
            flag = nil,
            scenario = "WORLD_HUMAN_DRUG_DEALER", -- If u want scenario select this
            prop = nil, -- If u want set prop like my other example
            waitTime = 3000,
        },
        cameras = {
            ['1'] = {
                vector4(-2164.44, 5189.29, 15.73, 313.52),
                vector4(-2166.75, 5185.53, 15.7, 251.47),
            },
            ['2'] = {
                vector4(-2164.44, 5189.29, 15.73, 313.52),
                vector4(-2167.27, 5183.79, 15.65, 140.26),
            },
            ['3'] = {
                vector4(-2164.44, 5189.29, 15.73, 313.52),
                vector4(-2168.81, 5185.25, 15.94, 149.18),
            },
            ['4'] = {
                vector4(-2164.44, 5189.29, 15.73, 313.52),
                vector4(-2170.84, 5188.22, 16.33, 103.48),
            },
            ['6'] = {
                vector4(-2164.44, 5189.29, 15.73, 313.52),
                vector4(-2165.92, 5193.55, 16.42, 12.5),
            },
        },
    },
    [6] = {
        slotLocked = true, -- # For the default character slot is locked ?
        pedPosition = vector4(-2166.14, 5194.47, 16.52, 192.08),
        camPosition = vector4(-2165.92, 5193.55, 16.42, 12.5),
        defaultGender = 'male',
        animation = {
            dict = "amb@world_human_leaning@male@wall@back@foot_up@idle_a",
            clip = "idle_a",
            flag = 1,
            scenario = nil, -- If u want scenario select this
        },
        spawnAnimation = { -- When click spwan button (If u dont want set nil)
            dict = nil,
            clip = nil,
            flag = nil,
            scenario = "WORLD_HUMAN_DRUG_DEALER", -- If u want scenario select this
            prop = nil, -- If u want set prop like my other example
            waitTime = 3000,
        },
        cameras = {
            ['1'] = {
                vector4(-2165.92, 5193.55, 16.42, 12.5),
                vector4(-2166.75, 5185.53, 15.7, 251.47),
            },
            ['2'] = {
                vector4(-2165.92, 5193.55, 16.42, 12.5),
                vector4(-2167.27, 5183.79, 15.65, 140.26),
            },
            ['3'] = {
                vector4(-2165.92, 5193.55, 16.42, 12.5),
                vector4(-2168.81, 5185.25, 15.94, 149.18),
            },
            ['4'] = {
                vector4(-2165.92, 5193.55, 16.42, 12.5),
                vector4(-2170.84, 5188.22, 16.33, 103.48),
            },
            ['5'] = {
                vector4(-2165.92, 5193.55, 16.42, 12.5),
                vector4(-2164.44, 5189.29, 15.73, 313.52),
            },
        },
    },
}

Config.CreatePedOffsetminus = 1.0


-- # Spawn button

Config.AfterClickSpawnButtonWaitTime = 1800 -- 1 Second

-- # Spawn points

-- # Plane And New Spawn UI Settings

Config.UsePlane = false -- # Enable : true | Disable : false

Config.CreateCharacterPlaneIndex = 1 -- # For example this index like order so when player create character player go airport with plane.

Config.UseSpawnCameraEffect = true -- # The camera effect from top to bottom

Config.LastLocationButton = true

Config.newSpawnAreas = {
    {
        label = 'Los Santos International Airport (LSIA)',
        spawnPoint = vector4(-1035.82, -2848.968, 26.404, 62.3), -- # After plane player spawn position
        icon = 'fa-solid fa-map-location-dot', -- # In select ui icon | https://fontawesome.com/icons
        planeModel = `miljet`, -- # Plane model
        planeDriverModel = `csb_reporter`, -- Plane driver model
        planeStartLocation = vector4(-464.19, -3454.57, 143.44, 61.38), -- # Plane spawn,
        planeEndLocation = vector4(-870.86, -3216.99, 13.94, 61.38), -- # Until this position, the plane will be airborne.
        planeLandStartLocation = vector2(-964.98, -3106.51), -- # The plane will be on the ground in this position.
        planeTaxiEndLocation = vector4(-1049.77, -3030.56, 13.94, 29.04), -- # It will move on the ground from the `planeLandStartLocation` to this location.
        finishLocation = vector4(-1138.08, -2967.45, 13.94, 60.4), -- # "It will start from the planeTaxiEndLocation and come to this location. Once it arrives, a black screen will appear and the player will exit the plane, marking the end of the plane phase and the transition into gameplay.
    },
    {
        label = 'Cayo Perico',
        spawnPoint = vector4(4474.09, -4476.97, 4.0, 201.98), -- # After plane player spawn position
        icon = 'fa-solid fa-map-location-dot', -- # In select ui icon | https://fontawesome.com/icons
        planeModel = `miljet`, -- # Plane model
        planeDriverModel = `csb_reporter`, -- Plane driver model
        planeStartLocation = vector4(3140.83, -4975.77, 133.67, 290.99), -- # Plane spawn,
        planeEndLocation = vector4(3986.2, -4677.65, 4.18, 290.99), -- # Until this position, the plane will be airborne.
        planeLandStartLocation = vector2(3991.52, -4678.12), -- # The plane will be on the ground in this position.
        planeTaxiEndLocation = vector4(4240.50, -4585.25, 4.18, 287.98), -- # It will move on the ground from the `planeLandStartLocation` to this location.
        finishLocation = vector4(4457.52, -4510.99, 4.18, 290.27), -- # "It will start from the planeTaxiEndLocation and come to this location. Once it arrives, a black screen will appear and the player will exit the plane, marking the end of the plane phase and the transition into gameplay.
    },
    {
        label = 'Legion Square',
        spawnPoint = vector4(162.34, -990.29, 30.09, 164.5), -- # After plane player spawn position
        icon = 'fa-solid fa-map-location-dot', -- # In select ui icon | https://fontawesome.com/icons
        planeModel = `miljet`, -- # Plane model
        planeDriverModel = `csb_reporter`, -- Plane driver model
        planeStartLocation = vector4(-464.19, -3454.57, 143.44, 61.38), -- # Plane spawn,
        planeEndLocation = vector4(-870.86, -3216.99, 13.94, 61.38), -- # Until this position, the plane will be airborne.
        planeLandStartLocation = vector2(-964.98, -3106.51), -- # The plane will be on the ground in this position.
        planeTaxiEndLocation = vector4(-1049.77, -3030.56, 13.94, 29.04), -- # It will move on the ground from the `planeLandStartLocation` to this location.
        finishLocation = vector4(-1138.08, -2967.45, 13.94, 60.4), -- # "It will start from the planeTaxiEndLocation and come to this location. Once it arrives, a black screen will appear and the player will exit the plane, marking the end of the plane phase and the transition into gameplay.
    },
    {
        label = 'Sandy Airport',
        spawnPoint = vector4(1716.606, 3272.609, 41.151, 173.434), -- # After plane player spawn position
        icon = 'fa-solid fa-map-location-dot', -- # In select ui icon | https://fontawesome.com/icons
        planeModel = `miljet`, -- # Plane model
        planeDriverModel = `csb_reporter`, -- Plane driver model
        planeStartLocation = vector4(794.68, 3009.0, 171.21, 283.99), -- # Plane spawn,
        planeEndLocation = vector4(1174.4, 3107.88, 40.41, 283.99), -- # Until this position, the plane will be airborne.
        planeLandStartLocation = vector2(1216.48, 3119.2), -- # The plane will be on the ground in this position.
        planeTaxiEndLocation = vector4(1503.85, 3196.58, 40.41, 283.99), -- # It will move on the ground from the `planeLandStartLocation` to this location.
        finishLocation = vector4(1629.85, 3230.5, 40.41, 283.99), -- # "It will start from the planeTaxiEndLocation and come to this location. Once it arrives, a black screen will appear and the player will exit the plane, marking the end of the plane phase and the transition into gameplay.
    },
}

Config.StarterItems = {
    ['phone'] = { amount = 1, item = 'phone' },
    ['id_card'] = { amount = 1, item = 'id_card' },
    ['driver_license'] = { amount = 1, item = 'driver_license' },
}


-- # Default skin load for ESX
Config.Default = {
    ["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,
    },
}
lang.lua

editable_client.lua

editable_server.lua

bridge/client.lua

bridge/server.lua

Last updated