Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Why is the global leaderboard not working?

Asked by 3 years ago

I have used a tutorial for this, I also made an additional leaderboard, this is for a speedrun game and you need the fastest times (mainly top 8) to make it to the leaderboard, but the leaderboard appears to be empty, here is my script:

wait(5)

local ds = game:GetService("DataStoreService")
local ts = ds:GetOrderedDataStore("Time")

local function update()
    print("leaderboard updated")
    local y, n = pcall(function()
        local data = ts:GetSortedAsync(true, 8)
        local page = data:GetCurrentPage()
        for rank, Data in pairs(page) do
            local username = game.Players:GetPlayerByUserId(tonumber(Data.key))
            local name = username
            local bestTime = Data.Value
            local onLeaderboard = false
            for i,v in pairs(script.Parent.Frame.List.ListContent:GetChildren()) do
                if(v.Player.Text == name)then
                    onLeaderboard = true
                end

                if bestTime and not onLeaderboard then
                    local sample = script.Sample:Clone()
                    sample.Username = name
                    sample.Value = bestTime
                    sample.Number = rank
                    sample.Position = UDim2.new(0,0,sample.Position.Y.Scale + (.08 * #script.Parent.Frame.List.ListContent:GetChildren()), 0)
                    sample.Parent = script.Parent.Frame.List.ListContent
                end
            end
        end
    end)

    if n then
        print("YOU FAIL!!!!!!")
    end
end

update()

while wait(60) do
    for _,plr in pairs(game.Players:GetPlayers()) do
        local pb = plr.leaderstats["Best Time"].Value * 100
        local data = ts:SetAsync(plr.UserId, pb)
    end

    for _,fra in pairs(script.Parent.Frame.List.ListContent:GetChildren()) do
        fra:Destroy()
    end

    update()
end

Thank you for any help in advance

Answer this question