Page cover image

Accessible files

Here you can find all the files which can be edite to make the asset compatible with your server.

config.lua
Config = {
    Core = 'ESX',  -- 'ESX' / 'QBCORE' | Other core setting on the 'core' folder.
    TextUI = 'ox_lib', -- false / 'ox_lib' / 'okokTextUI' / 'ESXTextUI' / 'QBDrawText' // Custom can be add in the cl_utils.lua!!!
    Target = 'oxtarget', -- 'oxtarget' / 'qb-target' // if the TextUI is set to false target will step its place 
    BrutalNotify = true, -- Buy here: (4€+VAT) https://store.brutalscripts.com | Or set up your own notify >> cl_utils.lua
    SteamName = true, -- true = Steam name | false = character name
    
    RespawnTime = 5, -- The respawn time after death in sec.
    DamageToDeath = 5, -- That's how many shots a player dies after
    HeadDoubleDamage = true, -- If it's true, the head damage will be double.
    Uniform = true, -- true / false | This allows the Team Uniforms.
    DimensionSystem = true, -- true / false | If there is any problem with your Anticheat and between that, turn it off.
    MaxTeamMembersCount = 12, -- Between 1-12 | MIN 1 | MAX 12
    MaxRoundLength = 30, -- A round's maximum length in minutes. (If the match played to points.)
    FlagObject = 'prop_golfflag',

    Marker = {use = true, marker = 20, bobUpAndDown = true, rotate = false, size = {0.3, 0.2, 0.2}, rgb = {15, 100, 210}},
    FlagMarker = {marker = 1, bobUpAndDown = false, rotate = false, size = {2.0, 2.0, 1.5}},
    MenuBlip = {use = true, label = 'Paintball', color = 1, sprite = 267, size = 0.7},

    MenuCoords = {
        vector3(238.4583, -887.9293, 30.4921),

        -- more can be added
    },

    Arenas = {
        {
            Name = "HYPER FIELD",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/3M9TymV/01.png",

            HealCoords = {
                vector3(-1937.6643, 3331.5376, 32.9602),
                vector3(-1916.0122, 3342.5166, 32.9602),
                vector3(-1966.4073, 3305.2839, 32.9602),
            },

            TeamPlay = {
                Team1 = vector4(-1950.2305, 3284.9080, 33.4187, 328.0205),
                Team2 = vector4(-1899.2274, 3313.1396, 33.4187, 62.7618),
                Team3 = vector4(-1943.8859, 3352.9932, 33.4187, 147.6997),
                Team4 = vector4(-1967.2611, 3337.5913, 33.4187, 241.8743),
            },

            ShowDown = {
                vector4(-1884.1213, 3325.1882, 32.9602, 65.1599),
                vector4(-1888.2710, 3315.6182, 32.9492, 50.5744),
                vector4(-1892.9078, 3302.6284, 32.9398, 59.7695),
                vector4(-1907.1646, 3296.0615, 32.9986, 49.6851),
                vector4(-1915.9299, 3289.3711, 33.1459, 51.1957),
                vector4(-1914.1976, 3280.3914, 32.9986, 27.3434),
                vector4(-1918.1141, 3273.5068, 32.9929, 53.1741),
                vector4(-1921.1222, 3264.0659, 32.9571, 12.2309),
                vector4(-1932.7028, 3270.3279, 32.9553, 327.5862),
                vector4(-1943.7046, 3277.1951, 32.9603, 343.2070),
                vector4(-1957.0201, 3286.4663, 32.9603, 331.0837),
                vector4(-1999.3130, 3321.8167, 32.9603, 237.6918),
                vector4(-1988.7417, 3333.6873, 32.9603, 242.3375),
                vector4(-1968.8057, 3357.0283, 32.9603, 242.7999),
                vector4(-1954.5925, 3365.5964, 32.9603, 239.0968),
                vector4(-1937.6473, 3352.0461, 32.9360, 154.2177),
                vector4(-1911.8851, 3340.8264, 32.9603, 147.6322),
                vector4(-1900.4011, 3334.1523, 32.9603, 157.9944),
                vector4(-1923.9369, 3333.2451, 32.9603, 92.4063),
                vector4(-1960.6140, 3301.2490, 32.9602, 328.5314),
                vector4(-1954.8645, 3319.6030, 32.9603, 247.0002),
                vector4(-1963.3573, 3343.6025, 32.9602, 242.0592),
                vector4(-1955.1490, 3330.2654, 32.9603, 244.1886),
                vector4(-1952.9161, 3301.3589, 32.9603, 58.5600),
                vector4(-1945.1453, 3314.5933, 32.9603, 57.4021),
            },

            Flags = {
                vector3(-1938.4734, 3326.2180, 32.9603),
                vector3(-1940.7505, 3321.8840, 32.9603),
            },
        },

        {
            Name = "BUNKER HILL",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/1qVFcbs/02.png",

            HealCoords = {
                vector3(-1613.0155, 3032.2097, 33.1857),
                vector3(-1633.5223, 3118.4626, 31.3189),
                vector3(-1664.2701, 3078.6838, 31.2327),
            },

            TeamPlay = {
                Team1 = vector4(-1651.9469, 3162.5999, 32.8962, 183.5998),
                Team2 = vector4(-1654.2478, 3081.2126, 31.5756, 206.3953),
                Team3 = vector4(-1631.6830, 3016.5845, 32.0513, 114.1042),
                Team4 = vector4(-1605.9067, 3093.2905, 32.6096, 180.1197),
            },

            ShowDown = {
                vector4(-1678.6210, 3161.8699, 32.0247, 238.2513),
                vector4(-1665.4482, 3165.3289, 31.9285, 182.8190),
                vector4(-1642.4548, 3151.4712, 31.6628, 189.5725),
                vector4(-1632.4175, 3152.1465, 31.3500, 181.3429),
                vector4(-1620.5396, 3149.3484, 30.8859, 152.5915),
                vector4(-1608.4150, 3132.5476, 31.0944, 111.6852),
                vector4(-1594.0516, 3109.1606, 31.4694, 84.5352),
                vector4(-1599.5038, 3101.8606, 32.5658, 94.3332),
                vector4(-1598.9768, 3076.8171, 32.5662, 92.4527),
                vector4(-1610.9583, 3055.3274, 32.5661, 91.1991),
                vector4(-1610.6440, 3043.1880, 32.3496, 92.5570),
                vector4(-1603.5466, 3025.5586, 33.1083, 86.7031),
                vector4(-1620.1486, 3011.0464, 32.3620, 19.2593),
                vector4(-1632.3889, 3016.4927, 32.0513, 117.8352),
                vector4(-1663.6155, 3003.8040, 32.8566, 28.2434),
                vector4(-1655.5546, 3045.6716, 31.8243, 209.5531),
                vector4(-1669.3031, 3056.1619, 31.8661, 30.1737),
                vector4(-1680.1028, 3079.7063, 31.4662, 327.1251),
                vector4(-1688.5461, 3111.4082, 32.7459, 280.7807),
                vector4(-1662.5808, 3123.1187, 31.7465, 2.1545),
                vector4(-1640.1917, 3080.4895, 31.7352, 20.1672),
                vector4(-1628.0463, 3109.7559, 32.0336, 2.6832),
                vector4(-1640.7930, 3100.7483, 31.7076, 86.9785),
                vector4(-1630.7452, 3066.3308, 31.2532, 154.7993),
                vector4(-1657.4462, 3089.5811, 31.5756, 319.0233),
            },

            Flags = {
                vector3(-1631.3657, 3079.3943, 31.8835),
                vector3(-1625.0848, 3081.4297, 32.0054),
            },
        },

        {
            Name = "TACTICAL MAPS",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/Ms6MSvx/03.png",

            HealCoords = {
                vector3(-2431.1946, 2996.2134, 33.1659),
                vector3(-2490.3096, 3014.7200, 32.8560),
                vector3(-2457.5552, 3023.6755, 32.8101),
            },

            TeamPlay = {
                Team1 = vector4(-2404.9126, 2989.9915, 33.0797, 60.3999),
                Team2 = vector4(-2503.5750, 3004.3823, 33.1912, 281.0765),
                Team3 = vector4(-2474.0291, 3015.9236, 32.9548, 284.4612),
                Team4 = vector4(-2442.0996, 2972.1008, 32.8103, 344.3476),
            },

            ShowDown = {
                vector4(-2414.8394, 2998.3311, 32.8182, 65.7498),
                vector4(-2409.4155, 2978.1184, 33.5638, 63.3936),
                vector4(-2426.0032, 2977.8606, 32.8104, 6.8308),
                vector4(-2502.5210, 2990.3391, 33.1383, 332.0608),
                vector4(-2508.5398, 3016.3193, 32.8698, 280.5274),
                vector4(-2512.7725, 3056.8071, 32.8408, 190.7367),
                vector4(-2492.6040, 3044.9851, 32.8264, 151.8167),
                vector4(-2480.6162, 3029.2427, 32.8240, 186.0532),
                vector4(-2474.6528, 3016.0947, 32.9548, 279.5088),
                vector4(-2449.2771, 3013.7664, 32.8101, 289.1833),
                vector4(-2468.7644, 3005.0239, 32.8101, 200.0464),
                vector4(-2502.7080, 3004.5942, 33.1911, 281.8078),
                vector4(-2494.2148, 3031.2683, 32.9549, 191.3979),
                vector4(-2463.1099, 2971.1406, 32.9602, 287.8708),
                vector4(-2473.6924, 2991.9292, 32.8287, 110.2971),
                vector4(-2493.9226, 2994.9641, 32.9584, 161.5144),
                vector4(-2467.1152, 2970.4810, 32.8265, 149.8346),
                vector4(-2461.8403, 2952.8291, 32.8197, 83.4046),
                vector4(-2485.9480, 2934.6816, 32.8113, 330.7859),
                vector4(-2494.0510, 2963.9243, 33.0548, 141.5986),
                vector4(-2446.1750, 2943.9968, 32.9601, 60.9362),
                vector4(-2438.6697, 2955.8083, 32.9602, 70.4253),
                vector4(-2483.2241, 3016.9548, 32.9549, 22.3204),
                vector4(-2471.2600, 2993.0259, 32.9601, 22.5591),
                vector4(-2464.9678, 2940.5806, 32.9602, 332.6445),
            },

            Flags = {
                vector3(-2448.5461, 3006.6650, 32.8766),
                vector3(-2446.9226, 3009.8689, 32.8763),
            },
        },

        {
            Name = "AIRBALL ARENA",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/K6yYBK0/08.png",

            HealCoords = {
                vector3(-2000.3210, 3210.0886, 33.2294),
                vector3(-1968.9521, 3192.1118, 32.8103),
                vector3(-2018.9290, 3176.4016, 32.8103),
            },

            TeamPlay = {
                Team1 = vector4(-1998.2405, 3156.5273, 32.9125, 153.5580),
                Team2 = vector4(-2028.5267, 3186.4697, 32.8504, 333.4400),
                Team3 = vector4(-1960.1665, 3209.3467, 32.8457, 66.1586),
                Team4 = vector4(-2008.6078, 3235.4075, 32.8990, 64.9034),
            },

            ShowDown = { 
                vector4(-2009.2174, 3235.7529, 32.8991, 64.4373),
                vector4(-2001.4449, 3228.7498, 32.8991, 157.2723),
                vector4(-1992.8474, 3230.0261, 32.8103, 152.8588),
                vector4(-1989.5112, 3222.5596, 33.1354, 150.9632),
                vector4(-1977.6780, 3217.1392, 32.8102, 241.7534),
                vector4(-1961.2374, 3210.1770, 32.8457, 62.3173),
                vector4(-1959.7535, 3198.0715, 32.8103, 153.2773),
                vector4(-1976.2052, 3195.3357, 32.8103, 152.0114),
                vector4(-1984.3480, 3205.3430, 32.8102, 153.3786),
                vector4(-2020.2820, 3219.3926, 32.9125, 156.3631),
                vector4(-2006.8461, 3217.0239, 32.8102, 153.0262),
                vector4(-2003.3020, 3200.2827, 32.8103, 149.8465),
                vector4(-2013.0515, 3202.3794, 32.8103, 148.3259),
                vector4(-2018.9280, 3197.6428, 32.8408, 243.0904),
                vector4(-2028.2719, 3199.7305, 32.8103, 61.8664),
                vector4(-2027.3416, 3188.0735, 32.8504, 334.0993),
                vector4(-2032.1835, 3179.9714, 32.8103, 246.5677),
                vector4(-2036.4734, 3174.0076, 32.8103, 259.7006),
                vector4(-2020.5702, 3166.0281, 32.8104, 306.5142),
                vector4(-2002.1274, 3178.4463, 32.8103, 241.7596),
                vector4(-1995.2731, 3165.0439, 32.8103, 330.2010),
                vector4(-1980.1096, 3165.0127, 32.8310, 153.0634),
                vector4(-1989.9648, 3155.2156, 32.9125, 336.8950),
                vector4(-1976.8442, 3181.8447, 32.8103, 36.4266),
                vector4(-1999.1160, 3195.2188, 32.8103, 152.7760),
            },

            Flags = {
                vector3(-1997.4543, 3180.1501, 32.8103),
                vector3(-2002.5436, 3182.9050, 32.8103),
            },
        },

        {
            Name = "SPEED DOME",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/y4gkPMR/05.png",

            HealCoords = {
                vector3(2702.8413, 1373.9594, 24.7546),
                vector3(2710.0835, 1343.6187, 24.5240),
                vector3(2737.7351, 1363.6938, 24.5240),
            },

            TeamPlay = {
                Team1 = vector4(2682.6218, 1381.3738, 24.5391, 274.7455),
                Team2 = vector4(2762.1970, 1393.2828, 24.5297, 94.1577),
                Team3 = vector4(2756.8499, 1339.3075, 24.5240, 44.5766),
                Team4 = vector4(2674.4910, 1344.8116, 24.5119, 4.4853),
            },

            ShowDown = { 
                vector4(2761.9595, 1392.8953, 24.5257, 143.9123),
                vector4(2749.9014, 1388.8496, 24.5122, 175.7757),
                vector4(2725.7708, 1392.3323, 24.5287, 179.0636),
                vector4(2698.2534, 1394.9591, 24.5820, 185.1926),
                vector4(2684.0027, 1381.4261, 24.5469, 0.4968),
                vector4(2687.8318, 1379.7540, 24.5501, 310.7930),
                vector4(2684.7671, 1371.9177, 24.5192, 272.7309),
                vector4(2683.5234, 1362.4108, 24.5191, 273.8249),
                vector4(2688.6711, 1347.5374, 24.6898, 177.3652),
                vector4(2685.4607, 1327.1954, 24.5156, 8.5426),
                vector4(2696.4790, 1327.7321, 24.5222, 310.2721),
                vector4(2703.4990, 1338.6573, 24.5240, 47.7572),
                vector4(2710.5635, 1335.3538, 24.7453, 236.1475),
                vector4(2708.5100, 1369.2521, 24.5240, 10.3223),
                vector4(2714.5808, 1367.0352, 24.5240, 304.3880),
                vector4(2723.6509, 1345.6470, 24.5240, 2.7477),
                vector4(2732.1331, 1328.2032, 24.9036, 4.8183),
                vector4(2741.6208, 1338.3585, 24.5240, 48.0226),
                vector4(2754.2268, 1328.2478, 24.5240, 357.6337),
                vector4(2764.8926, 1333.8369, 24.5240, 47.9678),
                vector4(2761.3816, 1356.3071, 24.5240, 270.9296),
                vector4(2753.3979, 1356.1598, 24.5240, 41.4729),
                vector4(2743.8381, 1373.9287, 24.5236, 91.2638),
                vector4(2744.0225, 1365.2471, 24.5240, 180.8902),
                vector4(2737.2576, 1381.7086, 24.5123, 175.0674),
            },

            Flags = {
                vector3(2723.1702, 1370.8788, 24.5240),
                vector3(2718.7026, 1371.3508, 24.5240),
            },
        },

        {
            Name = "HARBOUR",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/FWmMzDY/06.png",

            HealCoords = {
                vector3(485.7520, -3165.4365, 6.0696),
                vector3(473.6213, -3212.1582, 6.0696),
                vector3(481.8979, -3254.3301, 6.0693),
            },

            TeamPlay = {
                Team1 = vector4(466.3961, -3279.3127, 6.0693, 1.4079),
                Team2 = vector4(503.3133, -3280.9561, 6.0693, 47.7760),
                Team3 = vector4(506.2773, -3133.7307, 6.0698, 135.8254),
                Team4 = vector4(475.0042, -3138.5679, 6.0701, 224.7453),
            },

            ShowDown = { 
                vector4(461.7780, -3283.2886, 6.0693, 275.1151),
                vector4(461.3771, -3276.4270, 6.0693, 277.9943),
                vector4(463.1241, -3260.8596, 6.0693, 272.9741),
                vector4(464.5821, -3240.3923, 6.0693, 266.8580),
                vector4(463.6391, -3230.7383, 6.0696, 271.6648),
                vector4(465.2078, -3197.0647, 6.0696, 273.1210),
                vector4(467.2791, -3192.9468, 6.0696, 274.0950),
                vector4(469.4880, -3177.6873, 6.0696, 269.8790),
                vector4(461.2569, -3169.9275, 6.0696, 274.5943),
                vector4(460.6748, -3157.6846, 6.0701, 274.1190),
                vector4(460.7754, -3142.9431, 6.0701, 266.7363),
                vector4(460.9163, -3152.4797, 6.0701, 279.6418),
                vector4(466.5326, -3130.5647, 6.0701, 267.6927),
                vector4(479.2516, -3142.3816, 6.0701, 218.2841),
                vector4(486.3803, -3131.8652, 6.0701, 185.7901),
                vector4(503.0865, -3131.5034, 6.0698, 181.9073),
                vector4(505.2308, -3140.0076, 6.0698, 182.5093),
                vector4(494.4911, -3156.5771, 6.0696, 93.9670),
                vector4(505.9472, -3175.2666, 6.0693, 94.0160),
                vector4(504.0841, -3181.7422, 6.0693, 95.0289),
                vector4(503.8513, -3196.3806, 6.0693, 92.1119),
                vector4(507.3885, -3210.6736, 6.0693, 96.5846),
                vector4(504.5669, -3224.2600, 6.0693, 90.6565),
                vector4(496.1694, -3254.9319, 6.0693, 47.6165),
                vector4(496.0451, -3272.0542, 6.0693, 14.2717),
            },

            Flags = {
                vector3(489.2204, -3226.8108, 6.0696),
                vector3(484.5803, -3227.1975, 6.0696),
            },
        },

        {
            Name = "FARM",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/sHmZKkW/07.png",

            HealCoords = {
                vector3(2469.4126, 4739.0220, 34.3039),
                vector3(2454.0151, 4757.6157, 34.3042),
                vector3(2429.3555, 4778.1021, 34.4701),
            },

            TeamPlay = {
                Team1 = vector4(2401.0288, 4777.5166, 34.5270, 319.7074),
                Team2 = vector4(2431.0232, 4803.1353, 34.8763, 138.7482),
                Team3 = vector4(2510.5027, 4745.4673, 34.3039, 136.1286),
                Team4 = vector4(2462.8298, 4698.8652, 34.0656, 321.7169),
            },

            ShowDown = { 
                vector4(2388.2378, 4764.3999, 33.6280, 316.2909),
                vector4(2395.7205, 4755.8135, 33.5378, 323.8481),
                vector4(2413.5334, 4744.9932, 33.9687, 314.9981),
                vector4(2426.7227, 4725.5381, 33.6035, 299.0659),
                vector4(2444.1633, 4711.3662, 33.8262, 323.8875),
                vector4(2456.2395, 4701.0967, 33.9634, 327.2466),
                vector4(2473.2581, 4684.6235, 33.6818, 30.9511),
                vector4(2493.3794, 4700.7749, 33.7446, 47.8160),
                vector4(2530.2947, 4744.0742, 34.0204, 130.4039),
                vector4(2510.6968, 4758.2539, 34.3038, 140.6507),
                vector4(2481.4871, 4778.4326, 34.4680, 154.7914),
                vector4(2467.6643, 4787.1514, 34.4631, 121.1757),
                vector4(2458.2998, 4792.2861, 34.6306, 138.8466),
                vector4(2445.7356, 4804.2700, 34.6894, 132.6606),
                vector4(2438.4424, 4810.0161, 35.0486, 139.9411),
                vector4(2430.8062, 4817.3184, 35.4916, 131.1792),
                vector4(2446.7209, 4786.8501, 34.6482, 136.5386),
                vector4(2451.8523, 4779.0869, 34.5020, 133.2497),
                vector4(2487.7771, 4734.1914, 34.3038, 111.9566),
                vector4(2462.3506, 4755.7354, 34.3039, 102.0590),
                vector4(2449.6880, 4730.4722, 34.4698, 318.9149),
                vector4(2437.4683, 4755.5073, 34.3049, 224.5527),
                vector4(2436.2141, 4773.8892, 34.3759, 244.9174),
                vector4(2424.0625, 4773.4058, 34.6022, 180.4996),
                vector4(2418.4443, 4793.6636, 35.0185, 141.5232),
            },

            Flags = {
                vector3(2456.7021, 4745.5352, 34.3039),
                vector3(2461.9636, 4745.8340, 34.3039),
            },
        },

        {
            Name = "AIRPORT",
            WeaponType = "WEAPON_PAINTBALL",
            Img = "https://i.ibb.co/JQSJrv4/04.png",

            HealCoords = {
                vector3(-1229.5599, -2736.4900, 13.9536),
                vector3(-1268.3339, -2764.3613, 13.9450),
                vector3(-1271.8881, -2726.5613, 13.9449),
            },

            TeamPlay = {
                Team1 = vector4(-1197.8370, -2701.8914, 13.9543, 157.9267),
                Team2 = vector4(-1249.3562, -2799.0996, 13.9508, 63.4026),
                Team3 = vector4(-1304.6287, -2767.6013, 13.9449, 339.7408),
                Team4 = vector4(-1260.4485, -2700.3201, 13.9449, 154.7698),
            },

            ShowDown = {
                vector4(-1211.0109, -2706.1963, 14.1541, 151.1361),
                vector4(-1197.7576, -2701.6375, 13.9543, 150.4573),
                vector4(-1194.8293, -2715.5051, 13.9541, 154.7424),
                vector4(-1203.8036, -2736.4248, 13.9771, 64.7110),
                vector4(-1208.0175, -2747.6775, 13.9771, 330.0529),
                vector4(-1214.0125, -2748.4380, 13.9771, 150.5591),
                vector4(-1217.2122, -2761.2734, 13.9771, 65.7542),
                vector4(-1229.9061, -2772.2756, 13.9771, 66.0288),
                vector4(-1235.4092, -2779.8469, 13.9522, 90.2581),
                vector4(-1235.1168, -2794.7024, 13.9516, 150.2283),
                vector4(-1247.5944, -2810.8594, 13.9503, 54.0927),
                vector4(-1244.2344, -2798.8550, 13.9511, 56.5363),
                vector4(-1260.6700, -2789.2241, 13.9503, 50.8863),
                vector4(-1267.0165, -2789.4966, 13.9499, 315.0435),
                vector4(-1264.1742, -2783.3562, 13.9502, 58.6837),
                vector4(-1286.6938, -2774.3174, 13.9449, 330.5655),
                vector4(-1302.4072, -2769.8621, 13.9449, 331.2767),
                vector4(-1299.7152, -2779.1240, 13.9449, 240.6738),
                vector4(-1285.7446, -2757.4373, 13.9449, 275.7478),
                vector4(-1265.4165, -2755.7385, 13.9449, 336.1012),
                vector4(-1261.3849, -2743.5159, 13.9449, 241.6764),
                vector4(-1241.0179, -2715.5840, 13.9449, 152.9581),
                vector4(-1244.0662, -2702.5728, 13.9449, 64.6604),
                vector4(-1254.3372, -2707.9526, 13.9450, 155.7846),
                vector4(-1230.8087, -2725.8816, 13.9537, 169.8564),
            },

            Flags = {
                vector3(-1249.4553, -2747.3684, 13.9450),
                vector3(-1247.8864, -2752.4707, 13.9520),
            },
        },
    },
   
    -----------------------------------------------------------
    -----------------------| TRANSLATE |-----------------------
    -----------------------------------------------------------

    MoneyForm = '$', -- Money form

    Locales = {
        Male = 'Male',
        Female = 'Female',

        TeamNames = {'TEAM #1', 'TEAM #2', 'TEAM #3', 'TEAM #4'},
        NewRound = 'NEW ROUND',
        TeamPlay = 'ALL TEAMS AGAINST EACH OTHER',
        ShowDown = 'ALL AGAINST ALL',
        FlagWar = 'TAKE A FLAG TO YOUR BASE',
    },

    MenuOpen = {'[E] - Paintball Menu', 38, 'Paintball Menu', 'fa-solid fa-gun'}, -- Label, control
    
    -- Notify function EDITABLE >> cl_utils.lua
    Notify = { 
        [1] = {"Paintball", "You have already joined!", 5000, "error"},
        [2] = {"Paintball", "You have successfully joined!", 5000, "success"},
        [3] = {"Paintball", "The party is full!", 5000, "error"},
        [4] = {"Paintball", "You have successfully left!", 5000, "success"},
        [5] = {"Paintball", "The selected Arena is already in use!", 5000, "error"},
        [6] = {"Paintball", "You don't have permission to do this.", 5000, "error"},
        [7] = {"Paintball", "You have been kicked out!", 5000, "error"},
        [8] = {"Paintball", "Each team must have at least 1 member!", 5000, "error"},
        [9] = {"Paintball", "The party already started!", 5000, "error"},
        [10] = {"Paintball", "There must be at least 2 members!", 5000, "error"},
        [11] = {"Paintball", "Everyone has left the server, the party finished!", 5000, "error"},
    },

    -----------------------------------------------------------
    -----------------------| UNIFORMS |------------------------
    -----------------------------------------------------------

    Uniforms = {
        [1] = {
            male = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 178, texture = 3},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 77, texture = 3},
                ['shoes'] = {item = 55, texture = 3},
            },
            female = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 180, texture = 3},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 79, texture = 3},
                ['shoes'] = {item = 58, texture = 3},
            }
        },

        [2] = {
            male = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 178, texture = 5},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 77, texture = 5},
                ['shoes'] = {item = 55, texture = 5},
            },
            female = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 180, texture = 5},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 79, texture = 5},
                ['shoes'] = {item = 58, texture = 5},
            }
        },

        [3] = {
            male = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 178, texture = 0},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 77, texture = 0},
                ['shoes'] = {item = 55, texture = 0},
            },
            female = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 180, texture = 0},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 79, texture = 0},
                ['shoes'] = {item = 58, texture = 0},
            }
        },

        [4] = {
            male = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 178, texture = 1},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 77, texture = 1},
                ['shoes'] = {item = 55, texture = 1},
            },
            female = {
                ['t-shirt'] = {item = 15, texture = 0},
                ['torso2'] = {item = 180, texture = 1},
                ['arms'] = {item = 1, texture = 0},
                ['pants'] = {item = 79, texture = 1},
                ['shoes'] = {item = 58, texture = 1},
            }
        },
    },
}
client-utils.lua
ESX = Core
QBCore = Core

-- Buy here: (4€+VAT) https://store.brutalscripts.com
function notification(title, text, time, type)
    if Config.BrutalNotify then
        exports['brutal_notify']:SendAlert(title, text, time, type)
    else
        -- Put here your own notify and set the Config.BrutalNotify to false
        SetNotificationTextEntry("STRING")
        AddTextComponentString(text)
        DrawNotification(0,1)

        -- Default ESX Notify:
        --TriggerEvent('esx:showNotification', text)

        -- Default QB Notify:
        --TriggerEvent('QBCore:Notify', text, 'info', 5000)

        -- OKOK Notify:
        -- exports['okokNotify']:Alert('POLICE JOB',title, text, time, type, false)

    end
end

function TextUIFunction(type, text)
    if type == 'open' then
        if Config.TextUI:lower() == 'ox_lib' then
            lib.showTextUI(text)
        elseif Config.TextUI:lower() == 'okoktextui' then
            exports['okokTextUI']:Open(text, 'darkblue', 'right')
        elseif Config.TextUI:lower() == 'esxtextui' then
            ESX.TextUI(text)
        elseif Config.TextUI:lower() == 'qbdrawtext' then
            exports['qb-core']:DrawText(text,'left')
        end
    elseif type == 'hide' then
        if Config.TextUI:lower() == 'ox_lib' then
            lib.hideTextUI()
        elseif Config.TextUI:lower() == 'okoktextui' then
            exports['okokTextUI']:Close()
        elseif Config.TextUI:lower() == 'esxtextui' then
            ESX.HideUI()
        elseif Config.TextUI:lower() == 'qbdrawtext' then
            exports['qb-core']:HideText()
        end
    end
end

function isPlayerDead()
    if GetResourceState("brutal_ambulancejob") == "started" then
        return exports.brutal_ambulancejob:IsDead()
    else
        if IsEntityDead(PlayerPedId()) then
            return true
        else
            return false
        end
    end
end

function CitizenWear()
    if Config['Core']:upper() == 'ESX' then
        Core.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
            TriggerEvent('skinchanger:loadSkin', skin)
        end)
    elseif Config['Core']:upper() == 'QBCORE' then
       TriggerServerEvent('qb-clothes:loadPlayerSkin')
    end
end

function setUniform(uniformTable)
    if Config['Core']:upper() == 'ESX' then
        TriggerEvent('skinchanger:getSkin', function(skin)
            local uniform
            if skin.sex == 0 then
                uniform = uniformTable.male
            else
                uniform = uniformTable.female
            end

            local table = {}

            for k,v in pairs(uniform) do
                if k == 't-shirt' then
                    table.tshirt_1 = uniform['t-shirt'].item
                    table.tshirt_2 = uniform['t-shirt'].texture
                elseif k == 'torso2' then
                    table.torso_1 = uniform['torso2'].item
                    table.torso_2 = uniform['torso2'].texture
                elseif k == 'arms' then
                    table.arms = uniform['arms'].item
                elseif k == 'pants' then
                    table.pants_1 = uniform['pants'].item
                    table.pants_2 = uniform['pants'].texture
                elseif k == 'shoes' then
                    table.shoes_1 = uniform['shoes'].item
                    table.shoes_2 = uniform['shoes'].texture
                end
            end

            TriggerEvent('skinchanger:loadClothes', skin, table)
        end)
    elseif Config['Core']:upper() == 'QBCORE' then
        local table = {}
        local gender = QBCore.Functions.GetPlayerData().charinfo.gender
        if gender == 0 then
            table.outfitData = uniformTable.male
        else
            table.outfitData = uniformTable.female
        end

        TriggerEvent('qb-clothing:client:loadOutfit', table)
    end
end

function OpenMenuUtil()
    InMenu = true
    SetNuiFocus(true, true)

    Citizen.CreateThread(function()
        while InMenu do
            N_0xf4f2c0d4ee209e20() -- it's disable the AFK camera zoom
            Citizen.Wait(15000)
        end 
    end)

    DisplayRadar(false)
end

function DisableMinimap()
    DisplayRadar(false)
    -- Here you can add a trigger to hide your HUD system
end

function EnableMinimap()
    DisplayRadar(true)
    -- Here you can add a trigger to enable your HUD system
end
server-utils.lua
local SteamKey = ''

function GetSteamKey()
    return SteamKey
end
client-core.lua
Core = nil

if Config['Core']:upper() == 'ESX' then
    local _esx_ = 'new' -- 'new' / 'old'

    if _esx_ then
        Core = exports['es_extended']:getSharedObject()
    else
        while Core == nil do
            TriggerEvent('esx:getSharedObject', function(obj) Core = obj end)
            Citizen.Wait(0)
        end
    end

    LoadedEvent = 'esx:playerLoaded'
    ReviveEvent = 'esx_ambulancejob:revive'
    TSCB = Core.TriggerServerCallback

elseif Config['Core']:upper() == 'QBCORE' then
    Core = exports['qb-core']:GetCoreObject()

    LoadedEvent = 'QBCore:Client:OnPlayerLoaded'
    ReviveEvent = 'hospital:client:Revive'
    TSCB = Core.Functions.TriggerCallback
    
end
server-core.lua
Core = nil

if Config['Core']:upper() == 'ESX' then
    local _esx_ = 'new' -- 'new' / 'old'
    
    if _esx_ == 'new' then
        Core = exports['es_extended']:getSharedObject()
    else
        Core = nil
        TriggerEvent('esx:getSharedObject', function(obj) Core = obj end)
        while Core == nil do
            Citizen.Wait(0)
        end
    end

    RESCB = Core.RegisterServerCallback
    GETPFI = Core.GetPlayerFromId
    RUI = Core.RegisterUsableItem
    UsersDataTable = 'users'
    UserIdentifierValue = 'identifier'

    function GetIdentifier(source)
        local xPlayer = GETPFI(source)
        if xPlayer ~= nil then
            return xPlayer.identifier
        else
            return nil
        end
    end

    function GetAccountMoney(source,account)
        local xPlayer = GETPFI(source)
        if account == 'bank' then
            return xPlayer.getAccount(account).money
        elseif account == 'money' then
            return xPlayer.getMoney()
        end
    end

    function AddMoneyFunction(source, account, amount)
        local xPlayer = GETPFI(source)
        if account == 'bank' then
            xPlayer.addAccountMoney('bank', amount)
        elseif account == 'money' then
            xPlayer.addMoney(amount)
        end
    end

    function RemoveAccountMoney(source, account, amount)
        local xPlayer = GETPFI(source)
        if account == 'bank' then
            xPlayer.removeAccountMoney('bank', amount)
        elseif account == 'money' then
            xPlayer.removeMoney(amount)
        end
    end

    function GetItemCount(source, item)
        local xPlayer = GETPFI(source)

        if _esx_ == 'new' then
            return xPlayer.getInventoryItem(item).count
        else
            if string.sub(item, 0, 6):lower() == 'weapon' then
                local loadoutNum, weapon = xPlayer.getWeapon(item:upper())

                if weapon then
                    return true
                else
                    return false
                end
            else
                return xPlayer.getInventoryItem(item).count
            end
        end
    end
    
    function RemoveItem(source, item, amount)
        local xPlayer = GETPFI(source)
        if _esx_ == 'new' then
            xPlayer.removeInventoryItem(item, amount)
        else
            if string.sub(item, 0, 6):lower() == 'weapon' then
                xPlayer.removeWeapon(item)
            else
                xPlayer.removeInventoryItem(item, amount)
            end
        end
    end

    function AddItem(source, item, count)
        local xPlayer = GETPFI(source)
        if _esx_ == 'new' then
            xPlayer.addInventoryItem(item, count)
        else
            if string.sub(item, 0, 6):lower() == 'weapon' then
                xPlayer.addWeapon(item, 90)
            else
                xPlayer.addInventoryItem(item, count)
            end
        end
    end

    function GetPlayerNameFunction(source)
        local name
        if Config.SteamName then
            name = GetPlayerName(source) or 'No Data'
        else
            local xPlayer = GETPFI(source)
            name = xPlayer.getName() or 'No Data'
        end
        return name
    end

    function ClearInventory(source)
        local xPlayer = GETPFI(source)
        local src = source
        if InventorySaves[src] == nil then InventorySaves[src] = {} end

        for i=1, #xPlayer.inventory, 1 do
            if xPlayer.inventory[i] ~= nil and xPlayer.inventory[i].count > 0 then
                table.insert(InventorySaves[src], {item = xPlayer.inventory[i].name, amount = xPlayer.inventory[i].count, info = nil})
                xPlayer.setInventoryItem(xPlayer.inventory[i].name, 0)
            end
        end
    end

elseif Config['Core']:upper() == 'QBCORE' then

    Core = exports['qb-core']:GetCoreObject()
    
    RESCB = Core.Functions.CreateCallback
    GETPFI = Core.Functions.GetPlayer
    RUI = Core.Functions.CreateUseableItem
    UsersDataTable = 'players'
    UserIdentifierValue = 'citizenid'

    function GetIdentifier(source)
        local xPlayer = GETPFI(source)
        if xPlayer ~= nil then
            return xPlayer.PlayerData.citizenid
        else
            return nil
        end
    end

    function GetAccountMoney(source, account)
        local xPlayer = GETPFI(source)
        if account == 'bank' then
            return xPlayer.PlayerData.money.bank
        elseif account == 'money' then
            return xPlayer.PlayerData.money.cash
        end
    end

    function AddMoneyFunction(source, account, amount)
        local xPlayer = GETPFI(source)
        if account == 'bank' then
            xPlayer.Functions.AddMoney('bank', amount)
        elseif account == 'money' then
            xPlayer.Functions.AddMoney('cash', amount)
        end
    end

    function RemoveAccountMoney(source, account, amount)
        local xPlayer = GETPFI(source)
        if account == 'bank' then
            xPlayer.Functions.RemoveMoney('bank', amount)
        elseif account == 'money' then
            xPlayer.Functions.RemoveMoney('cash', amount)
        end
    end

    function GetItemCount(source, item)
        local xPlayer = GETPFI(source)
        local items = xPlayer.Functions.GetItemByName(item)
        local item_count = 0
        if items ~= nil then
            item_count = items.amount
        else
            item_count = 0
        end
        return item_count
    end

    function RemoveItem(source, item, amount)
        local xPlayer = GETPFI(source)
        xPlayer.Functions.RemoveItem(item, amount)
    end

    function AddItem(source, item, count, info)
        local xPlayer = GETPFI(source)
        xPlayer.Functions.AddItem(item, count, exports['qb-inventory']:GetFirstSlotByItem(), info)
    end

    function GetPlayerNameFunction(source)
        local name
        if Config.SteamName then
            name = GetPlayerName(source)
        else
            local xPlayer = GETPFI(source)
            name = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname
        end
        return name
    end

    function ClearInventory(source)
        local xPlayer = GETPFI(source)
        local src = source
        if InventorySaves[src] == nil then InventorySaves[src] = {} end

        local inventory = MySQL.prepare.await('SELECT inventory FROM '.. UsersDataTable ..' WHERE '.. UserIdentifierValue ..' = ?', { xPlayer.PlayerData.citizenid })
        if not inventory then inventory = {} end

        inventory = json.decode(inventory)
        if table.type(inventory) == 'empty' then inventory = {} end

        for _, item in pairs(inventory) do
            if item then
                table.insert(InventorySaves[src], {item = item.name, amount = item.amount, info = item.info})
                xPlayer.Functions.RemoveItem(item.name, item.amount)
            end
        end
    end
end

Last updated

Was this helpful?