Hello Developers,
Before I start, please note that I want to be explained the answer, not just spoonfed. I want to actually learn from this mistake. Please keep that in mind.
I’ve been working on a Global Leaderboard for my game, K-Pop hangout. After watching a tutorial from @UseCode_Tap, I thought that I understood OrderedDataStores
. However, this is the error I keep getting:
I’ve tried a few diffrent solutions with no luck. Here is my code:
DataService
local DataStoreService = game:GetService("DataStoreService")
local WinsLeaderboard = DataStoreService:GetOrderedDataStore("timeDataStore".."-time")
local function updateLeaderboard()
local success, errorMessage = pcall(function()
local Data = WinsLeaderboard:GetSortedAsync(false, 5)
local WinsPage = Data:GetCurrentPage()
for Rank, data in ipairs(WinsPage) do
local userName = game.Players:GetNameFromUserIdAsync(tonumber(data.key))
local Name = userName
local Time = data.value
local isOnLeaderboard = false
for i, v in pairs (game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder:GetChildren()) do
if v.Player.Text == Name then
isOnLeaderboard = true
break
end
end
local userName = Data.key
print(userName)
if Time and isOnLeaderboard == false then
local newLbFrame = game.ReplicatedStorage:WaitForChild("LeaderboardFrame"):Clone()
newLbFrame.Player.Text = Name
newLbFrame.Time.Text = Time
newLbFrame.Rank.Text = "#"..Rank
newLbFrame.Position = UDim2.new(0, 0, newLbFrame.Position.Y.Scale + .08 * #game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder:GetChildren(), 0)
newLbFrame.Parent = game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder
end
end
end)
if not success then
warn(errorMessage)
end
end
while true do
for _, player in pairs (game.Players:GetPlayers()) do
WinsLeaderboard:SetAsync(player.UserId .. "-time", player.leaderstats.TimePlayed.Value)
end
for _, frame in pairs (game.Workspace.GlobalLeaderboard.LeaderboardGUI.Holder:GetChildren()) do
frame:Destroy()
end
updateLeaderboard()
print("Updated Leaderboard")
wait(30)
end
Here is workspace, just in case:
Data saves fine, datastores are seeminly not the issue. I think I might be using OrderedDataStore
wrong.
Again, I am a novice scripter, so I would like to be explained the solution, not just spoonfed.
Thank you!