This only displays one player's data
local DataStoreService = game:GetService("DataStoreService")
local KillDataStore = DataStoreService:GetOrderedDataStore("KillLeaderboard")
local LeaderboardPart = script.Parent.Parent.Parent
local RefreshRate = 100
local function RefreshLeaderboard()
for i, Player in pairs(game.Players:GetPlayers()) do
KillDataStore:SetAsync(Player.UserId, Player.leaderstats.Kills.Value)
end
local Success, Error = pcall(function()
local Data = KillDataStore:GetSortedAsync(false,10)
local KillPage = Data:GetCurrentPage()
for Rank, SavedData in ipairs(KillPage) do
local Username = game.Players:GetNameFromUserIdAsync(tonumber(SavedData.key))
local Kill = SavedData.value
if Kill then
local NewSample = script.Parent.Sample:Clone()
NewSample.Visible = true
NewSample.Parent = LeaderboardPart.SurfaceGui.PlayerHolder
NewSample.Name = Username
NewSample.RankLabel.Text = "#"..Rank
NewSample.NameLabel.Text = Username
NewSample.KillsLabel.Text = "????"..Kill
end
end
end)
end
while true do
for i, Frame in pairs(LeaderboardPart.SurfaceGui.PlayerHolder:GetChildren()) do
if Frame.Name ~= "Sample" and Frame:IsA("Frame") then
Frame:Destroy()
end
end
RefreshLeaderboard()
wait(RefreshRate)
end
