Roblox hat eine integrierte Bestenliste in der PlayerList. Hier, Freunde und Global sind Ansichten derselben Liste: Hier zeigt die Sitzungsranglisten für Spieler im aktuellen Server, während Freunde und Global persistente Ranglisten aus einem geordneten Datenspeicher anzeigen, den Sie im Creator Hub registrieren.

Ansichten der Bestenliste
Die PlayerList vergleicht die Punktzahlen über diese Ansichten:
| Ansicht | Ranglisten |
|---|---|
| Hier | Sitzungsranglisten für Spieler im aktuellen Server, aus leaderstats. |
| Freunde | Persistente Ranglisten unter den Freunden eines Spielers, die das Erlebnis gespielt haben. |
| Global | Persistente Ranglisten über Spieler im Erlebnis. |
Verwenden Sie leaderstats, um Hier zu füllen. Verwenden Sie einen geordneten Datenspeicher, um Freunde und Global zu füllen.
Sitzungsbestenlisten mit Leaderstats verwalten
Ein leaderstats-Ordner bei jedem Spieler steuert die Hier-Ansicht. Die folgenden Schritte richten diesen Ordner ein, fügen Statistiken hinzu, aktualisieren sie während einer Sitzung, steuern ihre Reihenfolge und blenden die PlayerList aus.
Leaderstats einrichten
Um die Bestenliste einzurichten und Spieler hinzuzufügen, wenn sie das Erlebnis betreten:
Erstellen Sie ein neues Script innerhalb von ServerScriptService und benennen Sie es Leaderboard.

Verbinden Sie im Skript eine Funktion mit dem PlayerAdded-Ereignis.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)Erstellen Sie innerhalb der verbundenen Funktion eine neue Folder-Instanz, benennen Sie sie leaderstats und setzen Sie sie als Elternteil des Spielers.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
Statistiken hinzufügen
Bestenlisten verwenden Werttyp-Objekte, um Spielerstatistiken zu speichern und anzuzeigen. Dieses Skript zeigt das Gold eines Spielers mit einem IntValue, einem Platzhalter für eine Ganzzahl.
Fügen Sie in der Funktion leaderboardSetup() die Zeilen 8 bis 11 hinzu:
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)Diese Zeilen erreichen Folgendes:
Eine IntValue-Instanz wird erstellt.
Der Name der Instanz wird auf "Gold" gesetzt. So wird die Statistik genau auf der Bestenliste angezeigt.

Der anfängliche Value der Statistik wird auf 0 gesetzt. Setzen Sie dies auf jeden gewünschten Wert, einschließlich eines Wertes, der in einem Datenspeicher gespeichert ist, wenn Sie persistente Bestenlisten implementieren.
Die Instanz wird dem leaderstats-Ordner als Elternteil hinzugefügt, was sie zur Bestenliste hinzufügt. Wenn ein Spieler das Erlebnis betritt, erscheint sein Name auf der Liste.

Statistiken aktualisieren
Um die Bestenlistenstatistik eines Spielers zu aktualisieren, ändern Sie die Value-Eigenschaft dieser Statistik innerhalb ihres leaderstats-Ordners. Zum Beispiel können Sie das folgende Script an ein beliebiges Pickup-Objekt anhängen, um die Gold-Statistik des Spielers, der es einsammelt, zu erhöhen.
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
-- Zerstöre das Pickup
goldChunk:Destroy()
-- Aktualisiere die Bestenlistenstatistik des Spielers
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)Statistiken anordnen
Es gibt drei Möglichkeiten, die Reihenfolge der Statistiken in einer Bestenliste zu steuern:
- Fügen Sie die Statistiken in der Reihenfolge hinzu, in der Sie möchten, dass sie erscheinen.
- Fügen Sie der Statistik ein untergeordnetes BoolValue mit dem Namen IsPrimary hinzu und setzen Sie dessen Wert auf true, um die Statistik zuerst in der Bestenliste zu platzieren.
- Fügen Sie der Statistik ein untergeordnetes NumberValue mit dem Namen Priority hinzu und setzen Sie dessen Wert auf eine Ganzzahl. Höhere Prioritätswerte erscheinen früher in der Bestenliste. Statistiken ohne Priorität haben eine Standardpriorität von 0.
Dieses Codebeispiel zeigt, wie man einen IsPrimary-Wert zu einer Statistik hinzufügt:
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)Die Bestenliste ausblenden
Um die Bestenliste auszublenden, z. B. auf einem Menübildschirm oder während einer Zwischensequenz, platzieren Sie ein LocalScript innerhalb von StarterGui oder StarterPlayerScripts, das einen Aufruf an StarterGui enthält.
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)Persistente Bestenlisten mit einem geordneten Datenspeicher verwalten
Freunde und Global lesen Punktzahlen aus einem geordneten Datenspeicher, den Sie im Creator Hub registrieren. Der geordnete Datenspeicher bleibt die Quelle der Wahrheit, und Roblox zeigt die konfigurierten Punktzahlen in der PlayerList an. Dies ermöglicht es Ihnen, persistente soziale und globale Ranglisten hinzuzufügen, ohne eine separate Bestenlistenoberfläche oder einen Rangdienst zu erstellen.
Die erste Beta unterstützt eine aktive persistente Bestenliste pro Erlebnis. Nur eine registrierte, aktive Bestenliste erscheint in den Ansichten Freunde und Global.
Datenanforderungen
Bevor Sie eine Bestenliste registrieren, bestätigen Sie, dass ihre Daten diese Anforderungen erfüllen:
- Ein einzelner geordneter Datenspeicher unterstützt die Bestenliste.
- Jeder Spieler hat eine numerische Punktzahl in diesem geordneten Datenspeicher.
- Jeder Schlüssel identifiziert einen Spieler durch die Benutzer-ID, entweder direkt oder durch ein konsistentes Format, das die Benutzer-ID enthält.
- Ihr Erlebnis schreibt Punktaktualisierungen in den geordneten Datenspeicher. Die Plattform liest Punktzahlen, schreibt sie jedoch nicht.
- Ihre Logik zum Schreiben von Punktzahlen läuft auf dem Server.
Geordneten Datenspeicher vorbereiten
Wählen Sie den Pfad, der zu der Art passt, wie Ihr Erlebnis derzeit Punktzahlen speichert.
Verwenden Sie einen vorhandenen geordneten Datenspeicher
Wenn Ihr Erlebnis bereits Punktzahlen in einem kompatiblen geordneten Datenspeicher speichert, behalten Sie diesen Datenspeicher bei und registrieren Sie ihn im Creator Hub. Bestätigen Sie, dass jeder Eintrag eine numerische Punktzahl enthält und dass sein Schlüssel einen Spieler konsistent identifiziert.
Sie müssen die Daten der Bestenliste nicht neu erstellen oder in einen separaten Rangdienst kopieren.
Erstellen Sie einen geordneten Datenspeicher
Wenn Sie noch keine Daten für die Bestenliste haben, erstellen Sie einen geordneten Datenspeicher und fügen Sie ihn Ihrem bestehenden serverseitigen Punktesystem hinzu. Schreiben Sie eine numerische Punktzahl für jeden Spieler und verwenden Sie die Benutzer-ID des Spielers als Schlüssel oder fügen Sie die Benutzer-ID in ein konsistentes Schlüssel-Format ein.
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
endStellen Sie sicher, dass Punktzahlen vorhanden sind, bevor Sie den Datenspeicher im Creator Hub registrieren. Weitere Informationen zum Speichern und Sortieren persistenter Werte finden Sie unter geordneten Datenspeichern.
Punktzahlen von einem anderen Backend migrieren
Wenn ein standardmäßiger Datenspeicher, eine externe Datenbank oder ein anderes Backend Ihre Daten für die Bestenliste speichert, migrieren Sie die Punktzahlen, die Sie anzeigen möchten, in einen geordneten Datenspeicher. Bewahren Sie eine numerische Punktzahl pro Spieler auf und verwenden Sie ein konsistentes Schlüssel-Format, das den Spieler identifiziert.
Nach der Migration aktualisieren Sie Ihren Punktesystem-Workflow, damit neue Punktänderungen weiterhin den geordneten Datenspeicher erreichen.
Eine Bestenliste im Creator Hub konfigurieren
Bevor Sie beginnen, bestätigen Sie, dass Ihr Erlebnis gültige Punktzahlen in den geordneten Datenspeicher schreibt.
- Öffnen Sie Creator Hub.
- Wählen Sie das Erlebnis aus, das den geordneten Datenspeicher besitzt.
- Registrieren Sie den geordneten Datenspeicher, der Ihre Punktzahlen für die Bestenliste enthält.
- Aktivieren Sie die Bestenliste für das Erlebnis.
- Bestätigen Sie, dass die Bestenliste aktiv ist.
- Testen Sie die Bestenliste im Erlebnis und überprüfen Sie, ob die Punktzahlen wie erwartet angezeigt werden.
Das Deaktivieren einer Bestenliste blendet sie für Spieler aus, löscht jedoch nicht ihren geordneten Datenspeicher oder die Punktzahlen.

Testen Sie die Ansichten Freunde und Global
Testen Sie mit Spielern, die bereits Punktdatensätze haben.
- Treten Sie dem Erlebnis als Spieler mit einer gespeicherten Punktzahl bei.
- Öffnen Sie die Bestenliste im Erlebnis.
- Wählen Sie Freunde und bestätigen Sie, dass berechtigte Freunde mit den erwarteten Punktzahlen angezeigt werden.
- Wählen Sie Global und bestätigen Sie, dass der Spieler mit dem erwarteten Rang und der Punktzahl angezeigt wird.
- Aktualisieren Sie die Punktzahl des Spielers über Ihren bestehenden serverseitigen Workflow.
- Bestätigen Sie, dass die Bestenliste den aktualisierten Wert widerspiegelt.

Punktzahlen verwalten
Aktualisieren, korrigieren und moderieren Sie Punktzahlen weiterhin über Ihren Workflow im geordneten Datenspeicher. Der Creator Hub steuert, welche Bestenliste aktiv ist, ersetzt jedoch nicht Ihre Logik zum Schreiben oder Moderieren von Punktzahlen.
Schützen Sie das Schreiben von Punktzahlen mit serverseitiger Validierung und überprüfen Sie verdächtige oder unmögliche Werte, bevor sie die Spieler-Ranglisten beeinflussen.
FAQ
Nein. Wenn die Punktzahlen bereits in einem kompatiblen geordneten Datenspeicher sind, registrieren Sie diesen Datenspeicher im Creator Hub.
Migrieren Sie die Punktzahlen, die Sie anzeigen möchten, in einen geordneten Datenspeicher, und registrieren Sie ihn dann im Creator Hub.
Das tun Sie. Der geordnete Datenspeicher bleibt die Quelle der Wahrheit, und Ihr serverseitiger Workflow aktualisiert und moderiert weiterhin die Punktzahlen.
Die erste Beta unterstützt eine aktive persistente Bestenliste pro Erlebnis.