I have made a global player leaderboard which worked perfectly fine until about yesterday, when the frames containing the player names/scores suddenly stopped showing up. No clue why this is happening.
local function addPlr(plr, value)
if value ~= nil and tonumber(plr) > 0 then
local element = globalLeaderboard:FindFirstChild("PlayerEntry"):Clone()
print(element.Name)
local image = element:FindFirstChild("PlayerImage")
local name = element:FindFirstChild("Name")
local amount = element:FindFirstChild("Score")
local plrImage = players:GetUserThumbnailAsync(plr, imageType, imageSize)
name.Text = players:GetNameFromUserIdAsync(plr)
amount.Text = tostring(value).. " R$"
image.Image = plrImage
element.Parent = globalLeaderboard:FindFirstChild("SurfaceGui"):FindFirstChild("Main")
print(element.Parent.Name)
end
end
local function updateMenu()
print("Update menu called")
local page
local success, err = pcall(function()
page = leaderboard:GetSortedAsync(smallestFirst, 100, 1)
end)
clearList()
if page ~= nil then
for i,v in pairs(page:GetCurrentPage()) do
local userId = v["key"]
local value = v["value"]
if userId and value then
addPlr(userId, value)
end
end
end
end
Some context: UpdateMenu is being called every 15 seconds, “print(element.Parent.Name)” is not nil, and the players are being retrieved successfully from the datastore. No errors are being thrown in the script, it’s successfully creating and parenting the player list elements, they’re just not visible for some reason.