遊戲內排行榜

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

Roblox 擁有一個內建的 排行榜系統,讓你顯示用戶資訊,如分數、貨幣或在比賽中的最快時間。

排行榜畫面

設置排行榜

要設置排行榜並在玩家進入遊戲時添加玩家:

  1. ServerScriptService 中創建一個新的 Script,並將其命名為 Leaderboard

    排行榜插入腳本
  2. 在腳本中,將一個函數連接到 PlayerAdded 事件。


    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. 在連接的函數內,創建一個新的 Folder 實例,將其命名為 leaderstats,並將其作為玩家的子項目。


    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)

添加統計數據

排行榜使用 值類型對象 來存儲和顯示玩家統計數據。此腳本將使用 IntValue 顯示玩家的金幣,這是整數的佔位符。

leaderboardSetup() 函數中,添加第 8 到 11 行:


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)

這些行的作用如下:

  1. 創建一個 IntValue 實例。

  2. 將實例的 Name 設置為 "Gold"。這將是統計數據在排行榜上顯示的名稱。

    排行榜上顯示的統計名稱 'Gold'
  3. 統計數據的初始 Value 被設置為 0。這可以設置為你希望的任何值,包括存儲在 數據存儲 中的值(如果你在實現持久排行榜)。

  4. 實例被放入 leaderstats 文件夾,從而將其添加到排行榜中。當玩家進入遊戲時,他們的名稱將顯示在排行榜上。

    排行榜上顯示的多個玩家

更新統計數據

要更新玩家的排行榜統計數據,請更改該統計數據在他們的 leaderstats 文件夾中的 Value 屬性。例如,你可以將以下 Script 附加到任何拾取物件,以增加玩家收集的 Gold 統計數據。


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
-- 摧毀拾取物
goldChunk:Destroy()
-- 更新玩家的排行榜統計數據
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)

排序統計數據

有三種方法可以控制排行榜中統計數據的順序:

  • 按你希望它們出現的順序添加統計數據。
  • 為該統計數據添加一個名為 IsPrimary 的子 BoolValue,並將其值設置為 true,以將該統計數據放在排行榜的最前面。
  • 為該統計數據添加一個名為 Priority 的子 NumberValue,並將其值設置為一個整數。較高的優先級值會在排行榜中出現得更早。沒有優先級的統計數據默認的優先級為 0

以下代碼示例顯示如何為一個統計數據添加 IsPrimary 值:


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)

隱藏排行榜

要隱藏排行榜,例如在菜單畫面或過場動畫期間,將 LocalScript 放置在 StarterGuiStarterPlayerScripts 中,並包含對 StarterGui 的調用。


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。