Возможно ли в функцию main() внести несколько while true do wait(0)?

Vl4dik

Новичок
Автор темы
27
0
Форматирование кода
Возможно ли в функцию main() внести несколько while true do wait(0)? Я знаю, что можно две функции внести сразу под один (while...), но мне нужно именно так как я написал. Прошу пожалуйста помочь) К примеру написал по простому:
function main()
while true do wait(0)
One()
end
while true do
wait(0)
Two()
end
end

function One()
sampAddChatMessage("Один")
end

function
Two()
sampAddChatMessage("Два")
end
 

Izvinisb

Известный
Проверенный
964
598
Возможно ли в функцию main() внести несколько while true do wait(0)? Я знаю, что можно две функции внести сразу под один (while...), но мне нужно именно так как я написал. Прошу пожалуйста помочь) К примеру написал по простому:
function main()
while true do wait(0)
One()
end
while true do
wait(0)
Two()
end
end

function One()
sampAddChatMessage("Один")
end

function
Two()
sampAddChatMessage("Два")
end
В чем проблема проверить?
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
Создавать потоки в вечном цикле вроде как затея гиблая, ибо может игра зависнуть
впринципе может и вселенная сколлабсироваться. никто точно не знает что будет.
 

Vl4dik

Новичок
Автор темы
27
0
То есть, я не смогу сделать так(код ниже)? И какой из функций будет правильнее или м.б. совсем все не так? Просто хотелось бы порядочность(по полочкам все) видеть. Буду очень благодарен если укажите ошибку)
function main()
lua_thread.create(One)
while true do wait(0)
Two()
lua_thread.create(Three)
end
end

function
One()
while true do wait(0)
sampAddChatMessage("Один")
end
end

function
Two()
sampAddChatMessage("Два")
end

function Three()
sampAddChatMessage("Три")
end
 

wulfandr

Известный
637
260
То есть, я не смогу сделать так(код ниже)? И какой из функций будет правильнее или м.б. совсем все не так? Просто хотелось бы порядочность(по полочкам все) видеть. Буду очень благодарен если укажите ошибку)
function main()
lua_thread.create(One)
while true do wait(0)
Two()
lua_thread.create(Three)
end
end

function
One()
while true do wait(0)
sampAddChatMessage("Один")
end
end

function Two()
sampAddChatMessage("Два")
end

function
Three()
sampAddChatMessage("Три")
end
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    lua_thread.create(One)
    lua_thread.create(Two)
    wait(-1)
end

function One()
    while true do wait(0)
        sampAddChatMessage("Один", -1)
    end
end

function Two()
    sampAddChatMessage("Два", -1)
    lua_thread.create(Three)
end

function Three()
    sampAddChatMessage("Три", -1)
end
 
Последнее редактирование:
  • Нравится
Реакции: wheythisbitch1

Vl4dik

Новичок
Автор темы
27
0
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    lua_thread.create(One)
    lua_thread.create(Two)
    wait(-1)
end

function One()
    while true do wait(0)
        sampAddChatMessage("Один", -1)
    end
end

function Two()
    sampAddChatMessage("Два", -1)
    lua_thread.create(Three)
end

function Three()
    sampAddChatMessage("Три", -1)
end
А можно подругому как-то, чтобы глаза не мозолить глаза этим lua_thread.create, то есть, если возможно написать ua_thread.create(One, Two, Three, ...), по твоему это каждый раз прописывать нужно будет?
function main()
lua_thread.create(One)
lua_thread.create(Two)
lua_thread.create(Three)
lua_thread.create(Four)
lua_thread.create(Five)
end
И как так же написать как ты? Lua: и сам код, а то у меня какие-то баллы отбирают за форматирование текста. Новичок еще, не особо разбираюсь на этом форуме)
 

Lo_Smite

Участник
56
9
А можно подругому как-то, чтобы глаза не мозолить глаза этим lua_thread.create, то есть, если возможно написать ua_thread.create(One, Two, Three, ...), по твоему это каждый раз прописывать нужно будет?
function main()
lua_thread.create(One)
lua_thread.create(Two)
lua_thread.create(Three)
lua_thread.create(Four)
lua_thread.create(Five)
end
И как так же написать как ты? Lua: и сам код, а то у меня какие-то баллы отбирают за форматирование текста. Новичок еще, не особо разбираюсь на этом форуме)
Lua:
lua.thread.create(Odin, Eva, tree) -- Не правильное использованин создание потоков
-- так делать нельзя

lua.thread.create(Odin)
lua.thread.create(Eva)
lua.thread.create(three)
-- Единственный верный способ
-- Создавать можно в main после того как проверка сампа пройдет
--Либо же внутри функции которая ранее была объявлена
 
  • Нравится
Реакции: Vl4dik

Vl4dik

Новичок
Автор темы
27
0
Lua:
lua.thread.create(Odin, Eva, tree) -- Не правильное использованин создание потоков
-- так делать нельзя

lua.thread.create(Odin)
lua.thread.create(Eva)
lua.thread.create(three)
-- Единственный верный способ
-- Создавать можно в main после того как проверка сампа пройдет
--Либо же внутри функции которая ранее была объявлена
Cпасибо большое, единственный кто понятно разъяснил))
А вот в main() можно написать функцию(ии) как примерно такую которая снизу?
Lua:
function main()    
    function Odin()
        while true do wait(0)
            sampAddChatMessage("Один", -1)
        end
    end
end
 
Последнее редактирование:

Lo_Smite

Участник
56
9
Cпасибо большое, единственный кто понятно разъяснил))
А вот в main() можно написать функцию(ии) как примерно такую которая снизу?
Lua:
function main()   
    function Odin()
        while true do wait(0)
            sampAddChatMessage("Один", -1)
        end
    end
end

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

То что ты сейчас написал:
Без проверки загрузки сампа создает поток один
Поток один создает бесконечный цикл и по кд шлет слово один в чатлог
 
  • Нравится
Реакции: Vl4dik