Ну, на практике не работает это без антиафк. Вот сам файл:
От сворачивания или просто перемещения фокуса окна должна работать. У меня во-первых один скрипт работает с такой защитой на ура, во-вторых только что протестировал, всё нормально.
Касаемо активности меню ты не правильно сделал. У тебя идёт проверка активности меню в реальном времени, т.е. ты в меню - всё гуд, блокается принятие сообщений, вышел из меню и в этот же момент и снимается блок. На свитч меню нужно треггер сделать отдельный, можно конечно скрестить с винсобытием, но там надо продумать алгоритм, потом может сам придумаешь, мне лень сейчас думать , пара идёт )
Вот такой немного костыльный метод - триггер на меню
switchPause = false -- Служебная переменная для триггерации.
isPause = false -- Для использовании
-- Где-то в бесконечном цикле
if isPauseMenuActive() and not switchPause then
switchPause = true
isPause = true
print("Вошли в меню.")
-- Если меню стало активным
elseif not isPauseMenuActive() and switchPause then
switchPause = false
lua_thread.create(function()
wait(1000)
print("Вышли из меню. Активировали приём сообщений")
isPause = false
end)
end
----------
function hook.onServerMessage(col, text)
if focus and not isPause then -- ну и того получаем такое
-- вывод нормальных сообщений
end
end