Mengkode Papan Peringkat

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Dalam game, pemain akan memiliki statistik penting yang mereka butuhkan untuk melihat seperti item yang telah mereka kumpulkan. Angka-angka ini akan ditampilkan menggunakan papan peringkat. Papan peringkat adalah fitur bawaan Roblox yang memerlukan script untuk diaktifkan dan disesuaikan.

Mengatur Papan Peringkat

Setiap kali seorang pemain ditambahkan ke pengalaman, mereka akan perlu ditambahkan ke papan peringkat bersama dengan kode untuk melacak statistik individu.

  1. Di Explorer, di bawah ServerScriptService , buat skrip baru bernama PlayerSetup. Di skrip itu, hapus garis dunia halo dan tulis komentar descriptive.

  2. Setelah komentar, buat fungsi khusus bernama onPlayerJoin dengan parameter bernama pemain.


    -- Membuat papan peringkat yang menunjukkan variabel pemain
    local function onPlayerJoin(player)
    end
  3. Dalam onPlayerJoin, buat variabel bernama leaderstats , dan memiliki itu membuat Folder baru Instansi .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Nama instansi Folder baru baru leaderstats , dan nama nya ke pemain. Menamai nya leaderstats membiarkan Roblox Studio tahu untuk membuat papan peringkat.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
  5. Setelah akhir fungsi, hubungkan OnPlayerJoin ke acara PlayerAdded. Setiap kali seorang pemain bergabung dengan pengalaman, setiap pemain akan diberikan papan peringkat.


    local Players = game:GetService("Players")
    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    Players.PlayerAdded:Connect(onPlayerJoin)

Melacak Statistik Pemain

Sekarang setelah papan peringkat dibuat, itu perlu menunjukkan pemain ini nomor ini:

  • Emas - Berapa banyak uang yang dimiliki pemain.
  • Item - Berapa banyak item yang dikumpulkan pemain dari dunia.
  • Ruang - Item pemain terbanyak yang dapat mereka pegang dalam satu waktu.

Masing-masing dari angka ini akan menjadi IntValue, objek pengganti untuk angka.

Kode Pemain Emas

Mulai dengan mencoding statistik untuk emas.

  1. Dalam OnPlayerJoin , di bawah leaderstats.Parent = player , jenis local gold = Instance.new("IntValue") . Ini menciptakan IntValue baru dan menyimpannya di variabel emas.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    local gold = Instance.new("IntValue")
    end
  2. Selanjutnya, ketik gold.Name = "Gold" . Ini memberi IntValue nama sehingga Anda dapat menggunakannya di skrip lain. Nama ini juga akan ditampilkan kepada pemain di papan peringkat.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    end
  3. Pada baris baru, ketik gold.Value = 0 . Ini menetapkan nilai awal untuk pemain.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Ketik gold.Parent = leaderstats . Ini menjadi orang tua untuk IntValue untuk leaderstats. Jika IntValue tidak diwarisi ke leaderstats, pemain tidak akan melihatnya.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    gold.Parent = leaderstats
    end
  5. Mainkan proyek Anda dan perhatikan bahwa papan peringkat muncul di bagian atas kanan.

Tips Troubleshoot

Jika Anda tidak melihat daftar papan peringkat, coba mengikuti:

  • Pastikan bahwa .Value dikapitalisasi.
  • Pastikan variabel untuk IntValue berada dalam daftar papan peringkat seperti gold.Parent = leaderstats .

Mengkode Item dan Ruang

Ingat bahwa nama stat dapat apa pun berdasarkan dokumen desain permainan. Dengan kata lain, "Items" dapat menjadi "Crystals" sebagai gantinya.

  1. Tambahkan baris kosong untuk memisahkan statistik berikutnya, lalu buat statistik item dengan menetapkan IntValue baru dengan cara yang sama seperti yang Anda lakukan untuk emas.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Buat statistik item
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Buat statistik baru untuk ruang tas pemain. Tetapkan spaces.Value untuk 2 sehingga pemain hanya dapat menampung dua item sekaligus, menggairahkan mereka untuk membeli tas baru setelah mereka dapat.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Buat statistik Ruang
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Uji proyek tersebut. Pemain harus memiliki papan peringkat yang menunjukkan Emas, Item, dan Ruang.

Jika papan peringkat tidak muncul, coba periksa di bawah ini.

  • Jika Anda tidak dapat melihat nomor di papan peringkat, periksa bahwa setiap IntValue diwarisi ke statistik papan peringkat.
  • Pastikan setiap IntValue diucapkan dengan benar seperti yang ditunjukkan
  • Periksa bahwa acara PlayerAdded ada di bagian bawah script

Selesaikan Skrip Pemain

Versi lengkap dari script dapat diacak di bawah ini.


local Players = game:GetService("Players")
-- Membuat papan peringkat yang menunjukkan variabel pemain
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
-- Lari padaPlayerJoin saat acara PlayerAdded berlari
Players.PlayerAdded:Connect(onPlayerJoin)