#why is my leaderboard only showing one player?
1 messages · Page 1 of 1 (latest)
Send the scripgt
alr
local DSS = game:GetService("DataStoreService")
local WinsDS = DSS:GetOrderedDataStore("Wins")
local Playerholder = script.Parent.Leaderboard.SurfaceGui.Body.Container.CanvasGroup.Content.PlayerHolder.List
local function updateBoard()
local success, errorMessage = pcall(function()
local Data = WinsDS:GetSortedAsync(false, 10)
local page = Data:GetCurrentPage()
for rank, data in (page) do
local nameID = game.Players:GetNameFromUserIdAsync(tonumber(data.key))
local nickname = nameID
local score = data.value
local onLeaderboard = false
for i, v in pairs(Playerholder:GetChildren()) do
if v.Name ~= "UIListLayout" then
if v.Player.Text == nickname then
onLeaderboard = true
end
end
end
if not onLeaderboard then
local newFrame = script.Item:Clone()
newFrame.PlayerLabel.Text = nickname
newFrame.ScoreLabel.Text = score
newFrame.RankLabel.Text = "#" .. rank
newFrame.Parent = Playerholder
newFrame.Visible = true
end
end
end)
if not success then
print(errorMessage)
end
end
task.wait(1)
while true do
for _, plr in (game.Players:GetPlayers()) do
WinsDS:SetAsync(plr.UserId, plr:WaitForChild("leaderstats").Rebirths.Value)
end
for _, frame in (Playerholder:GetChildren()) do
if frame.Name ~= "UIListLayout" then
frame:Destroy()
end
end
updateBoard()
task.wait(60)
end
local DSS = game:GetService("DataStoreService")
local WinsDS = DSS:GetOrderedDataStore("Wins")
local Playerholder = script.Parent.Leaderboard.SurfaceGui.Body.Container.CanvasGroup.Content.PlayerHolder.List
local function updateBoard()
local success, errorMessage = pcall(function()
local Data = WinsDS:GetSortedAsync(false, 10)
local page = Data:GetCurrentPage()
for rank, data in page do
local nameID = game.Players:GetNameFromUserIdAsync(tonumber(data.key))
local nickname = nameID
local score = data.value
local onLeaderboard = false
for i, v in pairs(Playerholder:GetChildren()) do
if v.Name ~= "UIListLayout" then
if v.PlayerLabel.Text == nickname then
onLeaderboard = true
end
end
end
if not onLeaderboard then
local newFrame = script.Item:Clone()
newFrame.PlayerLabel.Text = nickname
newFrame.ScoreLabel.Text = score
newFrame.RankLabel.Text = "#" .. rank
newFrame.Parent = Playerholder
newFrame.Visible = true
end
end
end)
if not success then
print(errorMessage)
end
end
task.wait(1)
while true do
for _, plr in pairs(game.Players:GetPlayers()) do
WinsDS:SetAsync(plr.UserId, plr:WaitForChild("leaderstats").Rebirths.Value)
end
for _, frame in pairs(Playerholder:GetChildren()) do
if frame.Name ~= "UIListLayout" then
frame:Destroy()
end
end
updateBoard()
task.wait(60)
end
there alot of bugs here
try that script i gave you
okay
lmk if it works
im helping sum one
** You are now Level 1! **
rn
ye
@dense summit @vagrant monolith Btw you can put your code into a code block by doing ` 3 times and then typing lua like
--Put text here
ik