ในเกมผู้เล่นจะมีสถิติที่สำคัญที่พวกเขาต้องการดูเช่นไอเทมที่พวกเขาได้รวบรวมตัวเลขเหล่านี้จะถูกแสดงโดยใช้ลีดเดอร์บอร์ด ลีดเดอร์บอร์ด สร้างขึ้นเป็นคุณลักษณะที่มีอยู่แล้วของ Roblox ที่ต้องการให้สคริปต์ถูกเปิดใช้งานและปรับแต่ง

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