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

reinerghost

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

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
474
290
105
JavaScript:
mp.keys.bind(0x1B, false, function() { // ESC key

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

reinerghost

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

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

skyElmax

Начинающий специалист
high coder
102
46
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