Ну, на практике не работает это без антиафк. Вот сам файл:
От сворачивания или просто перемещения фокуса окна должна работать. У меня во-первых один скрипт работает с такой защитой на ура, во-вторых только что протестировал, всё нормально.
Касаемо активности меню ты не правильно сделал. У тебя идёт проверка активности меню в реальном времени, т.е. ты в меню - всё гуд, блокается принятие сообщений, вышел из меню и в этот же момент и снимается блок. На свитч меню нужно треггер сделать отдельный, можно конечно скрестить с винсобытием, но там надо продумать алгоритм, потом может сам придумаешь, мне лень сейчас думать , пара идёт )
Вот такой немного костыльный метод - триггер на меню
switchPause = false -- Служебная переменная...