Hello. I am making a donation leaderboard, but this script is giving me 1 key/value, even though multiple users have data under this datastore. Can anyone help? Here is my script:
local TotalWheatODS = game:GetService("DataStoreService"):GetOrderedDataStore("DDS")
local function Handler()
local succ, Err = pcall(function()
local Data = TotalWheatODS:GetSortedAsync(false, 50)
local TotalWheatPage = Data:GetCurrentPage()
for Rank, Data in ipairs(TotalWheatPage) do
local userId = Data.key
local Name = game.Players:GetNameFromUserIdAsync(tonumber(Data.key))
local TotalWheat = Data.value
local newObj = game.ReplicatedStorage.Sample:Clone()
newObj.User.Text = Name
newObj.Amount.Text = TotalWheat
newObj.ImageLabel.Image = game.Players:GetUserThumbnailAsync(tonumber(userId), Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size180x180)
newObj.Parent = workspace.DonationBoard.MainBoard.Main.SurfaceGui.ScrollingFrame
end
for i = 1, #workspace.DonationBoard.MainBoard.Main.SurfaceGui.ScrollingFrame:GetChildren() do
local amount = i - 1
workspace.DonationBoard.MainBoard.Main.SurfaceGui.ScrollingFrame.CanvasSize = UDim2.new(0,0,0,70*amount)
end
end)
if not succ then
end
end
while true do
for _, Player in pairs(game.Players:GetPlayers()) do
TotalWheatODS:SetAsync(Player.UserId, Player:WaitForChild("Donated").Value)
end
for _, v in pairs(workspace.DonationBoard.MainBoard.Main.SurfaceGui.ScrollingFrame:GetChildren()) do
if v:IsA("Frame") then
v:Destroy()
end
end
Handler()
wait(10)
end