# SLEEK SCOREBOARD

{% embed url="<https://youtu.be/11nYrpF5BTw?si=YLzwvitGzIK80Xdq>" %}

**INSTALLATION GUIDE**

1. Download from [KEYMASTER ](https://keymaster.fivem.net/login?return_url=/asset-grants)and Unzip the **`forge-scoreboard.pack.zip`** and place this folder in your server's resource folder.
2. Add the resource to your server start config: **`ensure forge-scoreboard`**,the name of the folder must not be changed or the resource will not function correctly.
3. Clear the cache of your server and also of your own FiveM.
4. Reboot the entire server with the forge script well ensured in your server.cfg.
5. <mark style="color:red;">**This script does not have any SQL to install.**</mark>
6. <mark style="color:red;">**Do not rename this script, this may cause it to fail when opening the interface.**</mark>

**CONFIG**

The following will explain all the settings, one of the most important things that I recommend you spend a few minutes to understand in order to offer your users the best possible experience.

{% tabs %}
{% tab title="CONFIG" %}
Fill all the **CONFIG** very carefully.&#x20;

{% code lineNumbers="true" %}

```lua
Config = { }

--  _____ _____ _   _ ______ _____ _____ _   _______  ___ _____ _____ _____ _   _
-- /  __ \  _  | \ | ||  ___|_   _|  __ \ | | | ___ \/ _ \_   _|_   _|  _  | \ | |
-- | /  \/ | | |  \| || |_    | | | |  \/ | | | |_/ / /_\ \| |   | | | | | |  \| |
-- | |   | | | | . ` ||  _|   | | | | __| | | |    /|  _  || |   | | | | | | . ` |
-- | \__/\ \_/ / |\  || |    _| |_| |_\ \ |_| | |\ \| | | || |  _| |_\ \_/ / |\  |
--  \____/\___/\_| \_/\_|    \___/ \____/\___/\_| \_\_| |_/\_/  \___/ \___/\_| \_/

Config.Framework = 'qbcore' -- 'qbcore' or  'esx'. Make sure to match this with your server's framework.

-- Configuration for opening the scoreboard. This includes the command, keybind, and help text.
Config.Open = {
    Command = 'openscoreboard', -- The chat command used to open the scoreboard.
    Keybind = 'F11', -- The default keybind assigned to open the scoreboard.
    Help = 'Open the scoreboard' -- A brief description shown as help text for the command.
}

-- Lower specs = higher number
Config.Update = 10

-- Toggle to show roleplay names on the scoreboard. Set to true to enable, false to disable.
Config.ShowRpNames = true

-- Define the jobs that will be displayed on the scoreboard. Each job group contains a label and a list of job identifiers.
Config.Jobs = {
    {
        Label = 'Police', -- The name of the job group as it will appear on the scoreboard.
        Jobs = { 'police', 'lspd', 'lssd', 'fbi', 'dea' } -- A list of job identifiers associated with this group.
    },
    {
        Label = 'Medic',
        Jobs = { 'ambulance', 'medic', 'paramedic', 'doctor' }
    },
    {
        Label = 'Mechanic',
        Jobs = { 'mechanic', 'car' }
    },
    {
        Label = 'Taxi',
        Jobs = { 'taxi' }
    },
    -- You can add more job groups below in the same format as above. Each group should have a unique Label and a list of Jobs associated with it.
}

-- Configuration for heists that will be displayed on the scoreboard. This includes heist names and job requirements.
Config.Heists = {
    {
        Name = 'Pacific Heist', -- Name of the heist as it will appear on the scoreboard.
        MinJob = 7, -- Minimum number of players in the specified job required to display the heist.
        JobCheck = 'Police' -- Must be the same as the job label in Config.Jobs.
    },
    {
        Name = 'Fleeca Heist',
        MinJob = 1,
        JobCheck = 'Police'
    },
    {
        Name = 'Example Heist 1',
        MinJob = 2,
        JobCheck = 'Police'
    },
    {
        Name = 'Example Heist 2',
        MinJob = 1,
        JobCheck = 'Police'
    },
    {
        Name = 'Example Heist 3',
        MinJob = 5,
        JobCheck = 'Police'
    },
    -- You can add more heists below in the same format as above. Each heist should have a unique Name, a MinJob number, and a JobCheck that matches a job group Label from Config.Jobs.
}

-- Mark a Heist as "BUSY" when it's in progress with the following server-side event:
-- Use: TriggerEvent("forge-scoreboard:setHeistBusy", "HeistName", CooldownMillis)
-- Example: TriggerEvent("forge-scoreboard:setHeistBusy", "Fleeca Heist", 900000) -- Fleeca Heist marked as busy for 15 mins.
-- "HeistName" is the exact name from Config.Heists. CooldownMillis is the busy duration in milliseconds.
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% hint style="success" %}
**If you want to edit the aesthetics or design. You have the HTML open so you can modify the style and everything as you want.**

The script is **RESPONSIVE** for all resolutions as well.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://codeforge.gitbook.io/codeforge/sleek-series/sleek-scoreboard.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
