[PAID][QBCORE][ESX] Advanced Scoreboard

MS_SCORE BOARD

  • A Score Board UI built with svelte and nice looking UI and dynamic Sections

Why this Score Board Script?

  • Again I Was Looking for a better and good scoreboard UI for my server that fulfills my server needs therefore me and my dev Friend decided to make one

  • This Scoreboard Contains a player list with their ID and job name based on the server job and on the left side there is a job and business section which going to shows job and service names and how many people are there right now which is totally dynamic and configurable in config side

  • It’s currently supporting QBCore / Qbox / ESX

Update V1.1

  • Icon support added for staff and for people with a certain discord role

  • Added customized options for configure icon and color check Shared/config.lua → Config.PrioritySettings and services.lua → Config.Services for more info

  • Added Character name support for ESX/QB/QBX

  • Adde Version Check

  • Rework on Discord role check method

  • Better Usage of ox_lib keybind

  • Refactored Code Styles

SOME INFO

  • to change the logo of your scoreboard replace the logo.png located at html/logo.png

  • to open your scoreboard press y once to show the ID and long press to view the full scoreboard

  • To configure your scoreboard there is 2 config file one is the basic config name as config.lua || & services. lua for adding and removing services and config their color name etc located in the shared directory

CONFIG SHOWCASE


Config = Config or {}

if GetResourceState('qb-core') == 'started' then
    Config.Core = 'qb'
elseif GetResourceState('es_extended') == 'started' then
    Config.Core = 'esx'
else
    Config.Core = false
end

Config.Guild_ID = ''  --server id
Config.FormattedToken = ''   --server bot token
Config.EnablePrioritySettings = false  -- Toggle key to enable or disable custom color for priority holder

Config.PrioritySettings = {
    --[[ ['784015321358139412'] = {
        cardcolor =  {
            background = '#421F21', -- hex code for primary background color of card
            color = '#E0312A', -- hex code for secondary background color of card
            text = 'white', -- hex code for text color of card
        },
        icon = 'fa-solid fa-code', -- font awesome icon name/false - for no icon
    }, ]]
}

Config.PressTimer = 1 -- in seconds for pressing key to open scoreboard
Config.ViewIdDistance = 10.0  -- viewing distance for player overhead id
Config.MouseKey = 238  -- mouse key value to interact with list(prefer not to change)
Config.ColorOnVoiceToggle = true  -- Toggle key to enable or disable color on voice active
Config.ColorCodeOnVoice = {0, 0, 255}  -- Voice Active color code value (r, g, b)

Config.Identifier = 'name' -- Identifier to display on scoreboard (name, steam2, steam3, license, discord, charname only [framework based qb and esx charcter name are suopported] )
Config.Keybind = 'Y' --- The Key for open or close the scoreboard

Services Config

local JOBS = {}

if Config.Core == 'qb' then
    JOBS = QBCore.Shared.Jobs
elseif Config.Core == 'esx' then
    JOBS = lib.callback.await('ms_scoreboard:server:getjobs', false)
end

function GetJoblabel(job)
    if Config.Core == 'qb' then
        return JOBS[job] and JOBS[job].label or 'N/A'
    elseif Config.Core == 'esx' then
        return JOBS[job] and JOBS[job].label or 'N/A'
    end
    return 'N/A'
end

Config.Services = {  -- Service Job Holder list
    {
        label= 'Services',
        icon= 'fas fa-building-columns',
        job= {
            {
                label= GetJoblabel('police'),
                amount= 2,
                background= '#1A2C3F',
                color= '#1A3959',
                text= 'white',
                icon= 'fa-solid fa-person-military-rifle',
            },
            {
                label= GetJoblabel('ambulance'),
                amount= 6,
                background= '#421F21',
                color= '#E0312A',
                text= 'white',
                icon= 'fa-solid fa-user-doctor',
            },
            {
                label= GetJoblabel('bcso'),
                amount= 5,
                background= '#453218',
                color= '#957223',
                text= 'white',
                icon= 'fa-solid fa-person-military-rifle',
            },
        },
    },
    {
        label= 'Business',
        icon= 'fas fa-suitcase',
        job= {
        {
                label= GetJoblabel('cardealer'),
                amount= 10,
                background= '#193B33',
                color= '#099268',
                text= 'white',
                icon= 'fas fa-car',
            },
            {
                label= GetJoblabel('luxurydealer'),
                amount= 12,
                background= '#473919',
                color= '#E67700',
                text= 'white',
                icon= 'fas fa-car',
            },
            {
                label= GetJoblabel('tuner'),
                amount= 15,
                background= '#2D2F35',
                color= '#585E72',
                text= 'white',
                icon= 'fa-solid fa-wrench',
            }
        },
    },
    {
        label= 'Restaurants',
        icon= 'fas fa-utensils',
        job= {
            {
                label= GetJoblabel('catcafe'),
                amount= 12,
                background= '#38222D',
                color= '#A61E4D',
                text= 'white',
                icon= 'fas fa-paw',
            },
            {
                label= GetJoblabel('burgershot'),
                amount= 15,
                background= '#332A1A',
                color= '#E69500',
                text= 'white',
                icon= 'fas fa-burger',
            }
        },
    },
}
  • Note: If you need any other support let me know by replying to this topic

Some Picture preview


:shopping: Buy from Tebex

Code is accessible partial
Subscription-based no
Lines (approximately) 549 (without config and ui src)
Requirements qb-core or esx or qbox & rpemotes
Support Yes, qb-core, esx, qbox
3 Likes

Any plans to add an icon for staff and an icon for people with a certain discord role?

hey there yes its just got released and definitely me &my friend are motivated to update the script with suggestions

1 Like

Worth mentioning it’s in mantine and the bundle size for mantine just for a scoreboard is very unreasonable, eventually could cause ui lags :slight_smile:

Yeah, ive been desperately looking for a scoreboard where it displays an icon for admins and an icon for people with a certain discord role

Its in svelte, not react

will update i like the suggestion

1 Like

mmm this looks familiar I swear I saw an exact-looking one somewhere else.

This looks like a poorly made copy of another creator’s scoreboard.

That’s where I saw it.

1 Like

ui looks similar but here is different this scoreboard using svelte and lua is deferent thanks

what you mean by poorly made ?

Its though has a discord role based color that you can see in picture thoo

Making it in a different language doesn’t change the fact that the design itself is someone else’s.

Poorly made copy; as in: an attempt was made to copy the source material, but it was done badly.

  • The proportions and scaling are off, specifically for the jobs and services. Almost all elements look too big for their parent containers.
  • The “Civilian” role has three different colors, whatever that implies.
  • The only thing added to the original design was a different color background to the jobs/services menu, and icons.

How do you get it to show RP names? Its showing steam names of players when i have "names’ selected in config

Are those design patented? I see just the structural copy of the scoreboard, being in a diff language means its self designed and worked i dont see why you 3rd person singular number argue in the middle when the the devs are not bothered about each other releases.

And lastly Thanks for those unwanted suggestions, we know what we are making!

1 Like

It dont support ign name but we will put it in suggestion

Ahh ok. i thought that’s what was being used in this picture.

Which one is selected for names like this to show up?

The picture you are watching in dev mode with just a JSON data to populate the ui during testing but we will give an option to have framework based in character names too the update will push in few days