ในเกมผู้เล่นจะมีสถิติที่สำคัญที่พวกเขาต้องเห็นเช่นไอเทมที่พวกเขาเก็บรวบรวม ตัวเลขเหล่านี้จะปรากฏโดยใช้ลีดเดอร์บอร์ด ฟีเจอร์ ลีดเดอร์บอร์ด เป็นส่วนประกอบที่สร้างขึ้
การตั้งค่าลีดเดอร์บอร์ด
เมื่อผู้เล่นถูกเพิ่มในประสบการณ์พวกเขาจะต้องเพิ่มในกระดานผู้นําพร้อมกับรหัสเพื่อติดตามสถิติของบุคคล
ใน Explorer, ภายใต้ ServerScriptService สร้างสคริปต์ใหม่ที่มีชื่อว่า PlayerSetup ในสคริปต์นั้นลบสายโลกที่สวยงามและเขียนความคิดเห็นที่คำอธิบาย
หลังจากความคิดเห็นนี้, สร้างคุณสมบัติที่กำหนดเองชื่อว่า onPlayerJoin ด้วยตัวแปรที่ชื่อว่า ผู้เล่น
-- สร้างกระดานผู้นำที่แสดงตัวแปรผู้เล่น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") สร้างรายการใหม่และเก็บไว้ในแปรงานทอง
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. นี้ตั้งค่ามูลค่าเริ่มต้นสำหรับผู้เล่น
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endพิมพ์ gold.Parent = leaderstats . นี่เป็นพ่อของ IntValue สำหรับผู้นำสถิติ. หาก IntValue ไม่เป็นพ่อของสถิติผู้เล่นจะไม่เห็นมัน
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendเล่นโครงการของคุณและสังเกตเห็นว่ามีกระดานผู้นำปรากฏขึ้นด้านขวาบน
เคล็ดลับการแก้ปัญหา
หากคุณไม่เห็นกระดานผู้นํา กำลังติดตาม:
- ตรวจสอบให้แน่ใจว่า .Value จะเขียนเป็นตัวอักษรใหญ่
- ให้แน่ใจว่าแปรสำหรับ IntValue อยู่ในรายการผู้นำเช่น gold.Parent = leaderstats
การเขียนรหัสและพื้นที่
จำไว้ว่าชื่อสถิติสามารถเป็นอะไรก็ได้ตามคู่มือการออกแบบเกม ในคำอื่น, "Items" สามารถเป็น "Crystals" แทนได้
เพิ่มบรรทัดว่างเพื่อแยกสถิติต่อไป จากนั้นสร้างสถิติรายการโดยการตั้งค่า IntValue ใหม่ในลักษณะเดียวกับที่คุณทำสำหรับทอง
local function onPlayerJoin(player)gold.Parent = leaderstats-- สร้างสถิติรายการlocal 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 มีความสัมพันธ์กับ leaderstats
- ให้แน่ใจว่าแต่ละ IntValue เขียนอย่างถูกต้องตามที่แสดง
- ตรวจสอบว่าเหตุการณ์ PlayerAdded อยู่ในด้านล่างของสคริปต์
สำเร็จ PlayerSetup สคริปต์
สามารถอ้างอิงได้ด้านล่างเป็นเวอร์ชันที่เสร็จสิ้นของสคริปต์
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)