Цикл, бинды, wait

Lo_Smite

Участник
Автор темы
56
9
Версия MoonLoader
.026-beta
Я вот столкнулся с тем что допустим делаешь свои бинды в коде и порой надо чтобы оно переставалось отыгрываться. Проблема в том что когда я делаю переключатель, то он не работает из-за wait в строках запущенного. Можно ли это как-то исправить или лучше использовать os.time и там отмерять время с проверкой условий на время и переключатель?
 
Решение
Lua:
local state = false

sampRegisterChatCommand('hotkey', function ()
    state = not state
end)

while true do
    wait(0)
    if state then
        if wasKeyPressed(VK_R) then
            -- code
        end
    end
end

Суть думаю уловил
Запускай отыгровку в потоке. А потом когда нужно убивай поток


Lua:
potok = lua_thread.create(
    function()
        sampSendChat(...)
        wait(...)
        sampSendChat(...)
        wait(...)
        sampSendChat(...)
        wait(...)
    end
)

-- убийство
if potok then
    potok:terminate() -- potok будет равно завершенному потоку, а не nil. Если надо, то после этого ебани еще potok = nil
end

Double Tap Inside

Известный
Проверенный
1,899
1,246
Lua:
local state = false

sampRegisterChatCommand('hotkey', function ()
    state = not state
end)

while true do
    wait(0)
    if state then
        if wasKeyPressed(VK_R) then
            -- code
        end
    end
end

Суть думаю уловил
Запускай отыгровку в потоке. А потом когда нужно убивай поток


Lua:
potok = lua_thread.create(
    function()
        sampSendChat(...)
        wait(...)
        sampSendChat(...)
        wait(...)
        sampSendChat(...)
        wait(...)
    end
)

-- убийство
if potok then
    potok:terminate() -- potok будет равно завершенному потоку, а не nil. Если надо, то после этого ебани еще potok = nil
end