How to remove limit from leaderboard?

Hello, I made a leaderboard and it doesn’t show big numbers, only up to a million or 9.23Qi and I know the roblox limit and I use number value help me fix it somehow any help is appreciated

--// GENERAL VARIABLES
local DSS = game:GetService("DataStoreService")
local DataStore = DSS:GetOrderedDataStore("test")
local moduleSc = require(game.ReplicatedStorage.Abbreviate)

--// UI VARIABLES

local UI = script.Parent.SurfaceGui
local basePlayerFrame = UI.BasePlayerFrame
local boardFrame = UI.ScrollingFrame

--// Functions
local function SaveData()
	for _, player in pairs(game:GetService("Players"):GetPlayers()) do
		local plr_key = "id_" .. player.UserId .. "_Strength"


		local Strength = player:FindFirstChild("Strength")
		if Strength and typeof(Strength.Value) == "number" then
			local success, result = pcall(function()
				DataStore:SetAsync(plr_key, math.floor(Strength.Value))
			end)

			if not success then 
				warn(result)
			end
		else
			warn("Strength " .. player.Name)
		end
	end
end


local function getTop10Players()
	local isAscending = false
	local pageSize = 10
	local pages = DataStore:GetSortedAsync(isAscending, pageSize)
	local top10 = pages:GetCurrentPage()

	local top = {}

	for rank, data in ipairs(top10) do
		local dataName = data.key
		local name = game:GetService("Players"):GetNameFromUserIdAsync(dataName:split('_')[2])
		local Strength = data.value

		local currentPlayer =  { Player = name, Strength = Strength, Rank = rank, }
		table.insert(top, rank, currentPlayer)
	end

	return top
end

local function ClearList()
	task.spawn(function()	
		for _, plrFrame in pairs(boardFrame:GetChildren()) do
			if not plrFrame:IsA("Frame") then continue end
			plrFrame:Destroy()
			task.wait(0.25)
		end
	end)
end

local function UpdateList()
	SaveData()
	ClearList()
	local top50 = getTop10Players()

	task.spawn(function()	
		for _, plr in ipairs(top50) do
			local frame = basePlayerFrame:Clone()
			frame.Parent = boardFrame

			frame.name.Text = plr.Player
			frame.Strength.Text = moduleSc.abbreviate(plr.Strength) 
			frame.rank.Text = plr.Rank

			frame.Visible = true
			task.wait(0.25)
		end
	end)
end


task.spawn(function()
	while true do
		UpdateList()
		for count=5,0,-1 do
			script.Parent.Part.SurfaceGui.Count.Text = "Leaderboard Updating In:" .. count .. " seconds!"
			task.wait(1)
		end
	end
end)
2 Likes

This is still relevant please help

so the current problem is the leaderboard shows values such as 10B or smth?

You could probably convert your number to a string, like 10B → “10,000,000,000.0” or “10,000,000,000” or “10000000000”, store it in your database, and when you retrieve the string, convert it back to a number.

It doesn’t show up at all in the leaderboard for me, like look, I understand that I have a limit of up to 1 million, I want to remove this limit.

Can you elaborate on this?I just didn’t understand

can u show a screenshot of the leaderboard with a player on it

It only shows my name and statistics 200k and I already have 20sp

he means just make a new stringvalue and its value is the strength number

I understood that I should do it this way?

Local Strength= instance.new("StringValue"player)

like basically

local strength = Instance.new("StringValue")
strength.Parent = player
strength.Value = player:FindFirstChild("Strength").Value

actually idk if this works just try im not experienced with limits…

I’ll send you the error that the leaderboard gives right now

i think ik the error that u cant convert number into string

ok then uh lemme think gimme some minutes

Use tonumber(string) to convert the string to number for you to change / save the number.

ye whatever reece said i definitely knew that

It didn’t help me either, it also gives an error

But in any case, I’ll check now

Please post the script and show me how you’re using it I can’t help you without it