local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local LevelGlobalStore = DataStoreService:GetOrderedDataStore("LevelGlobalStore")
local Board = workspace.LevelsLeaderboard.GlobalBoard
local Template = Board.SurfaceGui.Leaderboard.Template:Clone()
Board.SurfaceGui.Leaderboard.Template:Destroy()
local function update()
for _,child in pairs(Board.SurfaceGui.Leaderboard:GetChildren()) do
if child:IsA("Frame") then
child:Destroy()
end
end
local success,err = pcall(function()
local data = LevelGlobalStore:GetSortedAsync(false,40)
local page = data:GetCurrentPage()
for rank,plrData in ipairs(page) do
local userid = plrData.key
local Level = plrData.value
local new = Template:Clone()
new.PlrName.Text = Players:GetNameFromUserIdAsync(userid)
new.PlrAmount.Text = Level
new.PlrRank.Text = tonumber(rank)
new.LayoutOrder = rank
new.Parent = Board.SurfaceGui.Leaderboard
end
end)
end
while true do
update()
wait(math.random(10,15))
spawn(function()
for _,plr in pairs(game.Players:GetPlayers()) do
LevelGlobalStore:SetAsync(plr.UserId,plr.leaderstats.Level.Value)
wait()
end
end)
end