after
Updatedlocal part = new Instance("Part") local alive = true local function respawn() end after 3 do part.Transparency = 1 end after 3 where alive do respawn() end
Runs a block later: task.delay(seconds, function() ... end). The seconds are a number. return leaves the block, not the function around it, since the block is a function of its own.
where puts a condition on it, and the condition is read when the timer fires, not when the block is scheduled. A local the code changes in between is read at its new value.
after is also the word in destroy x after n.
The word is free as a name too. after before a delay is the keyword, and the block closes it: after 2 do, after (n + 1) do, and after 3 where cond do. Every other reading is a name, so after = 1, after(x), after[1] = 2, and after += 1 read the Luau way. The delay and its do sit on one line when the delay is parenthesized, since after(x) on its own line is a call.
