• Из-за обновления 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) последний раз были обновлены:

Вопрос деморган

Maks_Walter

Новый участник
22 Июн 2024
16
3
12
Написал код для деморгана Но у меня возник Вопрос Как поставить блокировку на клавишу когда игрока посадили в деморган (Игрок сидит в деморган и не может нажать на кнопку смену фракции)
JaveScript Кому надо Используйте Ну ответьте пожалуйста на вопрос


JavaScript:
 mp.events.addCommand('dmt', (player, _, id, time, reason) => {
     let adminS = player.getVariable('adminstatus')
     const tPlayer = mp.players.at(id);
     let adminLvl = player.getVariable('adminlvl');
     if(adminS == true) {
         if(adminLvl >= 2) {
     if(!id || !reason || !time) {
         player.outputChatBox(`/dmt [ID] [причина] [time]`);
         return;
     }
     if(!tPlayer) {
         player.outputChatBox(`Игрок с ID ${id} не найден!`); 
         return;
     }
     else {
         let timeSet = time * 60000
         mp.players.broadcast(`!{#ff0000} Администратор ${player.name} [${player.id}] посадил в деморган игрока ${tPlayer.name} [${tPlayer.id}] на ${time} минут по причине: ${reason}!`);
         tPlayer.outputChatBox(`!{#ff0000} Администратор ${player.name} посадил вас в демораган на ${time} минут по причине: ${reason}!`)
        tPlayer.position = new mp.Vector3 (1650.9468994140625, 2570.77490234375, 45.56485366821289);
         tPlayer.setVariable('demorgan', true);
         setTimeout(function() {
             tPlayer.position = new mp.Vector3 (-1689.739990234375, -1099.809326171875, 13.15237808227539);
             tPlayer.setVariable('demorgan', false);
         }, timeSet);
     }
 }
 else {
     hud.addNotify(player, [`У вас нет прав!`])
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
1,783
189
5
Для блокировки клавиши при посадке игрока в деморган, можно добавить проверку наличия этой переменной у игрока при обработке события нажатия клавиши. Например, вот так:

JavaScript:
mp.events.add("playerKeyPress", (player, key) => {
    if(player.getVariable('demorgan')) {
        // Блокировка клавиши
        player.call("playSound", ["WARNING_SOUND", "WARNING_SOUND"]); // Проигрываем звук предупреждения
    } else {
        // Обработка нажатия клавиши
        switch(key) {
            case 69: // Пример для клавиши "E"
                // Действие при нажатии нужной клавиши
                break;
            default:
                break;
        }
    }
});

Этот код проверит, есть ли у игрока переменная "demorgan" (посажен ли он в деморган) при каждом нажатии клавиши. Если переменная установлена, то будет проигран звук предупреждения, а дальнейшие действия по нажатию клавиши будут игнорироваться.
 

Puler

Участник портала
13 Дек 2023
57
5
18
Код:
mp.events.addCommand('dmt', (player, _, id, time, reason) => {
    let adminS = player.getVariable('adminstatus');
    const tPlayer = mp.players.at(id);
    let adminLvl = player.getVariable('adminlvl');

    if (adminS === true && adminLvl >= 2) {
        if (!id || !reason || !time) {
            player.outputChatBox(`/dmt [ID] [причина] [time]`);
            return;
        }

        if (!tPlayer) {
            player.outputChatBox(`Игрок с ID ${id} не найден!`);
            return;
        } else {
            let timeSet = time * 60000;
            mp.players.broadcast(
                `!{#ff0000} Администратор ${player.name} [${player.id}] посадил в деморган игрока ${tPlayer.name} [${tPlayer.id}] на ${time} минут по причине: ${reason}!`
            );
            tPlayer.outputChatBox(
                `!{#ff0000} Администратор ${player.name} посадил вас в демораган на ${time} минут по причине: ${reason}!`
            );
            tPlayer.position = new mp.Vector3(1650.9468994140625, 2570.77490234375, 45.56485366821289);
            tPlayer.setVariable('demorgan', true);

            // Блокировка нажатий клавиш
            tPlayer.freezePosition(true);
            tPlayer.setVariable('keyboardLocked', true);

            setTimeout(() => {
                tPlayer.freezePosition(false);
                tPlayer.position = new mp.Vector3(-1689.739990234375, -1099.809326171875, 13.15237808227539);
                tPlayer.setVariable('demorgan', false);
                tPlayer.setVariable('keyboardLocked', false);
            }, timeSet);
        }
    } else {
        hud.addNotify(player, [`У вас нет прав!`]);
    }
});

// Обработка нажатия клавиш
mp.events.add('playerInput', (player, newInput) => {
    if (player.getVariable('keyboardLocked')) {
        // Блокировка всех клавиш, кроме ESCAPE
        if (newInput.keys[0] !== 27) {
            return false;
        }
    }
    return true;
});
 

Maks_Walter

Новый участник
22 Июн 2024
16
3
12
Код:
mp.events.addCommand('dmt', (player, _, id, time, reason) => {
    let adminS = player.getVariable('adminstatus');
    const tPlayer = mp.players.at(id);
    let adminLvl = player.getVariable('adminlvl');

    if (adminS === true && adminLvl >= 2) {
        if (!id || !reason || !time) {
            player.outputChatBox(`/dmt [ID] [причина] [time]`);
            return;
        }

        if (!tPlayer) {
            player.outputChatBox(`Игрок с ID ${id} не найден!`);
            return;
        } else {
            let timeSet = time * 60000;
            mp.players.broadcast(
                `!{#ff0000} Администратор ${player.name} [${player.id}] посадил в деморган игрока ${tPlayer.name} [${tPlayer.id}] на ${time} минут по причине: ${reason}!`
            );
            tPlayer.outputChatBox(
                `!{#ff0000} Администратор ${player.name} посадил вас в демораган на ${time} минут по причине: ${reason}!`
            );
            tPlayer.position = new mp.Vector3(1650.9468994140625, 2570.77490234375, 45.56485366821289);
            tPlayer.setVariable('demorgan', true);

            // Блокировка нажатий клавиш
            tPlayer.freezePosition(true);
            tPlayer.setVariable('keyboardLocked', true);

            setTimeout(() => {
                tPlayer.freezePosition(false);
                tPlayer.position = new mp.Vector3(-1689.739990234375, -1099.809326171875, 13.15237808227539);
                tPlayer.setVariable('demorgan', false);
                tPlayer.setVariable('keyboardLocked', false);
            }, timeSet);
        }
    } else {
        hud.addNotify(player, [`У вас нет прав!`]);
    }
});

// Обработка нажатия клавиш
mp.events.add('playerInput', (player, newInput) => {
    if (player.getVariable('keyboardLocked')) {
        // Блокировка всех клавиш, кроме ESCAPE
        if (newInput.keys[0] !== 27) {
            return false;
        }
    }
    return true;
});
Извиняюсь code не срабатывает
 

youngBeaver

Гений
high coder
24 Янв 2023
1,146
448
171
24
Извиняюсь code не срабатывает
Потому, что эвент playerInput не существует и сам он не отработает.
Отключай действие на кнопку, если это действие стоковое в гта:
Либо обрабатывай кнопку через:
 

nuar

Новый участник
10 Май 2024
9
2
5
Тебе ChatGPT дал верный ответ
Там где ты обрабатываешь кнопку "Смены фракции", или любую другую поставь

JavaScript:
let dmg = player.getVariable('demorgan');
if (!dmg) {
    // Игрок не в дмг
} else {
    // Игрок в дмг
}

Но в идеале не садить таким образом в ДМГ, т.к. по сути это до релога