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)