I'm not sure why, no output or anything but ordereddatabase won't work, even in real servers, here is my code:
[game.ServerScriptService.serverScripts.globalLeaderboard]
local ds1 = game:GetService("DataStoreService"):GetOrderedDataStore("Points")
local clientFireEvent = game.ReplicatedStorage.remoteEvents.updateLeaderboard
while true do
success,fail=pcall(function()
local ConvertedPointsData = {}
local ds2 = ds1:GetSortedAsync(false,100)
local ds3 = ds2:GetCurrentPage()
for i,v in pairs(ds3) do
local playerName
local s,fail=pcall(function() playerName = game.Players:GetNameFromUserIdAsync(v.Key) end)
if s then
local dataToPass = {
key="",
value=0,
id=0
}
dataToPass.key=playerName
dataToPass.value=v.Value
dataToPass.value=v.Key
ConvertedPointsData[#ConvertedPointsData+1]=dataToPass
else
print(fail)
end
end
clientFireEvent:FireAllClients(ConvertedPointsData)
end)
if fail then
print(fail)
end
wait(60)
end
[game.StarterGui.Menu.Frame.LocalScript]
local updateLeaderboard = game:GetService("ReplicatedStorage").remoteEvents.updateLeaderboard
function addComas(str)
return #str % 3 == 0 and str:reverse():gsub("(%d%d%d)", "%1,"):reverse():sub(2) or str:reverse():gsub("(%d%d%d)", "%1,"):reverse()
end
updateLeaderboard.OnClientEvent:connect(function(data)
for i,v in pairs(script.Parent.ScrollingFrame:GetChildren()) do
if v.Name=="leaderstatTemplate" then
v:Destroy()
end
end
for i,v in pairs(data) do
local template = game.Players.LocalPlayer.PlayerGui.leaderstatTemplate
template.image.Image = "https://www.roblox.com/headshot-thumbnail/image?userId="..v.id.."&width=150&height=150&format=png"
template.amount.Text = addComas(tostring(v.value))
template.name.Text = v.key
template.rank.Text = "#"..i
template.Position = UDim2.new(0,0,0.1,0) + UDim2.new(0,0,.1*i,0)
template.Parent = script.Parent.ScrollingFrame
end
end)
