Study
Luau

Tugas Akhir

Penjelasan

Saatnya menggabungkan konsep inti Luau/Roblox — Instance & Roblox object model, event handling, ModuleScript untuk berbagi logic, komunikasi client-server lewat RemoteEvent, dan task library untuk timing — menjadi satu sistem kecil yang saling terhubung. Tugas ini menguji pemahaman tentang pemisahan tanggung jawab server-client, yang jadi fondasi keamanan scripting Roblox. Fokus pada alur data yang benar: logic yang menentukan hasil (HP berkurang, item didapat) harus tetap berada di server dan divalidasi, sementara client hanya mengirim permintaan dan menampilkan hasil.

Tugas

Buat sistem "Perangkap Damage": (1) ModuleScript bernama ModulDamage berisi fungsi murni hitungDamageSetelahArmor(damage, armor) yang tidak pernah mengembalikan angka negatif, (2) Script server yang membuat sebuah Part "Perangkap" dan menyambungkan event Touched-nya, saat karakter menyentuhnya server memanggil ModulDamage lalu mengurangi Humanoid.Health, (3) RemoteEvent "NotifikasiDamage" yang di-fire server ke client terkait untuk menampilkan pesan berapa damage yang diterima, (4) di server, gunakan task.wait sebagai debounce 1 detik supaya perangkap tidak memberi damage berkali-kali dalam sentuhan yang sama secara terus-menerus, (5) LocalScript yang menerima event tersebut dan print pesan damage ke client.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Uji dulu tiap bagian secara terpisah (ModulDamage sendiri, lalu event Touched sendiri, baru RemoteEvent) sebelum menggabungkan semuanya — ini jauh lebih mudah melacak bagian mana yang error dibanding langsung menjalankan sistem penuh sekaligus.