35. leaderstats dan value objects — Solusi PR

Cuplikan Roblox. File .lua ada di exercises/35/homework/solutions/.

Soal 1 — Nilai poin

Solusi lengkap.

local points = Instance.new("IntValue")
points.Name = "Points"
points.Value = 0

Sebuah IntValue menyimpan satu bilangan bulat di .Value.

Soal 2 — leaderstats saat pemain masuk

Solusi lengkap.

local Players = game:GetService("Players")

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

    local wins = Instance.new("IntValue")
    wins.Name = "Wins"
    wins.Value = 0
    wins.Parent = leaderstats
end)

Folder harus diberi nama persis leaderstats; Wins akan menjadi kolomnya.

Soal 3 — Tambah kemenangan

Solusi lengkap.

local leaderstats = player:FindFirstChild("leaderstats")
if leaderstats then
    local wins = leaderstats:FindFirstChild("Wins")
    if wins then
        wins.Value = wins.Value + 1
    end
end

Setiap FindFirstChild dijaga dengan if, sehingga folder atau nilai yang tidak ada tidak akan menyebabkan crash.

Tantangan — Dua statistik

Solusi lengkap.

local Players = game:GetService("Players")

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

    local coins = Instance.new("IntValue")
    coins.Name = "Coins"
    coins.Value = 0
    coins.Parent = leaderstats

    local rank = Instance.new("StringValue")
    rank.Name = "Rank"
    rank.Value = "Novice"
    rank.Parent = leaderstats
end)

Kedua value object berada di folder leaderstats yang sama, sehingga leaderboard menampilkan dua kolom, Coins dan Rank.

Selesai?

Itulah seluruh isi buku ini. Kamu sudah bisa menginstal Lua, menulis dan menjalankan program, membuat keputusan dan perulangan, membangun data dengan tabel, mengorganisir kode dengan fungsi, modul, dan class, serta membawa semuanya ke Roblox Studio melalui Instance, event, service, dan leaderstats. Dua mini-proyek terakhir — Touch-to-Collect Coin dan Collect-All-Coins — membawa sisi Roblox ke dalam scene yang bisa dimainkan. Semoga sukses dengan game-nya; terminal selalu siap kapan pun kamu butuhkan.