What is wrong with my leaderboard?

So I have a global leaderboard in my game, but it shows each player as “#1” and in the wrong order.

Here is my code;

local DataStoreService = game:GetService("DataStoreService")
local DataStore = DataStoreService:GetOrderedDataStore("Leaderboard")

local MainFrame = script.Parent.Parent.Parent
local RefreshRate = 10

local function RefreshLeaderboard()
	for i, Player in pairs(game.Players:GetChildren()) do
		DataStore:SetAsync(Player.UserId, Player.leaderstats.Credits.Value)
	end
	
	local success, Error = pcall(function()
		local Data = DataStore:GetSortedAsync(false, 10)
		local CreditsPage = Data:GetCurrentPage()
		
		for Rank, SavedData in ipairs(CreditsPage) do
			local Username = game.Players:GetNameFromUserIdAsync(tonumber(SavedData.key))
			local Credits = SavedData.value
			
			if Credits and not script.Parent:FindFirstChild(Username) then
				local NewSample = script.Parent.Sample:Clone()
				NewSample.Visible = true
				NewSample.Parent = MainFrame.leaderboard.grid
				NewSample.Name = Username
				NewSample.Text = "#"..Rank.." "..Username.."  "..Credits
			end
		end
	end)
end

while true do
	for i, Frame in pairs(MainFrame.leaderboard.grid:GetChildren()) do
		if Frame.Name ~= "Sample" and Frame:IsA("Frame") then
			Frame:Destroy()
		end
	end
	RefreshLeaderboard()
	wait(RefreshRate)
end


LeaderBoardScript (MRBOGO_YT Editing) - Roblox Studio 3_13_2022 4_24_08 PM (2)

1 Like