Configs, Locales & SQL

Codesign resources contain various editable/unobscured files such as client/server functions etc.

function L(cd) if Locales[Config.Language][cd] then return Locales[Config.Language][cd] else print('Locale is nil ('..cd..')') end end
--███████╗██████╗  █████╗ ███╗   ███╗███████╗██╗    ██╗ ██████╗ ██████╗ ██╗  ██╗
--██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║    ██║██╔═══██╗██╔══██╗██║ ██╔╝
--█████╗  ██████╔╝███████║██╔████╔██║█████╗  ██║ █╗ ██║██║   ██║██████╔╝█████╔╝ 
--██╔══╝  ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝  ██║███╗██║██║   ██║██╔══██╗██╔═██╗ 
--██║     ██║  ██║██║  ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║  ██║██║  ██╗
--╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝ ╚══╝╚══╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝


--WHAT DOES 'auto_detect' DO?
--The 'auto_detect' feature automatically identifies your framework and applies the appropriate default settings.

Config.Framework = 'auto_detect' --[ 'auto_detect' / 'other' ]   If you select 'auto_detect', only ESX, QBCore and Standalone frameworks will be detected. Use 'other' for custom frameworks.
Config.Notification = 'auto_detect' --[ 'auto_detect' / 'other' ]   If you select 'auto_detect', the default notifications for your framework will be used. Use 'other' for custom notification resources.
Config.Language = 'EN' --[ 'EN' / 'NL' ]   You can add your own locales to Locales.lua, but be sure to update the Config.Language to match it.

Config.FrameworkTriggers = {
    esx = { --If you have modified the default event names in the es_extended resource, change them here.
        resource_name = 'es_extended',
        main = 'esx:getSharedObject'
    },
    qbcore = { --If you have modified the default event names in the qb-core resource, change them here.
        resource_name = 'qb-core',
        main = 'QBCore:GetObject'
    }
}


--██╗███╗   ███╗██████╗  ██████╗ ██████╗ ████████╗ █████╗ ███╗   ██╗████████╗
--██║████╗ ████║██╔══██╗██╔═══██╗██╔══██╗╚══██╔══╝██╔══██╗████╗  ██║╚══██╔══╝
--██║██╔████╔██║██████╔╝██║   ██║██████╔╝   ██║   ███████║██╔██╗ ██║   ██║   
--██║██║╚██╔╝██║██╔═══╝ ██║   ██║██╔══██╗   ██║   ██╔══██║██║╚██╗██║   ██║   
--██║██║ ╚═╝ ██║██║     ╚██████╔╝██║  ██║   ██║   ██║  ██║██║ ╚████║   ██║   
--╚═╝╚═╝     ╚═╝╚═╝      ╚═════╝ ╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝


Config.Debug = {
    prints = false, --To enable debug prints.
    drawLines = false, --The outlines of the separate ranges.
    outerLines = {
        ['LS'] = {
            front_left = vector3(12.22,-1091.27,29.9),
            front_right = vector3(20.81,-1094.38,29.9),
            rear_left = vector3(13.98,-1084.10,29.9),
            rear_right =  vector3(23.19,-1087.49,29.9),
        },
        ['SF'] = {
            front_left = vector3(824.89,-2168.94,29.9),
            front_right = vector3(815.67,-2169.01,29.9),
            rear_left = vector3(825.42,-2176.50,29.9),
            rear_right =  vector3(815.72,-2176.58,29.9),
        },
    }
}


--███╗   ███╗ █████╗ ██╗███╗   ██╗
--████╗ ████║██╔══██╗██║████╗  ██║
--██╔████╔██║███████║██║██╔██╗ ██║
--██║╚██╔╝██║██╔══██║██║██║╚██╗██║
--██║ ╚═╝ ██║██║  ██║██║██║ ╚████║
--╚═╝     ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝


Config.timeRange = 15 --(in seconds) How many seconds does the ranked shooting session last for?
Config.waitCooldown = 5 --(in seconds) How many seconds does the countdown last for?


--██╗  ██╗███████╗██╗   ██╗███████╗     █████╗ ███╗   ██╗██████╗      ██████╗ ██████╗ ███╗   ███╗███╗   ███╗ █████╗ ███╗   ██╗██████╗ ███████╗
--██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝    ██╔══██╗████╗  ██║██╔══██╗    ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗  ██║██╔══██╗██╔════╝
--█████╔╝ █████╗   ╚████╔╝ ███████╗    ███████║██╔██╗ ██║██║  ██║    ██║     ██║   ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║  ██║███████╗
--██╔═██╗ ██╔══╝    ╚██╔╝  ╚════██║    ██╔══██║██║╚██╗██║██║  ██║    ██║     ██║   ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║  ██║╚════██║
--██║  ██╗███████╗   ██║   ███████║    ██║  ██║██║ ╚████║██████╔╝    ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║  ██║██║ ╚████║██████╔╝███████║
--╚═╝  ╚═╝╚══════╝   ╚═╝   ╚══════╝    ╚═╝  ╚═╝╚═╝  ╚═══╝╚═════╝      ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═════╝ ╚══════╝


Config.MoveTarget = {
    ENABLE = true, --Do you want to allow player's to move the gunrange targets?
    command = 'gunrange_movetarget', --The chat command.
    description = L('command_movetarget'), --The chat command's description.
    key = 'i'
}

Config.PracticeMode = {
    ENABLE = true, --Do you want to allow player's to practise in a unranked gunrange session?
    command = 'gunrange_practice',
    description = L('command_practice'),
    key = 'u'
}

Config.Start = {
    ENABLE = true, --Do you want to allow player's to start a ranked gunrange session?
    command = 'gunrange_start',
    description = L('command_start'),
    key = 'o'
}

Config.ScoreBoard = {
    ENABLE = true, --Do you want to allow player's to view the scoreboard from ranked gunrange sessions?
    command ='gunrange_scoreboard',
    description = L('command_scoreboard')
}


-- ██████╗ ████████╗██╗  ██╗███████╗██████╗ 
--██╔═══██╗╚══██╔══╝██║  ██║██╔════╝██╔══██╗
--██║   ██║   ██║   ███████║█████╗  ██████╔╝
--██║   ██║   ██║   ██╔══██║██╔══╝  ██╔══██╗
--╚██████╔╝   ██║   ██║  ██║███████╗██║  ██║
-- ╚═════╝    ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝


function Round(cd) return math.floor(cd+0.5) end
function Trim(cd) return cd:gsub('%s+', '') end

Config.scoreCategory = { --⚠️PLEASE READ⚠️; DO NOT CHANGE THESE IF YOU DON'T KNOW WHAT YOUR DOING.
    [1] = {
        name='Special weapons',
        weaponList = {
            `weapon_stungun`,
            `weapon_flaregun`,
            `weapon_raypistol`,
        },
    },
    [2] = {
        name='Handguns',
        weaponList = {
            `weapon_appistol`,
            `weapon_combatpistol`,
            `weapon_doubleaction`,
            `weapon_heavypistol`,
            `weapon_revolver_mk2`,
            `weapon_revolver`,
            `weapon_pistol50`,
            `weapon_pistol_mk2`,
            `weapon_pistol`,
            `weapon_snspistol_mk2`,
            `weapon_snspistol`,
            `weapon_vintagepistol`,
            `weapon_marksmanpistol`
        },
    },
    [3] = {
        name='SMG',
        weaponList = {
            `weapon_machinepistol`,
            `weapon_microsmg`,
            `weapon_minismg`,
            `weapon_smg_mk2`,
            `weapon_smg`,
            `weapon_assaultsmg`
        }
    },
    [4] = {
        name='Snipers',
        weaponList = {
            `weapon_heavysniper_mk2`,
            `weapon_heavysniper`,
            `weapon_marksmanrifle_mk2`,
            `weapon_marksmanrifle`,
            `weapon_sniperrifle`,
            `weapon_musket`,
        }
    },
    [5] = {
        name='LMG',
        weaponList = {
            `weapon_mg`,
            `weapon_gusenberg`,
            `weapon_combatmg`,
            `weapon_combatmg_mk2`,
        }
    },
    [6] = {
        name='Assault Rifles',
        weaponList = {
            `weapon_advancedrifle`,
            `weapon_assaultrifle_mk2`,
            `weapon_bullpuprifle_mk2`,
            `weapon_bullpuprifle`,
            `weapon_carbinerifle_mk2`,
            `weapon_carbinerifle`,
            `weapon_compactrifle`,
            `weapon_specialcarbine_mk2`,
            `weapon_specialcarbine`,
            `weapon_assaultrifle`
        }
    },
    [7] = {
        name='Shotguns',
        weaponList = {
            `weapon_assaultshotgun`,
            `weapon_bullpupshotgun`,
            `weapon_dbshotgun`,
            `weapon_heavyshotgun`,
            `weapon_pumpshotgun`,
            `weapon_pumpshotgun_mk2`,
            `weapon_autoshotgun`,
            `weapon_sawnoffshotgun`
        }
    },
}

Config.Scoring = { --⚠️PLEASE READ⚠️; DO NOT CHANGE THESE IF YOU DON'T KNOW WHAT YOUR DOING.
    ['ammunation'] = {
        [1] = {
            points=10,
            name='headshot',
            location = {
                left = -3.525,
                right = 5.2223,
                topz = 56.0,
                botz = 48.009,
            }
        },
        [2] = {
            points=10,
            name='center',
            location = {
                left = -6.45,
                right = 7.15,
                topz = 6.605,
                botz = -9.99,
            }
        },
        [3] = {
            points = 9,
            name="inner1",
            location = {
                left = -13.754,
                right = 15.100,
                topz = 15.0644,
                botz = -16.569,
            }
        },
        [4] = {
            points = 8,
            name="inner2",
            location = {
                left = -20.5739,
                right = 22.2024,
                topz = 21.7667,
                botz = -23.907,
            }
        },
        [5] = {
            points = 7,
            name="inner3",
            location = {
                left = -29.8640,
                right = 29.318,
                topz = 31.62,
                botz = -31.794,
            }
        },
    },
    ['mrpd'] = {
        offsetSide = -15,
        offsetHeight = 82,
        [1] = {
            points=10,
            name='headshot',
            location = {
                left = 5.9655,
                right = -9.3481,
                topz = 42.9687,
                botz = 27.7698,
            }
        },
        [2] = {
            points=10,
            name='center',
            location = {
                left = 0.4235,
                right = -4.3249,
                topz = 5.8239,
                botz = -0.19013,
            }
        },
        [3] = {
            points = 9,
            name="inner1",
            location = {
                left = 4.512,
                right = -8.2006,
                topz = 12.9612,
                botz = -6.6121,
            }
        },
        [4] = {
            points = 8,
            name="inner2",
            location = {
                left = 8.5046,
                right = -11.1730,
                topz = 17.6636,
                botz = -11.26,
            }
        },
        [5] = {
            points = 7,
            name="inner3",
            location = {
                left = 11.6906,
                right = -14.9938,
                topz = 23.3333,
                botz = -16.7474,
            }
        },
    },
}


-- █████╗ ██╗   ██╗████████╗ ██████╗     ██████╗ ███████╗████████╗███████╗ ██████╗████████╗
--██╔══██╗██║   ██║╚══██╔══╝██╔═══██╗    ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝
--███████║██║   ██║   ██║   ██║   ██║    ██║  ██║█████╗     ██║   █████╗  ██║        ██║   
--██╔══██║██║   ██║   ██║   ██║   ██║    ██║  ██║██╔══╝     ██║   ██╔══╝  ██║        ██║   
--██║  ██║╚██████╔╝   ██║   ╚██████╔╝    ██████╔╝███████╗   ██║   ███████╗╚██████╗   ██║   
--╚═╝  ╚═╝ ╚═════╝    ╚═╝    ╚═════╝     ╚═════╝ ╚══════╝   ╚═╝   ╚══════╝ ╚═════╝   ╚═╝   


-----DO NOT TOUCH ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING.-----
if Config.Framework == 'auto_detect' then
    if GetResourceState(Config.FrameworkTriggers.esx.resource_name) == 'started' then
        Config.Framework = 'esx'
    elseif GetResourceState(Config.FrameworkTriggers.qbcore.resource_name) == 'started' then
        Config.Framework = 'qbcore'
    else
        Config.Framework = 'standalone'
    end
    if Config.Framework == 'esx' or Config.Framework == 'qbcore' then
        for c, d in pairs(Config.FrameworkTriggers[Config.Framework]) do
            Config.FrameworkTriggers[c] = d
        end
        Config.FrameworkTriggers.esx, Config.FrameworkTriggers.qbcore = nil, nil
    end
end

if GetResourceState('cfx-gabz-ammunation') == 'started' then
    Config.UsingGabzMaps = true
else
    Config.UsingGabzMaps = false
end

if Config.UsingGabzMaps then
    for c, d in pairs(Config.gunRangeLocation) do
        d.enabled = true
    end
    for c, d in pairs(Config.CustomGunrange) do
        d.enabled = false
    end
else
    for c, d in pairs(Config.gunRangeLocation) do
        d.enabled = false
    end
    for c, d in pairs(Config.CustomGunrange) do
        d.enabled = true 
    end
end

if Config.Notification == 'auto_detect' then Config.Notification = Config.Framework if Config.Notification == 'standalone' then Config.Notification = 'chat' end end
-----DO NOT TOUCH ANYTHING ABOVE THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING.-----

Last updated