• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Проблема Отсутствует курсор при открытом окне и можно управлять персонажем

Den4a7777777777

Участник портала
3 Сен 2024
25
5
5
Отсутствует курсор при открытом окне и можно управлять персонажем после того как открывается окно авторизации

index.js

JavaScript:
mp.events.add('playerReady', () => {
    let browser = mp.browsers.new('package://auth/index.html'); 

    setTimeout(function() {
        mp.gui.cursor.show(true, true); 
        mp.players.local.freezePosition(true); 

        browser.execute("mp.invoke('focus', true)");
    }, 500); 


    mp.events.add('closeAuth', () => {
        if (browser) {
            browser.execute("mp.invoke('focus', false)");
            browser.destroy(); 
            browser = null;
        }

        mp.gui.cursor.show(false, false); 
        mp.players.local.freezePosition(false); 
    });
});
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
1,654
1,283
5
Попробуйте задать focus окну браузера сразу после его создания, без задержки в 500 миллисекунд:

JavaScript:
mp.events.add('playerReady', () => {
    let browser = mp.browsers.new('package://auth/index.html'); 

    browser.execute("mp.invoke('focus', true)");
    mp.gui.cursor.show(true, true); 
    mp.players.local.freezePosition(true); 

    mp.events.add('closeAuth', () => {
        if (browser) {
            browser.execute("mp.invoke('focus', false)");
            browser.destroy(); 
            browser = null;
        }

        mp.gui.cursor.show(false, false); 
        mp.players.local.freezePosition(false); 
    });
});
 

Den4a7777777777

Участник портала
3 Сен 2024
25
5
5
Попробуйте задать focus окну браузера сразу после его создания, без задержки в 500 миллисекунд:

JavaScript:
mp.events.add('playerReady', () => {
    let browser = mp.browsers.new('package://auth/index.html');

    browser.execute("mp.invoke('focus', true)");
    mp.gui.cursor.show(true, true);
    mp.players.local.freezePosition(true);

    mp.events.add('closeAuth', () => {
        if (browser) {
            browser.execute("mp.invoke('focus', false)");
            browser.destroy();
            browser = null;
        }

        mp.gui.cursor.show(false, false);
        mp.players.local.freezePosition(false);
    });
});
Курсора по прежнему нету.
 

Den4a7777777777

Участник портала
3 Сен 2024
25
5
5
Код который отправил в изначальное сообщение содержал ошибку. Вот изначальный мой код без ошибки, в котором по прежднему нету курсора и персонаж может свободно двигатся


JavaScript:
mp.events.add('playerReady', () => {
    let browser = mp.browsers.new('package://auth/index.html'); 

    setTimeout(function() {
        mp.gui.cursor.show(true, true); 
        mp.players.local.freezePosition(true); 

        browser.execute("mp.invoke('focus', true)");
    }, 500); 

    mp.events.add('closeAuth', () => {
        if (browser) {
            browser.execute("mp.invoke('focus', false)"); 
            browser.destroy(); 
            browser = null; 
        }

      
        mp.gui.cursor.show(false, false); 
        mp.players.local.freezePosition(false); 
    });
});
 

Den4a7777777777

Участник портала
3 Сен 2024
25
5
5
Проблема актуальна
 

uaa007

Начинающий специалист
23 Авг 2023
100
23
50
mp.gui.cursor.show(true, true); mp.players.local.freezePosition(true);

browser.execute("mp.invoke('focus', true)");
У тебя тут первая строка и третья одно и тоже делают, оставь только третью

Ну и первая и вторая тоже одно и тоже делают

Попробуй поудалять построчно и посмотреть на реакцию игры
 

xstrasupra

Активный участник
29 Сен 2022
29
6
40
Привет, я не лучший бэк и фронт, но если поможет, то я был рад помочь :)
Сделать блок движение мышки можно допустим таким образом: На стороне клиента добавь в свой сурс функций пользовательский ивент (не знаю пользовательский ли он):

JavaScript:
ui.DisableMouseControl = false;

Если говорить о внутриигровых ивентах, то могут помочь ссылки ниже:

https://wiki.rage.mp/index.php?title=Controls::disableAllControlActions
https://wiki.rage.mp/index.php?title=Controls::enableAllControlActions
https://wiki.rage.mp/index.php?title=Controls::enableControlAction

Пример кода:

JavaScript:
// mouse on
mp.game.controls.disableAllControlActions(2);

// mouse off
mp.game.controls.enableAllControlActions(2);

Пример моей функции с использованием первого ивента:

JavaScript:
функция.show = function() { // Функция для показа интерфейса
    mp.gui.cursor.show(false, true);
    ui.DisableMouseControl = true;
    hidden = false;
    ui.hideHud();
    mp.game.graphics.transitionToBlurred(100);
    methods.blockKeys(true);
    ui.callCef('название', '{"type": "show"}');
};

Так-же если ты заметил, я использую внутриигровой ивент с отображением курсора:

JavaScript:
mp.gui.cursor.show(false, true);

Думаю по ссылке ниже ты поймёшь как правильно использовать его:

https://wiki.rage.mp/index.php?title=Cursor.show