Mini-proyek Bagian 7: Collect-All-Coins
Mini-proyek terakhir buku ini dibangun di atas koin Touch-to-Collect. Kamu menyebar beberapa koin, menghitung berapa banyak yang dipungut seorang pemain, dan mengumumkan kemenangan pada koin terakhir. Proyek ini menggunakan semua materi dari Bagian 7 — Instances, events, services, leaderstats — ditambah perulangan dari Bagian 6 untuk memproses banyak objek.
Yang harus dibangun
Saat experience berjalan:
- Setiap pemain mendapat folder
leaderstatsdenganCoinsbernilai0(seperti sebelumnya). - Beberapa koin tersebar di dunia di dalam satu Folder.
- Berjalan ke atas sebuah koin menambahkan
1keCoinspemain tersebut dan menghapus koinnya. - Ketika koin terakhir dikumpulkan, game mencetak pesan kemenangan.
File
Dua script ada di projects/collect-all-coins/:
player-setup.lua— sebuahScriptdi ServerScriptService. MembangunleaderstatsdanCoinsuntuk setiap pemain yang bergabung.coins-manager.lua— sebuahScriptdi ServerScriptService. Menemukan setiap koin, menghubungkan masing-masing eventTouched, menghitung pengambilan koin, dan memicu kemenangan.
Persiapan di Studio, langkah demi langkah
- Buka Studio dengan template Baseplate.
- Buat folder Coins.
- Di Explorer, klik kanan Workspace
→ Insert Object → Folder. Ganti
namanya menjadi
Coins(F2).
- Di Explorer, klik kanan Workspace
→ Insert Object → Folder. Ganti
namanya menjadi
- Tambahkan beberapa koin.
- Klik kanan folder Coins → Insert Object → Part.
- Untuk Part tersebut, atur di Properties:
Anchored=true,Shape=Cylinder(opsional),Size=2, 0.4, 2,BrickColor=Bright yellow, danPositionyang bisa dijangkau pemain. - Duplikat (klik kanan → Duplicate)
beberapa kali dan sebarkan salinannya ke berbagai tempat. Setiap salinan
tetap berada di dalam folder
Coins.
- Tambahkan dua script.
- Klik kanan ServerScriptService → Insert
Object → Script. Ganti namanya menjadi
PlayerSetupdan tempel isiplayer-setup.lua. - Tambahkan Script kedua bernama
CoinsManagerdan tempel isicoins-manager.lua.
- Klik kanan ServerScriptService → Insert
Object → Script. Ganti namanya menjadi
- Uji coba. Tekan Play, jalan ke setiap koin, dan lihat leaderboard bertambah. Saat koin terakhir menghilang, panel Output mencetak pesan kemenangan.
Cara kerja kodenya
coins-manager.luamenghitung koin dengan#coinsFolder:GetChildren()— panjang list dari Bab 22.- Ia melakukan perulangan (Bab 28) dan menghubungkan setiap event
Touched(Bab 33). - Setiap handler menemukan pemainnya (Bab 33), menambah
Coinsmereka (Bab 35), menghapus koin, dan menambah satu ke penghitungcollectedbersama (Bab 20). - Ketika
collectedmencapaitotal, pesan kemenangan dicetak.
Baris if coin.Parent == nil then return end adalah
debounce: Parent koin yang sudah dihancurkan bernilai
nil, sehingga sentuhan yang tersisa diabaikan.
Tantangan lebih besar (opsional)
- Kemenangan per pemain. Beri setiap pemain hitungan mereka sendiri sehingga dua orang bisa berlomba; umumkan siapa yang pertama mencapai angka tertentu.
- Munculkan kembali koin. Setelah kemenangan, gunakan
task.wait, laluClonekoin-koinnya kembali untuk putaran baru.
Sudah selesai?
Ketika koin bisa dikumpulkan, leaderboard menghitungnya, dan kemenangan terpicu pada koin terakhir — proyek, sekaligus buku ini, sudah selesai.
Kamu mulai dari kata-kata di atas kertas dan berakhir dengan scene Roblox yang bisa dimainkan. Setiap tutorial Roblox mulai dari sini akan terasa seperti bab berikutnya: bahasa yang sama, pola yang sama, hanya lebih banyak services, events, dan Instances. Pergi buat sesuatu.