feat: 50 игр на Lua + импорт Roblox для всех + поддержка Lua в плеере #39
@ -1698,8 +1698,21 @@ export function registerRobloxShim(lua, opts) {
|
|||||||
function __rbxl_yield_frame()
|
function __rbxl_yield_frame()
|
||||||
coroutine.yield(0.05)
|
coroutine.yield(0.05)
|
||||||
end
|
end
|
||||||
if type(task) == 'table' then
|
-- task — JS-object из shim ('userdata'/'table'). Сохраняем
|
||||||
task.wait = rbx_wait
|
-- существующие методы (delay/spawn/defer) и добавляем wait.
|
||||||
|
if type(task) == 'table' or type(task) == 'userdata' then
|
||||||
|
local existing = task
|
||||||
|
local jsDelay = existing.delay
|
||||||
|
local jsSpawn = existing.spawn
|
||||||
|
local jsDefer = existing.defer
|
||||||
|
task = {
|
||||||
|
wait = rbx_wait,
|
||||||
|
delay = jsDelay or function(_, fn) if fn then fn() end end,
|
||||||
|
spawn = jsSpawn or function(fn) if fn then fn() end end,
|
||||||
|
defer = jsDefer or function(fn) if fn then fn() end end,
|
||||||
|
synchronize = function() end,
|
||||||
|
desynchronize = function() end,
|
||||||
|
}
|
||||||
else
|
else
|
||||||
task = { wait = rbx_wait }
|
task = { wait = rbx_wait }
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user