This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

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

ReinerGhost

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

Harland David Sanders

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

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

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

ReinerGhost

Специалист
Автор темы
high coder
high designer
16 Сен 2020
52
44
95
Нет, все проще

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

skyElmax

Специалист
high coder
15 Сен 2020
151
96
85
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') - синхронизированная переменная (сервер/клиент), которая отвечает за открытие интерфейса

Оставлю это здесь, что бы если кто будет искать в поисковике это нашлось быстро!