Biblioteca task în Luau: task.spawn, task.defer, task.wait și task.cancel în Luau (Roblox Studio)

Ghid complet pentru biblioteca task în Luau: înlocuitorul modern de înaltă precizie pentru vechile funcții wait() și spawn(), corutine și anularea execuției.

Sintaxă
task.wait(1.5) | task.spawn(functie) | task.defer(functie)

Biblioteca standard task a fost introdusă de Roblox pentru a înlocui definitiv funcțiile istorice depreciate wait(), spawn() și delay(). Spre deosebire de vechile funcții care aveau o întârziere minimă imprecisă de ~30ms, biblioteca task este sincronizată la nivel de cadru (60Hz / 120Hz) direct cu planificatorul de sarcini (Task Scheduler) al motorului Roblox.

Programarea sarcinilor temporizate cu biblioteca task
-- 1. Așteptare precisă fără blocarea firului principal:
print("Numărătoarea inversă începe...")
task.wait(3.0)
print("3 secunde s-au scurs exact!")

-- 2. Lansarea unei corutine asincrone paralele:
local firSecundar = task.spawn(function()
    while true do
        print("Bătăi inimă joc în fundal...")
        task.wait(1.0)
    end
end)

-- 3. Anularea programată a firului de execuție după 5 secunde:
task.delay(5.0, function()
    task.cancel(firSecundar)
    print("Firul secundar a fost oprit definitiv!")
end)