Code die Bestenliste

*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 Items, die er gesammelt hat.Diese Zahlen werden mit einer Bestenliste angezeigt. Bestenlisten sind integrierte Funktionen von Roblox, die ein Skript zum Aktivieren und Anpassen benötigen.

Stelle die Bestenlisteein

Jedes Mal, wenn ein Spieler zum Erlebnis hinzugefügt wird, muss er zur Rangliste hinzugefügt werden, zusammen mit Code zur Verfolgung der einzelnen Statistiken.

  1. Im Explorer, unter ServerScriptService , erstellen Sie ein neues Skript mit dem Namen PlayerSetup.In diesem Skript, das. PL: die Skriptslöschen Sie die Zeile Hallo-Welt und schreiben Sie einen beschreibenden Kommentar posten.

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


    -- Erstellt eine Rangliste, die Spieler变量 anzeigt
    local function onPlayerJoin(player)
    end
  3. In onPlayerJoin erstelle eine Variable mit dem Namen leaderstats, und lass sie eine neue Ordner-Instanz erstellen.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Benenne die neue Ordner -Instanz leaderstats und übergebe sie dem Spieler:in.Die Benennung des Ordners leaderstats lässt Roblox Studio wissen, eine Bestenlistezu erstellen.


    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.Jedes Mal, wenn ein Spieler der Erlebnisbeitritt, erhält jeder Spieler die Bestenliste.


    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 wurde, muss sie dem Spieler diese Zahlen zeigen:

  • Gold - Wie viel Geld der Spieler hat.
  • Artikel - Wie viele Artikel der Spieler von der Welt gesammelt hat.
  • Räume - Die meisten Artikel, die ein Spieler gleichzeitig halten kann.

Jede dieser Zahlen wird ein IntValue sein, ein Platzhalter-Objekt für eine Zahl.

Code-Spieler-Gold

Beginne mit dem Codieren eines Stat für Gold.

  1. In OnPlayerJoin , unter leaderstats.Parent = player , geben Sie local gold = Instance.new("IntValue") ein. Dies erstellt einen neuen IntValue und speichert ihn 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. Geben Sie als Nächstes gold.Name = "Gold" ein. Dies gibt dem IntValue einen Namen, sodass Sie ihn in anderen Skripten 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 legt den Startwert für Spieler fest.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Typ gold.Parent = leaderstats. Dieses überlässt den IntValue für Gold an leaderstats. Wenn der IntValue nicht an leaderstats überlassen wird, 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. Spiele dein Projekt und bemerke, dass eine Rangliste in der oberen rechten Ecke erscheint.

Problemlösungstipps

Wenn du die Bestenlistenicht siehst, versuche gefolgte Profile:

  • Stellen Sie sicher, dass .Value kapitalisiert ist.
  • Stellen Sie sicher, dass die Variable für den IntValue der Leaderboard wie gold.Parent = leaderstats zugewiesen ist.

Code-Artikel und -räume

Denke daran, dass die Statistiknamen alles sein können, was auf der Grundlage des Spieldesign-Dokuments basiert. Mit anderen Worten, "Items" kann stattdessen "Crystals" sein.

  1. Füge eine leere Zeile hinzu, um die nächste Stat zu trennen, und erstelle dann die Artikelstat, indem du auf die gleiche Weise wie für Gold ein neues IntValue einrichtest.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Erstelle die Items-Stat
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Erstelle einen neuen Stat für die Taschenplätze des Spieler:in.Setze spaces.Value auf 2, damit Spieler das Erlebnis starten, nur in der Lage, zwei Gegenstände gleichzeitig zu halten, und sie ermutigen, so schnell wie möglich eine neue Tasche zu kaufen.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Erstelle die Spaces-Stat
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Teste das Projekt. Spieler sollten eine Rangliste mit Gold, Items und Räumen haben.

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

  • Wenn du die Nummer auf der Bestenlistenicht sehen kannst, überprüfe, ob jedes IntValue mit leaderstats verwandt ist.
  • Stellen Sie sicher, dass jeder IntValue genau so geschrieben wird, wie es gezeigt wird
  • Überprüfe, dass das Ereignis PlayerAdded am Ende des Skript, das. PL: die Skriptssteht

Vervollständige das Skript, das. PL: die Skripts

Eine abgeschlossene Version des Skripts kann unten referenziert werden.


local Players = game:GetService("Players")
-- Erstellt eine Rangliste, die Spieler变量 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 auf PlayerJoin, wenn das Ereignis PlayerAdded ausgelöst wird
Players.PlayerAdded:Connect(onPlayerJoin)