Roblox มี ระบบกระดานคะแนน ที่ช่วยให้คุณแสดงข้อมูลผู้ใช้ เช่น คะแนน, สกุลเงิน หรือเวลาที่เร็วที่สุดในการแข่งขัน

ตั้งค่ากระดานคะแนน
เพื่อที่จะตั้งค่ากระดานคะแนนและเพิ่มผู้เล่นเมื่อพวกเขาเข้าสู่เกม:
สร้าง Script ใหม่ภายใน ServerScriptService และตั้งชื่อมันว่า Leaderboard.

ในสคริปต์ เชื่อมต่อฟังก์ชันกับเหตุการณ์ PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)ภายในฟังก์ชันที่เชื่อมต่อ สร้างอินสแตนซ์ของ Folder ใหม่ ตั้งชื่อว่า leaderstats และเพิ่มมันเป็นผู้ปกครองของผู้เล่น.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.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)
บรรทัดเหล่านี้ทำสิ่งต่อไปนี้:
สร้างอินสแตนซ์ของ IntValue.
ตั้งค่า Name ของอินสแตนซ์เป็น "Gold". ซึ่งเป็นวิธีที่สถิติเสียมบนกระดานคะแนน.

ตั้งค่า Value เริ่มต้นของสถิติเป็น 0. สามารถตั้งค่าเป็นค่าใดก็ได้ที่คุณต้องการ รวมถึงค่าที่เก็บใน data store หากคุณกำลังสร้างกระดานคะแนนที่คงอยู่.
อินสแตนซ์ถูกเพิ่มเป็นผู้ปกครองของโฟลเดอร์ leaderstats ซึ่งจะเพิ่มมันลงในกระดานคะแนน เมื่อผู้เล่นเข้าเกม ชื่อของพวกเขาจะแสดงบนกระดาน.

ปรับปรุงสถิติ
ในการปรับปรุงสถิติของกระดานคะแนนของผู้เล่น เปลี่ยนค่า Value ของสถิตินั้นภายในโฟลเดอร์ leaderstats ของพวกเขา ตัวอย่างเช่น คุณสามารถเชื่อมต่อ 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)
จัดเรียงสถิติ
มีสามวิธีในการควบคุมลำดับของสถิติในกระดานคะแนน:
- เพิ่มสถิติเพื่อแสดงในลำดับที่คุณต้องการ
- เพิ่ม BoolValue เด็กที่ชื่อว่า IsPrimary ให้กับสถิติและตั้งค่าค่าของมันเป็น true เพื่อวางสถิตินั้นไว้ที่อันดับแรกในกระดานคะแนน
- เพิ่ม NumberValue เด็กที่ชื่อว่า Priority ให้กับสถิติและตั้งค่าค่าของมันเป็นจำนวนเต็ม ค่าความสำคัญที่สูงกว่าจะปรากฏก่อนในกระดานคะแนน สถิติที่ไม่มีความสำคัญมีค่าเริ่มต้นเป็น 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 ภายใน StarterGui หรือ StarterPlayerScripts ที่มีการเรียกใช้ StarterGui.
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)