Roblox heeft een ingebouwde ranglijst in de Spelerslijst. Hier, Vrienden en Globaal zijn weergaven van dezelfde lijst: Hier toont sessierangschikkingen voor spelers op de huidige server, en Vrienden en Globaal tonen persistente rangschikkingen vanuit een geordende gegevensopslag die je registreert in Creator Hub.

Weergaven van ranglijsten
De Spelerslijst vergelijkt scores over deze weergaven:
| Weergave | Rangschikkingen |
|---|---|
| Hier | Sessierangschikkingen voor spelers op de huidige server, vanuit leaderstats. |
| Vrienden | Persistente rangschikkingen onder de vrienden van een speler die de ervaring hebben gespeeld. |
| Globaal | Persistente rangschikkingen onder spelers in de ervaring. |
Gebruik leaderstats om Hier te vullen. Gebruik een geordende gegevensopslag om Vrienden en Globaal te vullen.
Beheer sessieranglijsten met leaderstats
Een leaderstats-map op elke speler stuurt de Hier-weergave. De volgende stappen stellen die map in, voegen statistieken toe, werken ze bij tijdens een sessie, regelen hun volgorde en verbergen de Spelerslijst.
Stel leaderstats in
Om de ranglijst in te stellen en spelers toe te voegen wanneer ze de ervaring binnenkomen:
Maak een nieuwe Script binnen ServerScriptService en noem het Leaderboard.

Verbind in het script een functie met het PlayerAdded-evenement.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)Maak binnen de verbonden functie een nieuwe Folder-instantie, noem het leaderstats, en maak het een kind van de speler.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
Voeg statistieken toe
Ranglijsten gebruiken waarde-type objecten om spelersstatistieken op te slaan en weer te geven. Dit script toont de goud van een speler met een IntValue, een tijdelijke aanduiding voor een geheel getal.
Voeg in de leaderboardSetup()-functie de regels 8 tot en met 11 toe:
local Players = game:GetService("Players")
local function leaderboardSetup(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
end
Players.PlayerAdded:Connect(leaderboardSetup)Deze regels bereiken het volgende:
Een IntValue-instantie wordt gemaakt.
De Name van de instantie wordt ingesteld op "Gold". Dit is precies hoe de statistiek op de ranglijst zal verschijnen.

De initiële Value van de statistiek wordt ingesteld op 0. Stel dit in op elke waarde die je wilt, inclusief een waarde die is opgeslagen in een gegevensopslag als je persistente ranglijsten implementeert.
De instantie wordt als kind toegevoegd aan de leaderstats-map, waardoor deze aan de ranglijst wordt toegevoegd. Wanneer een speler de ervaring binnenkomt, verschijnt hun naam op de lijst.

Werk statistieken bij
Om de ranglijststatistiek van een speler bij te werken, wijzig je de Value-eigenschap van die statistiek binnen hun leaderstats-map. Je kunt bijvoorbeeld de volgende Script aan elk ophaalobject koppelen om de Gold-statistiek van de speler die het verzamelt te verhogen.
local Players = game:GetService("Players")
local goldChunk = script.Parent
local function onPartTouch(otherPart)
local partParent = otherPart.Parent
local player = Players:GetPlayerFromCharacter(partParent)
local leaderstats = player and player:FindFirstChild("leaderstats")
local goldStat = leaderstats and leaderstats:FindFirstChild("Gold")
if goldStat then
-- Vernietig de ophaal
goldChunk:Destroy()
-- Werk de ranglijststatistiek van de speler bij
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)Orden statistieken
Er zijn drie manieren om de volgorde van statistieken in een ranglijst te regelen:
- Voeg de statistieken toe in de volgorde waarin je wilt dat ze verschijnen.
- Voeg een kind BoolValue genaamd IsPrimary toe aan de statistiek en stel de waarde in op true om de statistiek als eerste in de ranglijst te plaatsen.
- Voeg een kind NumberValue genaamd Priority toe aan de statistiek en stel de waarde in op een geheel getal. Hogere prioriteitswaarden verschijnen eerder in de ranglijst. Statistieken zonder prioriteit hebben een standaardprioriteit van 0.
Dit codevoorbeeld toont hoe je een IsPrimary-waarde aan een statistiek toevoegt:
local Players = game:GetService("Players")
local function leaderboardSetup(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
local isPrimary = Instance.new("BoolValue")
isPrimary.Name = "IsPrimary"
isPrimary.Value = true
isPrimary.Parent = gold
end
Players.PlayerAdded:Connect(leaderboardSetup)Verberg de ranglijst
Om de ranglijst te verbergen, bijvoorbeeld op een menu scherm of tijdens een cutscene, roep je SetCoreGuiEnabled() aan vanuit een clientscript.
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)Beheer persistente ranglijsten met een geordende gegevensopslag
Vrienden en Globaal lezen scores uit een geordende gegevensopslag die je registreert in Creator Hub. De geordende gegevensopslag blijft de bron van waarheid, en Roblox toont de geconfigureerde scores in de Spelerslijst. Dit stelt je in staat om persistente sociale en globale rangschikkingen toe te voegen zonder een aparte ranglijstinterface of rangschikkingsservice te bouwen.
De initiële beta ondersteunt één actieve persistente ranglijst per ervaring. Alleen een geregistreerde, actieve ranglijst verschijnt in de Vrienden en Globaal weergaven.
Gegevensvereisten
Voordat je een ranglijst registreert, bevestig dat de gegevens aan deze vereisten voldoen:
- Een enkele geordende gegevensopslag ondersteunt de ranglijst.
- Elke speler heeft één numerieke score in die geordende gegevensopslag.
- Elke sleutel identificeert één speler op basis van gebruikers-ID, hetzij direct of via een consistent formaat dat de gebruikers-ID bevat.
- Je ervaring schrijft score-updates naar de geordende gegevensopslag. Het platform leest scores maar schrijft ze niet.
- Je score-schrijflogica draait op de server.
Bereid geordende gegevens voor
Kies het pad dat overeenkomt met hoe je ervaring momenteel scores opslaat.
Gebruik een bestaande geordende gegevensopslag
Als je ervaring al ranglijstscores opslaat in een compatibele geordende gegevensopslag, houd die gegevensopslag dan en registreer deze in Creator Hub. Bevestig dat elke invoer een numerieke score bevat en dat de sleutel consistent één speler identificeert.
Je hoeft de ranglijstgegevens niet opnieuw op te bouwen of deze in een aparte rangschikkingsservice te kopiëren.
Maak een geordende gegevensopslag
Als je nog geen ranglijstgegevens hebt, maak dan een geordende gegevensopslag en voeg deze toe aan je bestaande server-side scoreflow. Schrijf één numerieke score voor elke speler en gebruik de gebruikers-ID van de speler als sleutel of neem de gebruikers-ID op in een consistent sleutelformaat.
local DataStoreService = game:GetService("DataStoreService")
local playerScores = DataStoreService:GetOrderedDataStore("PlayerScores")
local function saveScore(player, score)
local success, errorMessage = pcall(function()
playerScores:SetAsync(tostring(player.UserId), score)
end)
if not success then
warn(errorMessage)
end
endVerifieer dat scores aanwezig zijn voordat je de gegevensopslag registreert in Creator Hub. Voor meer informatie over het opslaan en sorteren van persistente waarden, zie geordende gegevensopslagen.
Migreer scores van een andere backend
Als een standaard gegevensopslag, externe database of een andere backend je ranglijstgegevens opslaat, migreer dan de scores die je wilt weergeven naar een geordende gegevensopslag. Behoud één numerieke score per speler en gebruik een consistent sleutelformaat dat de speler identificeert.
Na de migratie, werk je scoreflow bij zodat nieuwe scorewijzigingen de geordende gegevensopslag blijven bereiken.
Configureer een ranglijst in Creator Hub
Voordat je begint, bevestig dat je ervaring geldige scores naar de geordende gegevensopslag schrijft.
- Open Creator Hub.
- Selecteer de ervaring die de geordende gegevensopslag bezit.
- Registreer de geordende gegevensopslag die je ranglijstscores bevat.
- Schakel de ranglijst in voor de ervaring.
- Bevestig dat de ranglijst actief is.
- Test de ranglijst in de ervaring en verifieer dat scores verschijnen zoals verwacht.
Het deactiveren van een ranglijst verbergt deze voor spelers, maar verwijdert de geordende gegevensopslag of scores niet.

Test Vrienden en Globaal weergaven
Test met spelers die al score-invoeren hebben.
- Sluit je aan bij de ervaring als een speler met een opgeslagen score.
- Open de ranglijst in de ervaring.
- Selecteer Vrienden en bevestig dat geschikte vrienden verschijnen met de verwachte scores.
- Selecteer Globaal en bevestig dat de speler verschijnt met de verwachte rang en score.
- Werk de score van de speler bij via je bestaande server-side workflow.
- Bevestig dat de ranglijst de bijgewerkte waarde weergeeft.

Beheer scores
Blijf scores bijwerken, corrigeren en modereren via je workflow voor geordende gegevensopslag. Creator Hub beheert welke ranglijst actief is, maar vervangt je score-schrijf- of moderatielogica niet.
Bescherm score-schrijfacties met server-side validatie en controleer verdachte of onmogelijke waarden voordat ze invloed hebben op spelersrangschikkingen.
FAQ
Nee. Als de scores al in een compatibele geordende gegevensopslag staan, registreer die gegevensopslag dan in Creator Hub.
Migreer de scores die je wilt weergeven naar een geordende gegevensopslag en registreer deze vervolgens in Creator Hub.
Jij. De geordende gegevensopslag blijft de bron van waarheid, en je server-side workflow blijft scores bijwerken en modereren.
De initiële beta ondersteunt één actieve persistente ranglijst per ervaring.