Task Library (task.wait, task.spawn)
Penjelasan
Task library (`task.wait`, `task.spawn`, `task.delay`, `task.cancel`) adalah penerus resmi fungsi global lama seperti `wait()` dan `spawn()`, dengan presisi timing lebih baik dan overhead lebih rendah karena diimplementasikan lebih dekat ke scheduler internal Roblox. Fungsi lama masih berjalan untuk kompatibilitas, tapi Roblox merekomendasikan task library untuk kode baru. `task.spawn` menjalankan fungsi segera secara paralel (mirip coroutine) tanpa menunggu, `task.delay` menjadwalkan eksekusi setelah durasi tertentu, dan keduanya mengembalikan thread yang bisa dibatalkan dengan `task.cancel()` — kemampuan yang tidak dimiliki `spawn()`/`delay()` versi lama.
Contoh Konsep
-- task.wait untuk jeda
print("Mulai")
task.wait(2)
print("2 detik kemudian")
-- task.spawn untuk jalankan paralel tanpa memblokir
task.spawn(function()
task.wait(1)
print("Berjalan paralel setelah 1 detik")
end)
print("Kode ini tetap lanjut tanpa menunggu")
-- task.delay yang bisa dibatalkan
local thread = task.delay(5, function()
print("Ini tidak akan tercetak kalau dibatalkan")
end)
task.cancel(thread)
Praktikum
Buat sebuah task.spawn yang mencetak "Regenerasi HP" setiap 3 detik menggunakan loop tak hingga dengan task.wait di dalamnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Simpan thread hasil `task.spawn`/`task.delay` kalau ada kemungkinan perlu dibatalkan dengan `task.cancel` nanti, karena tanpa referensi tersebut thread tidak bisa dihentikan dari luar.