function AddQueue(f, a) local i = #Queue + 1 Queue[i] = coroutine.create(f) coroutine.resume(Queue[i], a) end AddQueue(Main) local finish = false while not finish do finish = true for i, co in pairs(Queue) do if coroutine.status(co) ~= "dead" then coroutine.resume(co) finish = false end end end