體驗排行榜

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

Roblox 有內置 排行榜系統 ,可讓您顯示用戶信息,例如分數、貨幣或賽中最快的時間。

Leaderboard Screen

設置排行榜

要設置排行榜,並在玩家進入體驗時添加玩家:

  1. Script 內建立新 ServerScriptService 並命名為 排行榜。

    Leaderboard Insert Script
  2. 在指令碼中,連接一個函數到 PlayerAdded 事件。


    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    -- 連接 "leaderboardSetup()" 函數到 "PlayerAdded" 事件
    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
    -- 連接 "leaderboardSetup()" 函數到 "PlayerAdded" 事件
    Players.PlayerAdded:Connect(leaderboardSetup)

添加統計資料

排行榜使用 value type objects 來存儲和顯示玩家統計資料。此腳本會使用 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
-- 連接 "leaderboardSetup()" 函數到 "PlayerAdded" 事件
Players.PlayerAdded:Connect(leaderboardSetup)

這些線完成以追蹤中功能:

  1. 一個 IntValue 實例已建立。

  2. Class.Instance.Name|Name 是遊戲實個體、實例的設定。這正是靈巧榜上統計資排行榜的方式。

    Leaderboards Name Column
  3. 統計資料的初始值 Value 設為 0 。這可以設置任何您想要的值,包括儲存在 資料存取存取存取存取存取 中的值,如果您實現了持續排行榜。

  4. leaderstats 會將其添加到排行榜。當玩家進入體驗時,他們的名稱會顯示在板上。

    Leaderboards Multiple Players

更新統計資料

要更新玩家的排行榜統計資料,請在其 Value 文件夾內的 leaderstats 屬性變更該數值的 Script 以增加玩家收集到的 2>黃金2> 統計資料。例如,您可以將下列 5>Class.Script5> 附加到任何取得對象,以增加玩家收集到的 8>��


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)

命令統計資料

有三種方法可以控制排行榜上的統計資料的順序:

  • 添加統計資料的順序,以便它們顯示。
  • BoolValue 命名為 IsPrimary 並將其值設置為 true 以將統計資料放置在排行榜的前幾名。
  • NumberValue 命名為 Priority 的子兒添加到 stat 並將其值設為整數。排名更高的價值會在排行榜上出現更早。沒有排名的統計資料會在排行榜上顯示為預設值為 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)

隱藏排行榜

要隱藏排行榜,例如在菜單畫面或切換場景中,請在 LocalScriptStarterGui 內放置 StarterPlayerScripts


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)