Roblox hat ein eingebautes Ranglistensystem, mit dem Sie Benutzerinformationen wie Punktzahlen, Währungen oder die schnellste Zeit in einem Rennen anzeigen können.

Rangliste einrichten
Um die Rangliste einzurichten und Spieler hinzuzufügen, wenn sie das Spiel 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 fügen Sie sie dem Spieler hinzu.
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
Ranglisten verwenden Werttypen-Objekte, um die 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 in der Rangliste angezeigt.

Der Anfangswert der Statistik wird auf 0 gesetzt. Dieser kann auf beliebige Werte gesetzt werden, einschließlich eines Wertes, der in einem Daten-Store gespeichert ist, wenn Sie persistente Ranglisten implementieren.
Die Instanz wird dem leaderstats-Ordner hinzugefügt, was sie zur Rangliste hinzufügt. Wenn ein Spieler das Spiel betritt, erscheint sein Name auf dem Brett.

Statistiken aktualisieren
Um eine Spielerstatistik in der Rangliste zu aktualisieren, ändern Sie die Value-Eigenschaft dieser Statistik innerhalb ihres leaderstats-Ordners. Sie können beispielsweise das folgende Script an jedes Pickup-Objekt anhängen, um die Gold-Statistik des Spielers zu erhöhen, wenn er es einsammelt.
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
-- Pickup zerstören
goldChunk:Destroy()
-- Spielerstatistik in der Rangliste aktualisieren
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
Statistiken ordnen
Es gibt drei Möglichkeiten, die Reihenfolge der Statistiken in einer Rangliste zu steuern:
- Fügen Sie die Statistiken in der Reihenfolge hinzu, in der Sie sie anzeigen möchten.
- Fügen Sie der Statistik ein Kind BoolValue namens IsPrimary hinzu und setzen Sie dessen Wert auf true, um die Statistik zuerst in der Rangliste zu platzieren.
- Fügen Sie der Statistik ein Kind NumberValue namens Priority hinzu und setzen Sie dessen Wert auf eine Ganzzahl. Höhere Prioritätswerte erscheinen früher in der Rangliste. Statistiken ohne Priorität haben eine Standardpriorität von 0.
Dieses Codesample 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)
Rangliste ausblenden
Um die Rangliste auszublenden, zum Beispiel 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)