編寫排行榜

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

遊戲中,玩家會有重要的統計資料需要查看,例如他們收集的物品。這些數字會使用排行榜顯示。 排行榜 是 Roblox 的內置功能,需要啟用並自訂指定的 Roblox 功能。

設置排行榜

玩家被添加到體驗時,他們需要被添加到排行榜,並且與代碼一起追蹤個別統計資料。

  1. 服務器指令服務 下,在 PlayerSetup 中,创建一个名为 PlayerSetup 的新脚本。在那个指令碼中,删除了一个世界标题,并写一个描述性评留言。

  2. 在評留言後,在PlayerJoin 中建立名為玩家的自訂函數,並且在參數為 player 的狀況下。


    -- 創建一個排行榜,顯示玩家變數
    local function onPlayerJoin(player)
    end
  3. onPlayerJoin 中,創建名為 leaderstats 的變數,並且讓它創建新的 Folder 實例。


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. 為新的 文件夾 實例命名 leaderstats,並將其作為玩家的父親。命名文件夾 leaderstats 讓 Roblox Studio 知道創建排行榜。


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
  5. 在功能結束後,連接 OnPlayerJoinPlayerAdded 事件。每次玩家加入體驗時,每個玩家都會獲得排行榜。


    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)

追蹤玩家統計資料

創建了領導榜,現在需要顯示玩家這些數字:

  • 黃金 - 玩家有多少錢。
  • 物品 - 玩家從世界中收集的物品數量。
  • 空格 - 玩家可以同時持有的最多物品。

這些數字中的每一個都會是 IntValue,代表數字的預設對象。

編寫玩家金色

從編寫黃金統計開始。

  1. OnPlayerJoin ,在 leaderstats.Parent = player 下,類型 local gold = Instance.new("IntValue")。這創建了新的 IntValue 並存儲在變量金屬中。


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    local gold = Instance.new("IntValue")
    end
  2. 接下來,輸入 gold.Name = "Gold" 。這會將 IntValue 的名稱提供給您,以便您在其他指令碼中使用。名稱也會顯示在排行榜上的玩家。


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    end
  3. 在新行中,輸入 gold.Value = 0。這將玩家的起始值設置為gold.Value = 0


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Type gold.Parent = leaderstats。這是金幣對領導統計的int值。如果int值未屬於領導統計,玩家將不會看到。


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    gold.Parent = leaderstats
    end
  5. 播放您的項目,並注意領導板會出現在右上角。

排障提示

如果您不見到排行榜,請試試以追蹤中:

  • 確認 .Value 是否為大寫。
  • 確認 IntValue 變量與 gold.Parent = leaderstats 領導板相關。

編碼項目和空間

記住,"Items" 名稱可以是遊戲設計文件的任何內容。在其他言語中, 可以是 0> 1> Crystals1> 代替。2>

  1. 將空白行添加到下一個狀態,然後按照您在黃金中所做的方式設置新的 IntValue 來創建物品狀態。


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- 創建物品 stat
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. 為玩家的背包空間創建新統計資料。將 spaces.Value 設置為 2 ,以便玩家只能同時容納兩個項目,並且鼓勵他們購買新背包,因為他們可以只有這樣做。


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- 創建空間統計
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. 測試項目。玩家應該有一個排行榜,顯示金幣、物品和空間。

如果排行榜未顯示,請檢查以下內容。

  • 如果您無法看到排行榜上的數字,請確認每個 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)