分數值

儀表板系統閱讀所有位於 leaderstats 資料夾的值,並將之顯示出來

要增加一個狀態用以追蹤玩家的分數,建立一個新的 IntValue 將它的上層設定為 leaderstats 資料夾,該數值物件的名稱將會顯示在值的旁邊

  1. 使用 Instance.new 來建立一個變數,取名為 points 用以建立一個新的 IntValue 物件
  2. 設定變數 "Points"Name 屬性為 “Points”
  3. 設定變數 "Points"Value 屬性為 0 ; 這將會是玩家的初始分數
  4. points 的上一層物件為 leaderstats 資料夾
-- SetupPoints.lua

local Players = game:GetService("Players")

local function onPlayerAdded(player)
	local leaderstats = Instance.new("Folder")	
	leaderstats.Name = "leaderstats"    
	leaderstats.Parent = player
	local points = Instance.new("IntValue")	--建立一個新的整數物件
	points.Name = "Points" --要顯示的標籤文字	
	points.Value = 0 --該標籤的數值
	points.Parent = leaderstats --設定上層物件為 leaderstats
end

Players.PlayerAdded:Connect(onPlayerAdded)

測試你的遊戲之後你應該能夠看到儀表板出現在右上角,上面寫著玩家的名稱連同分數值

隨著時間累加

每個玩家會在存活時每秒得到一分。使用一個 while 迴圈搭配 wait 函式能用來每一秒更新一次分數的值

  1. 在腳本的最後,創造一個 while 迴圈,狀態區直接寫上 true
  2. 在迴圈裡頭,等候一秒鐘
-- SetupPoints.lua

Players.PlayerAdded:Connect(onPlayerAdded)

while true do --無窮迴圈
	wait(1) --等一秒鐘
end

玩家清單

要在參與的所有玩家之間去運行程式,你將需要先透過 GetPlayers 函式來取得玩家陣列,接著再逐個進行遞迴

所謂陣列是有序的清單,可用來儲存多筆資料。每個裡頭的資料可透過它的索引值(可以理解成資料所在的位置,排第幾個),從 1 開始計算。如果要得知陣列的長度(可以理解成陣列內有幾筆資料),可在陣列前面加上 #