Roblox มีระบบ ลีดเดอร์บอร์ด สกุลเงิน
การตั้งค่าลีดเดอร์บอร์ด
เพื่อตั้งกระดานผู้นำและเพิ่มผู้เล่นเมื่อพวกเขาเข้าสู่ประสบการณ์:
สร้าง Script ใหม่ภายใน ServerScriptService และเรียกมันว่า ลีดเดอร์บอร์ด
ในสคริปต์, เชื่อมต่อฟังก์ชันไปยังเหตุการณ์ PlayerAdded
local Players = game:GetService("Players")local function leaderboardSetup(player)end-- เชื่อมต่อคุณสมบัติ "leaderboardSetup()" ไปยัง "PlayerAdded" เหตุการณ์Players.PlayerAdded:Connect(leaderboardSetup)ภายในคุณสมบัติที่เชื่อมต่อ, สร้าง ใหม่ Folder อินสแตนซ์, ชื่อมัน leaderstats และพ่อของมันไปยังผู้เล่น
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerend-- เชื่อมต่อคุณสมบัติ "leaderboardSetup()" ไปยัง "PlayerAdded" เหตุการณ์Players.PlayerAdded:Connect(leaderboardSetup)
เพิ่มสถิติ
ลีดเดอร์บอร์ดใช้ value type objects เพื่อเก็บและแสดงสถิติของผู้เล่น สคริปต์นี้จะแสดงทองของผู้เล่นโดยใช้ 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
-- เชื่อมต่อคุณสมบัติ "leaderboardSetup()" ไปยัง "PlayerAdded" เหตุการณ์
Players.PlayerAdded:Connect(leaderboardSetup)
กำลังติดตาม:
ตัวอินสแตนซ์ IntValue สร้างขึ้น
Class.Instance.Name|Name อินสแตนซ์"Gold" ตารางอันดับ
ค่านี้เริ่มต้นของ stat Value ได้รับการตั้งค่าเป็น 0 สิ่งนี้สามารถตั้งค่าได้กับค่าใด ๆ ที่คุณต้องการรวมถึงค่าที่เก็บไว้ใน เซิร์ฟเวอร์ข้อมูลของผู้ใช
รายการนี้อยู่ภายใต้ไดโนเนอร์ที่ leaderstats โฟลเดอร์ซึ่งเพิ่มมันลงในกระดานผู้นำ เมื่อผู้เล่นเข้าสู่ประสบการณ์พวกเขาจะมีชื่อปรากฏบนกระดาน
การปรับปรุงสถิติ
เพื่ออัปเดตสถิติของผู้นำของผู้เล่นในกระดานผู้นำของผู้เล่น เปลี่ยนสถิติของค่านี้ภายในกระดานผู้นำของผู้เล่นของพวกเขา เช่น คุณสามารถแนบ <a href="https://
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 ให้กับสถิติและตั้งค่ามันเป็นตัวเลข ตารางอันดับสถิติโดยไม่มีมูลค่าความสำคัญจะมีมูลค่าเริ่มต้น
ตัวอย่างรหัสนี้แสดงให้เห็นวิธีการเพิ่มมูลค่า 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 ที่มีการโท
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)