Bestenlisten

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

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.

Bestenlistenbildschirm

Ansichten der Bestenliste

Die PlayerList vergleicht die Punktzahlen über diese Ansichten:

AnsichtRanglisten
HierSitzungsranglisten für Spieler im aktuellen Server, aus leaderstats.
FreundePersistente Ranglisten unter den Freunden eines Spielers, die das Erlebnis gespielt haben.
GlobalPersistente 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:

  1. Erstellen Sie ein neues Script innerhalb von ServerScriptService und benennen Sie es Leaderboard.

    Bestenlisten-Skript einfügen
  2. Verbinden Sie im Skript eine Funktion mit dem PlayerAdded-Ereignis.

    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. 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 = player
    end
    Players.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:

  1. Eine IntValue-Instanz wird erstellt.

  2. Der Name der Instanz wird auf "Gold" gesetzt. So wird die Statistik genau auf der Bestenliste angezeigt.

    Statistikname 'Gold' auf der Bestenliste angezeigt
  3. 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.

  4. 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.

    Mehrere Spieler auf der Bestenliste angezeigt

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
end

Stellen 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.

  1. Öffnen Sie Creator Hub.
  2. Wählen Sie das Erlebnis aus, das den geordneten Datenspeicher besitzt.
  3. Registrieren Sie den geordneten Datenspeicher, der Ihre Punktzahlen für die Bestenliste enthält.
  4. Aktivieren Sie die Bestenliste für das Erlebnis.
  5. Bestätigen Sie, dass die Bestenliste aktiv ist.
  6. 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.

Die Bestenlisten-Seite für ein Erlebnis im Creator Hub, mit einer Schaltfläche 'Erstellen' zur Konfiguration einer Bestenliste.
Erstellen und verwalten Sie die Konfigurationen der Bestenliste von der Bestenlisten-Seite im Creator Hub.

Testen Sie die Ansichten Freunde und Global

Testen Sie mit Spielern, die bereits Punktdatensätze haben.

  1. Treten Sie dem Erlebnis als Spieler mit einer gespeicherten Punktzahl bei.
  2. Öffnen Sie die Bestenliste im Erlebnis.
  3. Wählen Sie Freunde und bestätigen Sie, dass berechtigte Freunde mit den erwarteten Punktzahlen angezeigt werden.
  4. Wählen Sie Global und bestätigen Sie, dass der Spieler mit dem erwarteten Rang und der Punktzahl angezeigt wird.
  5. Aktualisieren Sie die Punktzahl des Spielers über Ihren bestehenden serverseitigen Workflow.
  6. Bestätigen Sie, dass die Bestenliste den aktualisierten Wert widerspiegelt.
Eine persistente Bestenliste im Erlebnis, die Spieler-Ränge, Namen und Punktzahlen anzeigt.
Überprüfen Sie die persistente Rangliste in der Bestenliste im Erlebnis.

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.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.