function AddQueue(f, a) local i = #Queue + 1 Queue[i] = coroutine.create(f) coroutine.resume(Queue[i], a) end AddQueue(Main) local finish = false local t1 = os.clock() 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 if os.clock() - t1 > 1 do sleep(0) t1 = os.clock() end end