Codierung der Rangliste

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

Im Spiel wird der Spieler wichtige Statistiken haben, die er sehen muss, wie die Gegenstände, die er gesammelt hat. Diese Zahlen werden mit einem Bestenlisteangezeigt. Leaderboards sind eingebaute Funktionen von Roblox, die ein Skript zum Aktivieren und Anpassen benötigen.

Erstellen Sie die Rangliste

Wenn ein Spieler zum Erlebnis hinzugefügt wird, muss er in die Rangliste hinzugefügt werden, um die einzelnen Statistiken zu verfolgen.

  1. Im Explorer, unter ServerScriptService , erstellen Sie ein neues Skript namens PlayerSetup. In diesem Skript, das. PL: die Skriptslöschen Sie die Halo-Weltlinie und schreiben Sie einen beschreibenden Kommentar posten.

  2. Nach dem Kommentar postenerstellen Sie eine benutzerdefinierte Funktion namens onPlayerJoin mit einem Parameter namens Spieler:in.


    -- Erstellt eine Rangliste, die Spieler Variablen anzeigt
    local function onPlayerJoin(player)
    end
  3. In onPlayerJoin erstellen Sie eine Variable namens leaderstats und haben Sie sie erstellen eine neue Ordner Instanz.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Nenne die neue Ordner Instanz leaderstats und übergebe sie dem Spieler:in. Nennen Sie den Ordner leaderstats, damit Roblox Studio weiß, dass eine Bestenlisteerstellt werden soll.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
  5. Nach dem Ende der Funktion, verbinden Sie OnPlayerJoin mit dem PlayerAdded -Ereignis. Wenn ein Spieler der Erlebnisbeitritt, wird jedem Spieler die Bestenlistebereitgestellt.


    local Players = game:GetService("Players")
    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    Players.PlayerAdded:Connect(onPlayerJoin)

Spielerstatistiken verfolgen

Jetzt, da eine Rangliste erstellt ist, muss sie dem Spieler diese Zahlen anzeigen:

  • Gold - Wie viel Geld der Spieler hat.
  • Gegenstände - Wie viele Gegenstände der Spieler von der Welt gesammelt hat.
  • Plätze - Die meisten Gegenstände, die ein Spieler auf einmal halten kann.

Jede dieser Zahlen wird ein IntValue sein, ein Platzhaltobjekt für eine Zahl.

Codierung von Spieler-Gold

Beginnen Sie mit dem Codieren eines Statistikums für Gold.

  1. In OnPlayerJoin , unter leaderstats.Parent = player , schreibt local gold = Instance.new("IntValue") . Dies erstellt einen neuen IntValue und speichert es in der Variable Gold.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    local gold = Instance.new("IntValue")
    end
  2. Danach schreiben Sie gold.Name = "Gold". Dies gibt dem IntValue einen Namen, sodass Sie ihn in anderen Skripts verwenden können. Der Name wird auch den Spielern auf der Bestenliste angezeigt.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    end
  3. Auf einer neuen Zeile, tippe gold.Value = 0 . Dies setzt den Startwert für Spieler.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Type gold.Parent = leaderstats . Dies ist die Basis für die IntValue für Gold zu leaderstats. Wenn die IntValue nicht über leaderstats übergeordnet ist, sehen die Spieler es nicht.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    gold.Parent = leaderstats
    end
  5. Spielen Sie Ihr Projekt und beachten Sie, dass eine Rangliste in der oberen rechten erscheint.

Troubleshooting-Tipps

Wenn Sie die Bestenlistenicht sehen, versuchen Sie es mit dem gefolgte Profile:

  • Stellen Sie sicher, dass .Value mit Großbuchstaben geschrieben ist.
  • Stellen Sie sicher, dass die Variable für die IntValue in der Leaderboard wie gold.Parent = leaderstats übergeordnet ist.

Codierung von Gegenständen und Feldern

Denken Sie daran, dass die Stat-Namen jederzeit basieren auf dem Spiel-Design-Dokument. In anderen Worten, "Items" kann stattdessen "Crystals" sein.

  1. Fügen Sie eine leere Zeile hinzu, um die nächste Statistik zu trennen, und erstellen Sie dann die Item-Statistik, indem Sie ein neues IntValue auf die gleiche Weise einrichten, wie Sie es für Gold getan haben.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Erstellen Sie die Items-Stat
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Erstellen Sie eine neue Statistik für die Taschen der Spieler:in. Setzen Sie spaces.Value auf 2, damit die Spieler das Erlebnis nur beginnen können, zwei Artikel gleichzeitig zu tragen, und sie ein neues Taschenkaufen, wenn sie es können.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Erstellen Sie die Statistik der Leerstellen
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Testen Sie das Projekt. Spieler sollten eine Rangliste haben, die Gold, Artikel und Plätze anzeigt.

Wenn die Rangliste nicht angezeigt wird, versuchen Sie es, die folgenden Optionen zu überprüfen.

  • Wenn Sie die Zahl in der Bestenlistenicht sehen können, überprüfen Sie, dass jedes IntValue in der Rangliste zu IntStats gehört.
  • Stellen Sie sicher, dass jeder IntValue genau so geschrieben ist, wie in der Anzeige gezeigt
  • Stellen Sie sicher, dass das Ereignis PlayerAdded am unteren Rand des Skript, das. PL: die Skriptsist

Schließe das Spieler-Setup-Skript ab

Eine fertige Version des Skripts kann unten verwendet werden.


local Players = game:GetService("Players")
-- Erstellt eine Rangliste, die Spieler Variablen anzeigt
local function onPlayerJoin(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 items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end
-- Laufen Sie aufPlayerJoin aus, wenn das Ereignis PlayerAdded ausgelöst wird
Players.PlayerAdded:Connect(onPlayerJoin)