遊戲中,玩家會有重要的統計資料需要查看,例如他們收集的物品。這些數字會使用排行榜顯示。 排行榜 是 Roblox 的內置功能,需要啟用並自訂指定的 Roblox 功能。
設置排行榜
玩家被添加到體驗時,他們需要被添加到排行榜,並且與代碼一起追蹤個別統計資料。
在 服務器指令服務 下,在 PlayerSetup 中,创建一个名为 PlayerSetup 的新脚本。在那个指令碼中,删除了一个世界标题,并写一个描述性评留言。
在評留言後,在PlayerJoin 中建立名為玩家的自訂函數,並且在參數為 player 的狀況下。
-- 創建一個排行榜,顯示玩家變數local function onPlayerJoin(player)end在 onPlayerJoin 中,創建名為 leaderstats 的變數,並且讓它創建新的 Folder 實例。
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")end為新的 文件夾 實例命名 leaderstats,並將其作為玩家的父親。命名文件夾 leaderstats 讓 Roblox Studio 知道創建排行榜。
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerend在功能結束後,連接 OnPlayerJoin 到 PlayerAdded 事件。每次玩家加入體驗時,每個玩家都會獲得排行榜。
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
追蹤玩家統計資料
創建了領導榜,現在需要顯示玩家這些數字:
- 黃金 - 玩家有多少錢。
- 物品 - 玩家從世界中收集的物品數量。
- 空格 - 玩家可以同時持有的最多物品。
這些數字中的每一個都會是 IntValue,代表數字的預設對象。
編寫玩家金色
從編寫黃金統計開始。
在 OnPlayerJoin ,在 leaderstats.Parent = player 下,類型 local gold = Instance.new("IntValue")。這創建了新的 IntValue 並存儲在變量金屬中。
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")end接下來,輸入 gold.Name = "Gold" 。這會將 IntValue 的名稱提供給您,以便您在其他指令碼中使用。名稱也會顯示在排行榜上的玩家。
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"end在新行中,輸入 gold.Value = 0。這將玩家的起始值設置為gold.Value = 0。
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endType gold.Parent = leaderstats。這是金幣對領導統計的int值。如果int值未屬於領導統計,玩家將不會看到。
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsend播放您的項目,並注意領導板會出現在右上角。
排障提示
如果您不見到排行榜,請試試以追蹤中:
- 確認 .Value 是否為大寫。
- 確認 IntValue 變量與 gold.Parent = leaderstats 領導板相關。
編碼項目和空間
記住,"Items" 名稱可以是遊戲設計文件的任何內容。在其他言語中, 可以是 0> 1> Crystals1> 代替。2>
將空白行添加到下一個狀態,然後按照您在黃金中所做的方式設置新的 IntValue 來創建物品狀態。
local function onPlayerJoin(player)gold.Parent = leaderstats-- 創建物品 statlocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsend為玩家的背包空間創建新統計資料。將 spaces.Value 設置為 2 ,以便玩家只能同時容納兩個項目,並且鼓勵他們購買新背包,因為他們可以只有這樣做。
local function onPlayerJoin(player)items.Parent = leaderstats-- 創建空間統計local spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsend測試項目。玩家應該有一個排行榜,顯示金幣、物品和空間。
如果排行榜未顯示,請檢查以下內容。
- 如果您無法看到排行榜上的數字,請確認每個 IntValue 是否屬於排行榜。
- 確認每個 IntValue 正確地寫寫
- 檢查玩家已添加事件位於指定腳指令碼底部
完成玩家設置指令碼
指定的指令碼版本可以在下方參考。
local Players = game:GetService("Players")
-- 創建一個排行榜,顯示玩家變數
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
-- 在 PlayerAdded 事件發生時執行
Players.PlayerAdded:Connect(onPlayerJoin)