Вопрос Закрытие интерфейсов на ESC

reinerghost

Активный участник
Автор темы
high coder
high designer
16 Сен 2020
19
23
32
Привет всем, переломал голову как отключить стандартное меню при нажатии ESC для закрытия интерфейса, а потом включить такую возможность.
Пробовал при открытии интерфейса делать
JavaScript:
mp.game.ui.setPauseMenuActive(true);
А после закрытия включать, но что-то не работает
 

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
high coder
media
10 Сен 2020
830
557
150
JavaScript:
mp.keys.bind(0x1B, false, function() { // ESC key

    if( если открыт интерфейс какой-либо )
    {
        // код закрытия интерфейса
        mp.game.ui.setPauseMenuActive(false); // отключаем меню паузы
    }
});

После закрытия включать не надо, походу функция работает так что запрещает меню появится единожды.
 
Последнее редактирование:

reinerghost

Активный участник
Автор темы
high coder
high designer
16 Сен 2020
19
23
32
Нет, все проще

Код:
mp.game.controls.disableAllControlActions(0)
 

skyElmax

Начинающий специалист
high coder
15 Сен 2020
123
62
57
JavaScript:
let openBrowser_timer = 0; // переменная отвечающая за таймер
mp.events.add('render', () => {
    if (mp.keys.isDown(27)) { //ESC
        if (localplayer.getVariable('openBrowser') != null) openBrowser_timer = new Date().getTime();
        if (new Date().getTime() - openBrowser_timer < 1000) mp.game.controls.disableAllControlActions(0);
    }
});
//localplayer - у меня это глобальная переменная, вместо mp.players.local
//getVariable('openBrowser') - синхронизированная переменная (сервер/клиент), которая отвечает за открытие интерфейса

Оставлю это здесь, что бы если кто будет искать в поисковике это нашлось быстро!
 
  • Like
Реакции: Harland David Sanders