Как использовать

the same

Активный
Автор темы
176
23
Версия MoonLoader
.027.0-preview
Как правильно использовать
Код:
while true do
            wait(0)

Проблема, написал код ,wait(text) ,одна часть робит,Вторая нет
Код:
        while true do
            wait(600000) -- 3600000 час
            my_time_10 = my_time_10 +10
            sampAddChatMessage( my_time_10 .. " {FFFFFF} минут.")
            
        end
        
        
        while true do
            wait(600000)
            sampAddChatMessage('ЭТО 123', 0XFFFFFF)
        end
end
 
Решение
Дело в том, что циклы в потоке main не являются асинхронными, т.е пока первый цикл не выполнится - второй не начнет свою работу.
Для того, чтобы запустить два цикла и они выполнялись асинхронно - сделай такую конструкцию из двух корутинов
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    if not isSampfuncsLoaded() then return end
    lua_thread.create(first_thread)
    lua_thread.create(second_thread)
    -- or
    lua_thread.create(function()
        while true do
            wait(0)
            -- нужный тебе код
        end
    end)
   
    lua_thread.create(function()
        while true do
            wait(0)
            -- нужный тебе код
        end
    end)
    while true do
        wait(0)
    end
end...

leekyrave

Известный
419
226
Дело в том, что циклы в потоке main не являются асинхронными, т.е пока первый цикл не выполнится - второй не начнет свою работу.
Для того, чтобы запустить два цикла и они выполнялись асинхронно - сделай такую конструкцию из двух корутинов
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    if not isSampfuncsLoaded() then return end
    lua_thread.create(first_thread)
    lua_thread.create(second_thread)
    -- or
    lua_thread.create(function()
        while true do
            wait(0)
            -- нужный тебе код
        end
    end)
   
    lua_thread.create(function()
        while true do
            wait(0)
            -- нужный тебе код
        end
    end)
    while true do
        wait(0)
    end
end


function first_thread()
    while true do
        wait(0)
        -- нужный тебе код
    end
end

function second_thread()
    while true do
        wait(0)
        -- нужный тебе код
    end
end