Как создать создать sleep в "отдельном" потоке Lua без использования сторонних библиотек?

Дело в том, что в движке, который я использую, отсутствует поддержка библиотек и вырезана библиотека os. Есть time.uptime(). Вот нерабочий вариант (неизвестная ошибка в corutine.yield()):

function sleep(s)
    local upt = time.uptime()
    while ((time.uptime() - upt) < s) do
        coroutine.yield()
    end
end

Мне нужно, чтобы приостанавливалось только выполнение скрипта, но не останавливался основной поток движка (в том смысле, что другие скрипты работали) (да, Lua в том же потоке, что и движок (а конкретно физика и поворот камеры)


Ответы (0 шт):