Roblox memiliki sistem papan peringkat yang dibangun di dalamnya yang memungkinkan Anda menampilkan informasi pengguna seperti skor, mata uang, atau waktu tercepat dalam balapan.
Mengatur Papan Peringkat
Untuk menyiapkan papan peringkat dan menambahkan pemain saat mereka masuk ke pengalaman:
Buat Script baru di dalam ServerScriptService dan namakan Leaderboard .
Dalam script, hubungkan fungsi ke acara PlayerAdded .
local Players = game:GetService("Players")local function leaderboardSetup(player)end-- Koneksikan fungsi "leaderboardSetup()" ke acara "PlayerAdded"Players.PlayerAdded:Connect(leaderboardSetup)Dalam fungsi yang terhubung, buat instansi baru Folder , nama nya leaderstats dan orang tuanya ke pemain.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerend-- Koneksikan fungsi "leaderboardSetup()" ke acara "PlayerAdded"Players.PlayerAdded:Connect(leaderboardSetup)
Menambahkan Statistik
Papan peringkat menggunakan value type objects untuk menyimpan dan menampilkan statistik pemain. Skrip ini akan menunjukkan emas pemain menggunakan IntValue , penanda untuk angka.
Dalam fungsi leaderboardSetup(), tambahkan baris 8 melalui 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
-- Koneksikan fungsi "leaderboardSetup()" ke acara "PlayerAdded"
Players.PlayerAdded:Connect(leaderboardSetup)
Baris-baris ini melakukan mengikuti:
Sebuah IntValue instansi dibuat.
kejadianName instansi di set ke "Gold". Ini adalah cara stat akan muncul di papan peringkat.
Instans instans diberikan ke sub-folder leaderstats yang menambahkannya ke papan peringkat. Saat seorang pemain memasuki pengalaman, nama mereka muncul di papan.
Mengaktualisasi Statistik
Untuk menyetujui statistik leaderboard pemain,ubah property Value dari statistik itu di dalam leaderstats folder pemain mereka. Misalnya, Anda dapat menghubungkan Script ke setiap objek pengambilan untuk meningkatkan stat 1>Emas1> pemain mengumpulkannya.
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
-- Hancurkan pengambilan
goldChunk:Destroy()
-- Perbarui statistik papan peringkat pemain
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
Memesan Statistik
Ada tiga cara untuk mengontrol urutan statistik di papan peringkat:
- Tambahkan statistik dalam urutan yang Anda inginkan agar mereka muncul.
- Tambahkan anak BoolValue bernama IsPrimary ke statistik dan tetapkan nilainya ke true untuk menempatkan statistik pertama di papan peringkat.
- Tambahkan anak NumberValue bernama Priority ke statistik dan tetapkan nilainya menjadi angka ganjil.Nilai prioritas yang lebih tinggi muncul lebih awal di papan peringkat. Statistik tanpa prioritas memiliki prioritas default 0.
Sampel kode ini menunjukkan cara menambahkan nilai IsPrimary ke stat:
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)
Sembunyikan Papan Peringkat
Untuk menyembunyikan papan peringkat, seperti pada layar menu atau selama cutscene, letakkan LocalScript di dalam StarterGui atau StarterPlayerScripts yang mengandung panggilan untuk 1> Class.StarterGui:SetCoreGuiEnabled()|StarterGui1> .
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)