HEX
HexscriptsVersion 3.0FFA

Configurations

Here you will get all configurations & open source files that are included within this script.

Config Files

Config = {}

Config.Debug = false -- Set to true to enable debug messages in the console
Config.Locale = 'automatic' -- automatic, en, de, es, fr, it, nl, pl, pt, tr, ar
Config.Framework = 'automatic' -- automatic, esx, qbcore, standalone

Config.ServerName = 'HEXSCRIPTS'

Config.CommandName = 'quitffa'
Config.PedInfinityAmmoClip = false

Config.Position = {
    coords = vector3(733.6722, 2523.3159, 73.2239),

    marker = {
        enabled = true,
        type = 31,
        drawDistance = 50.0,
        scale = vector3(1.0, 1.0, 1.0),
        color = {
            red = 255,
            green = 46,
            blue = 58,
            alpha = 100
        },
        moveUpAndDown = false,
        rotate = true
    },

    blip = {
        enabled = true,
        sprite = 84,
        scale = 0.8,
        color = 37,
        display = 4,
        shortRange = true,
        text = 'FFA - Paintball'
    }
}

Config.Positions = {
    ['ffa'] = {
        {
            name = "Markt Platz",
            label = "only Pistol",
            maxPlayers = 10,
            center = vector3(383.8309, -339.3008, 46.8099),
            size = 100.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            dimension = 1000,
            imgUrl = "https://corleone.vip/hexscripts/ffa/market2.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50"
            },
            
            spawns = {
                vector4(361.8524, -291.3102, 53.8677, 180.0), 
                vector4(400.4957, -313.1645, 49.8660, 180.0), 
                vector4(442.2439, -325.8990, 48.1187, 180.0), 
                vector4(420.3872, -357.1692, 47.2169, 180.0), 
                vector4(394.1068, -378.9253, 46.9550, 180.0),
                vector4(370.5730, -380.3284, 46.5562, 180.0),
                vector4(376.1372, -322.5521, 50.2008, 180.0),
                vector4(373.9258, -340.6835, 47.4043, 180.0),
                vector4(412.4160, -338.5406, 46.9777, 180.0),
                vector4(358.3083, -339.3065, 46.7395, 180.0)
            }
        },

        {
            name = "Flugzeug Friedhof",
            label = "Only Machinepistols",
            maxPlayers = 20,
            center = vector3(2386.367, 3082.089, 48.19027),
            size = 100.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            dimension = 1001,
            imgUrl = "https://corleone.vip/hexscripts/ffa/airport_dead.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50",
                "weapon_machinepistol"
            },
        
            spawns = {
                vector4(2360.073, 3129.041, 48.20869, 0.0),
                vector4(2428.039, 3124.009, 48.14234, 0.0),
                vector4(2435.5923, 3087.9827, 48.1533, 0.0),
                vector4(2409.702, 3033.869, 48.16072, 0.0),
                vector4(2355.944, 3038.585, 48.16628, 0.0),
                vector4(2382.8660, 3027.2449, 48.1576, 0.0),
                vector4(2400.7046, 3028.7883, 48.1526, 0.0),
                vector4(2431.8601, 3046.2708, 48.1524, 0.0),
                vector4(2378.8662, 3160.5381, 48.2112, 0.0),
                vector4(2338.9009, 3110.5952, 48.2089, 0.0)
            }
        },

        {
            name = "Baustelle",
            label = "only Pistol",
            maxPlayers = 20,
            center = vector3(-160.0956, -983.2939, 256.2072),
            size = 100.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            dimension = 1002,
            imgUrl = "https://corleone.vip/hexscripts/ffa/building.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50"
            },
            
            spawns = {
                vector4(-140.1919, -953.3641, 254.1314, 0.0),
                vector4(-156.8964, -949.6334, 254.1314, 0.0),
                vector4(-156.7630, -1021.6153, 254.1315, 0.0),
                vector4(-145.6263, -948.2170, 269.1350, 0.0),
                vector4(-189.7213, -1010.8111, 254.3521, 0.0),
                vector4(-166.5982, -974.7396, 259.2296, 0.0),
                vector4(-133.9850, -958.3747, 264.1339, 0.0),
                vector4(-136.1249, -946.9573, 259.1328, 0.0),
                vector4(-164.1968, -974.4492, 259.2292, 0.0),
                vector4(-162.1042, -953.7418, 269.2273, 0.0),
                vector4(-146.5233, -950.3701, 259.1329, 0.0)
            }
        },

        {
            name = "Prison",
            label = "Only Machinepistols",
            maxPlayers = 20,
            center = vector3(1691.8304, 2533.8486, 61.3355),
            size = 150.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            dimension = 1003,
            imgUrl = "https://corleone.vip/hexscripts/ffa/prison.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50",
                "weapon_machinepistol"
            },
            
            spawns = {
                vector4(1714.3136, 2495.2021, 45.5648, 0.0),
                vector4(1659.6914, 2495.8630, 45.5648, 0.0),
                vector4(1617.4119, 2553.6433, 45.5648, 0.0),
                vector4(1698.7802, 2560.3872, 45.5581, 0.0),
                vector4(1763.9585, 2558.1360, 45.5501, 0.0),
                vector4(1709.2572, 2531.8989, 45.5636, 0.0),
                vector4(1692.7716, 2469.9475, 45.6234, 0.0),
                vector4(1664.1854, 2487.2678, 45.5649, 0.0),
                vector4(1666.0358, 2569.0559, 45.5648, 0.0),
                vector4(1752.4668, 2518.2371, 45.5772, 0.0)
            }
        }
    },

    ['private'] = {
        {
            name = "Casino Dach",
            label = "only Pistol",
            center = vector3(477.2156, 165.6349, 110.6342),
            size = 40.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            imgUrl = "https://corleone.vip/hexscripts/ffa/dach.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50"
            },
            
            spawns = {
                vector4(459.9673, 190.6121, 110.5958, 0.0),
                vector4(495.8133, 173.7899, 110.6555, 0.0),
                vector4(481.6616, 142.1372, 110.6527, 0.0),
                vector4(444.0501, 140.7654, 110.5998, 0.0),
                vector4(456.5244, 163.0720, 110.6062, 0.0),
                vector4(459.9013, 179.3582, 110.6026, 0.0)
            }
        },
    
        {
            name = "Hotel dach",
            label = "only Pistol",
            center = vector3(-1391.2218, 292.1165, 95.0961),
            size = 40.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            imgUrl = "https://corleone.vip/hexscripts/ffa/dach2.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50",
                "weapon_machinepistol"
            },
            
            spawns = {
                vector4(-1385.4042, 302.2655, 89.8643, 0.0),
                vector4(-1400.2317, 307.9985, 89.8644, 0.0),
                vector4(-1402.4832, 293.5674, 89.8644, 0.0),
                vector4(-1393.0367, 267.0098, 89.8644, 0.0),
                vector4(-1379.0585, 265.5733, 89.8643, 0.0),
                vector4(-1372.2655, 271.3719, 89.8643, 0.0)
            }
        },
    
        {
            name = "Observatorium",
            label = "only Pistol",
            center = vector3(-419.6210, 1153.2267, 326.8732),
            size = 100.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            imgUrl = "https://corleone.vip/hexscripts/ffa/obsi.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50",
                "weapon_machinepistol"
            },
            
            spawns = {
                vector4(-395.1815, 1104.2329, 325.8436, 0.0),
                vector4(-386.5791, 1186.0540, 325.6815, 0.0),
                vector4(-415.6097, 1202.6626, 325.6418, 0.0),
                vector4(-431.6885, 1207.7985, 325.7583, 0.0),
                vector4(-473.1340, 1128.6034, 325.8687, 0.0),
                vector4(-413.7414, 1097.9293, 332.5338, 0.0),
                vector4(-450.2201, 1108.0962, 332.5313, 0.0)
            }
        },
        {
            name = "Hafen",
            label = "only Pistol",
            center = vector3(1140.9429, -3008.4753, 5.8998),
            size = 65.0,
            sphere = {
                enabled = true,
                red = 255,
                green = 46,
                blue = 58,
                alpha = 0.5
            },
            imgUrl = "https://corleone.vip/hexscripts/ffa/hafen.png",
            xpForKill = 2,

            ownWeapons = false,
            weapons = {
                "weapon_pistol",
                "weapon_pistol50",
                "weapon_machinepistol"
            },
            spawns = {
                vector4(1149.2280, -3026.5112, 5.9010, 0.0),
                vector4(1164.8007, -3007.2209, 5.9012, 0.0),
                vector4(1178.2251, -2981.6621, 5.9007, 0.0),
                vector4(1135.2928, -2983.0776, 5.8982, 0.0),
                vector4(1097.0931, -2999.2546, 5.7576, 0.0),
                vector4(1103.3077, -3034.2813, 5.8842, 0.0)
            }
        }
    }
}

Config.Levels = {
    [1] = 0,
    [2] = 3000,

}

Citizen.CreateThread(function()
    local old = 3000

    for i = 3, 100 do
        old = 3000 * i
        Config.Levels[i] = old
    end
end)

Config.Shops = {
    [1] = {
        {
            weaponName = 'WEAPON_PISTOL',
            name = 'suppressor',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_PISTOL',
            name = 'flashlight',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_PISTOL',
            name = 'clip_extended',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_PISTOL50',
            name = 'flashlight',
            xp = 1000
        }
    },

    [2] = {
        {
            weaponName = 'WEAPON_PISTOL50',
            name = 'suppressor',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_PISTOL50',
            name = 'clip_extended',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_MACHINEPISTOL',
            name = 'suppressor',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_MACHINEPISTOL',
            name = 'clip_extended',
            xp = 1000
        }
    },

    [3] = {
        {
            weaponName = 'WEAPON_MACHINEPISTOL',
            name = 'clip_drum',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_MICROSMG',
            name = 'scope',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_MICROSMG',
            name = 'clip_extended',
            xp = 1000
        },

        {
            weaponName = 'WEAPON_MICROSMG',
            name = 'flashlight',
            xp = 1000
        }
    },

    [4] = {
        {
            weaponName = 'WEAPON_MICROSMG',
            name = 'suppressor',
            xp = 1000
        }
    }
}

Client Open Source Files

if Config.Framework == 'automatic' then
    if GetResourceState('es_extended') == 'started' then
        Config.Framework = 'esx'
    elseif GetResourceState('qb-core') == 'started' then
        Config.Framework = 'qbcore'
    else
        Config.Framework = 'standalone'
    end
end

function DrawHelpNotify(message)
    if GetResourceState('hex_final_hud') == 'started' then
        exports['hex_final_hud']:HelpNotify(message)
    elseif GetResourceState('hex_2_hud') == 'started' then
        exports['hex_2_hud']:HelpNotify(message)
    elseif GetResourceState('hex_future_hud') == 'started' then
        exports['hex_future_hud']:HelpNotify(message)
    elseif GetResourceState('hex_1_hud') == 'started' then
        exports['hex_1_hud']:HelpNotify(message)
    elseif GetResourceState('hex_hud_prem') == 'started' then
        exports['hex_hud_prem']:HelpNotify(message)
    elseif GetResourceState('hex_4_hud') == 'started' then
        exports['hex_4_hud']:HelpNotify(message)
    else
        SetTextComponentFormat('STRING')
        AddTextComponentString(message)
        DisplayHelpTextFromStringLabel(0, 0, 1, -1)
    end
end

function Notify(title, message, notifyType, timeout)
    if timeout == nil then timeout = 5000 end
    if notifyType == nil then notifyType = 'info' end

    if GetResourceState('hex_final_hud') == 'started' then
        exports['hex_final_hud']:Notify(title, message, notifyType, timeout)
    elseif GetResourceState('hex_2_hud') == 'started' then
        exports['hex_2_hud']:Notify(title, message, notifyType, timeout)
    elseif GetResourceState('hex_future_hud') == 'started' then
        exports['hex_future_hud']:Notify(title, message, notifyType, timeout)
    elseif GetResourceState('hex_1_hud') == 'started' then
        exports['hex_1_hud']:Notify(title, message, notifyType, timeout)
    elseif GetResourceState('hex_hud_prem') == 'started' then
        exports['hex_hud_prem']:Notify(title, message, notifyType, timeout)
    elseif GetResourceState('hex_hud') == 'started' then
        exports['hex_hud']:Notify(title, message, notifyType, timeout)
    elseif GetResourceState('hex_4_hud') == 'started' then
        exports['hex_4_hud']:Notify(title, message, notifyType, timeout)
    else
        print(('Notify: %s, %s, %s, %s'):format(title, message, notifyType, timeout))
    end
end

function GiveWeapon(ped, data)
    TriggerEvent('cc_anticheat:weapons:check')
    GiveWeaponToPed(ped, data.name, 9999, true, false)
    SetAmmoInClip(ped, data.name, 999)
    SetPedInfiniteAmmo(ped, true, data.name)

    for k, v in pairs(data.components) do
        GiveWeaponComponentToPed(ped, data.name, v)
    end
end

function HealthPlayer(refill)
    local ped = PlayerPedId()

    SetEntityHealth(ped, 200)

    if refill then
        SetPedArmour(ped, 100)
    end
end

function weaponWheel(state)
    if GetResourceState('ox_inventory') == 'started' then
        exports['ox_inventory']:weaponWheel(state)
    elseif GetResourceState('qs-inventory') == 'started' then
        exports['qs-inventory']:WeaponWheel(state)
    end
end

Server Open Source Files

if Config.Framework == 'automatic' then
    if GetResourceState('es_extended') == 'started' then
        Config.Framework = 'esx'
    elseif GetResourceState('qb-core') == 'started' then
        Config.Framework = 'qbcore'
    else
        Config.Framework = 'standalone'
    end
end