Configuration

This section includes all configurable files for the selected script. Most settings are configured automatically, but each config.lua file contains a header comment explaining the purpose and usage of every configuration type. Be sure to read the header of each file carefully to fully understand how to customize and adapt the system for QBCORE, ESX, or standalone environments, ensuring seamless integration with your server.


qs-scoreboard/config/config.lua
Config                       = Config or {}

Config.Framework             = 'ESX'                                          -- 'ESX' or 'QBCORE'

Config.ScoreBoardKey         = "z"                                            -- Key to open the scoreboard

Config.CooldownTime          = 1                                              -- Cooldown in seconds to open the scoreboard. It prevents the users to spam the key.

Config.MaxPlayers            = 1000                                           -- Server max players. 1000 if max players is not stated in server.cfg

Config.CurrentPoliceExport   = nil                                            -- Export that get how many police are on duty. If nil show how many police are online

Config.DefaultDuty           = "on"                                           -- Default status if there is not job export

Config.DisplayablePlayerJobs = { "miner", "police", "ambulance", "mechanic" } -- Jobs that appear in players information. If the job isn't here, it will display what is in Config.DefaultJobName

Config.DefaultJobName        = "Unknown"                                      -- Name that appears if the job is not in the list

Config.HideNames             = false                                          -- True if you want the name of the players to be hidden

Config.HiddenName            = "Hidden User"                                  -- Name displayed if the name of the players ar hidden

Config.DisplayFivemName      = true                                           -- True if you want the players FiveM name to be displayed instead of character name

Config.PoliceJobNames        = { "police" }                                   -- Name of the police job to count how many are online for the robberies/events. You can add multiple jobs

Config.PeakPlayers           =
"150"                               -- Amount you want to appear in peak players information

Config.PlayerJobs            = {    -- If the job is not here it will display default job and default icon
    police = {
        label = "Police Officer",   -- Label displayed for the job
        gradeExport = "Recruit",    -- Export to obtain the grade of the job, if nil, nothing appears
        icon = "fa-solid fa-shield" -- Icon displayed next to the job
    },
    ambulance = {
        label = "Ambulance",
        gradeExport = nil,
        icon = "fa-solid fa-truck-medical"
    },
    mechanic = {
        label = "Mechanic",
        gradeExport = nil,
        icon = "fa-solid fa-wrench"
    },
    taxi = {
        label = "Taxi Driver",
        gradeExport = nil,
        icon = "fa-solid fa-taxi"
    }
}

Config.IllegalActions        = {
    storerobbery = {
        order = 1,               -- Place in the list
        minimumPolice = 1,       -- Minimum required police in the server required to the event
        label = "STORE ROBBERY", -- Name displayed in the UI
        image = "store.png",     -- Image
        description =
        "Robbing a convenience store is a classic crime. Take the chance before the police arrive. Quick and risky!"
    },
    liquor = {
        order = 2,
        minimumPolice = 1,
        label = "LIQUOR SHOP",
        image = "liquor.png",
        description =
        "A liquor store heist. Watch out for cameras and alarms. Ideal for a low-profile job, but still risky."
    },
    jewelry = {
        order = 3,
        minimumPolice = 1,
        label = "JEWELRY",
        image = "jewelry.png",
        description =
        "A jewelry heist is a high-stakes job. The display cases are filled with luxury items, but the security is tight."
    },
    fleeca = {
        order = 4,
        minimumPolice = 1,
        label = "FLEECA",
        image = "fleeca.png",
        description =
        "A heist at a smaller, but well-secured bank. The cash is worth it, but the police will be on your tail quickly."
    },
    pacific = {
        order = 5,
        minimumPolice = 10,
        label = "PACIFIC",
        image = "pacific.png",
        description =
        "The Pacific Standard bank heist is one of the biggest and most dangerous. A challenge for the most skilled criminals. Do you have what it takes to walk away with the loot?"
    },
}


Config.DisplayedJobs = {
    police = {
        order = 1,                  -- Place in the list
        label = "Police Officers",  -- Name displayed in the UI
        onDutyExport = nil,         -- Export that get how many members of this job are on duty. Show all online players with this job if there is no export.
        playerDutyExport = false,   -- Export that gets if player is on duty.
        icon = "fa-solid fa-shield" -- Icon
    },
    ambulance = {
        order = 2,
        label = "Paramedics",
        onDutyExport = 2,
        playerDutyExport = nil,
        icon = "fa-solid fa-truck-medical",
    },
    mechanic = {
        order = 3,
        label = "Mechanics",
        onDutyExport = 3,
        playerDutyExport = nil,
        icon = "fa-solid fa-wrench"
    },
    taxi = {
        order = 4,
        label = "Taxi Drivers",
        onDutyExport = nil,
        playerDutyExport = false,
        icon = "fa-solid fa-taxi"
    },
    electrician = {
        order = 5,
        label = "Electricians",
        onDutyExport = 1,
        playerDutyExport = nil,
        icon = "fa-solid fa-bolt"
    },
    fisher = {
        order = 6,
        label = "Fishers",
        onDutyExport = 1,
        playerDutyExport = nil,
        icon = "fa-solid fa-fish"
    },
    firefighter = {
        order = 7,
        label = "Fire fighters",
        onDutyExport = 1,
        playerDutyExport = nil,
        icon = "fa-solid fa-fire-extinguisher"
    },
}

Config.DefaultConfigs = {

    ---@Background
    background1 =
    "linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 70%, rgba(30, 30, 30, 0.7))",                        -- Boxes background
    background2 =
    'rgb(33, 166, 224, 0.2)',                                                                           -- Players background
    bodyBackground =
    "linear-gradient(90deg, rgba(9, 35, 49, 0) 0%, rgba(9, 35, 49, 0) 50%, rgba(29, 87, 114, 0) 100%)", -- Body background

    ---@Color
    color1 = '#26beff', -- Manages almost every
    color2 = '#f1f1f1', -- Server Subtitle and other titles
    color3 = '#092331', -- Icons background

    ---@Logo
    logo = "../images/quasar_logo.png", -- Add logo to quasar_scoreboard/html/images
}


Config.Translations = {
    title = "PLAYER LIST",
    idTitle = "ID",
    usernameTitle = "PLAYER NAME",
    jobTitle = "PLAYER JOB",
    pingTitle = "PING",
    search = "Search player name...",
    availableRobberies = "AVAILABLE ROBBERIES",
    serverOverview = "SERVER OVERVIEW",
    exit = "Exit",
    dutyStatusTitle = "DUTY STATUS",
    dutyOn = "On Duty",
    dutyOff = "Off Duty",
    policeOfficersRequired = "POLICE OFFICERS REQUIRED:",
    peakPlayers = "Peak Players",
    capacity = "Capacity",
    online = "Online",
    active = "Active",
    ms = "ms",
    minimizeMenu = "MINIMIZE MENU",
    openFullScreen = "OPEN FULL SCREEN",
    esc = "ESC",
    miner = "Miner",
    garbageCollector = "Garbage Collector",
    dogWalker = "Dog Walker",
    taxiDriver = "Taxi Driver",
    newsPaperDelivery = "Newspaper Delivery",
}

Config.ModifyKey = false -- True if you want to modify the key

Config.NewKeyNumber = 38 -- E ----- https://docs.fivem.net/docs/game-references/controls/

Config.NewKey = "e"      -- Necessary to close the scoreboard with the key

Config.BaseJobsXP = 1000  -- Xp required for level 1 job, default 1000 in all qs jobs

Config.GrowthFactor = 1.1 -- Increase of XP for each job level, default 1.1 in all qs jobs

Config.UpdateJobExperienceTime = 5 -- In minutes 

Config.ShowJobLevels = false