Hello. I have this DataStore
here that I am using for a donation board. Money
should return 100 for me, since the number 100 is stored for me under DonationDataS
, however, Money
returns 0 under my user ID. When I print my datastore, it prints “100” like it should, but this time, it doesn’t. Can anyone help? Here is my script.
local service = game:GetService("DataStoreService")
local DLeaderboard = service:GetOrderedDataStore("DonationDataS")
local function upadteLeaderboard()
local success,errormessage = pcall(function()
local Data = DLeaderboard:GetSortedAsync(false, 50)
local DonationPage = Data:GetCurrentPage()
for Rank, data in ipairs(DonationPage) do
local userName = game.Players:GetNameFromUserIdAsync(tonumber(data.key))
local Name = userName
local Money = data.value
local isOnLeaderboard = false
for i,v in pairs(workspace.DonationBoard.MainBoard.Main.SurfaceGui.ScrollingFrame:GetChildren()) do
if v:IsA("Frame") and v.User.Text == Name then
isOnLeaderboard = true
break
end
end
if Money and isOnLeaderboard == false then
local newLbFrame = game.ReplicatedStorage.Sample:Clone()
newLbFrame.User.Text = Name
newLbFrame.Amount.Text = Money
newLbFrame.Number.Text = "#" .. Rank
newLbFrame.Name = "Donator" .. Rank
newLbFrame.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,i*amount)
end
end
end)
if not success then
print("Error: " .. errormessage)
end
end
while true do
for _, frame in pairs(workspace.DonationBoard.MainBoard.Main.SurfaceGui.ScrollingFrame:GetChildren()) do
if frame:IsA("Frame") then
frame:Destroy()
end
end
upadteLeaderboard()
wait(30)
end