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

Вопрос [JS] Какую можно сделать проверку на то что игрок находится в 24/7?

shaneprod

Новый участник
5 Май 2023
5
2
38
[JS ] Всем привет, столкнулся с такой проблемой, что мне нужно сделать чтоб игрок не мог к примеру нажимать какую то клавишу, в магазинах 24/7 и в других открытих интерьерах.
 

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
754
288
141
29
[JS ] Всем привет, столкнулся с такой проблемой, что мне нужно сделать чтоб игрок не мог к примеру нажимать какую то клавишу, в магазинах 24/7 и в других открытих интерьерах.
Проверяй через зону стрима например. Не лучший вариант, но рабочий в кое той мере.
 
Реакции: kirillzver

kirillzver

Гуру
BackEnd developer
2 Ноя 2020
190
118
104
Вариантов много, всё зависит от фантазии.

Попробуй такой вариант:

JavaScript:
const getInteriorId = position => {
    const {x, y, z} = position;
    return mp.game.interior.getInteriorAtCoords(x, y, z);
}

const shopInteriorId = 12345; // зайди в интерьер 24/7 и выведи себе id в консоль, потом запиши сюда
const isPlayerInShop = player => {
    return getInteriorId(player.position) === shopInteriorId;
}

mp.keys.bind(keyName, true, () => {
    if (isPlayerInShop(mp.players.local)) return;
   
    // код, который выполняется, если локальный игрок не в 24/7
});

Понятное дело, что интерьеров 24/7 несколько разных, и функцию нужно переделать под 2 и больше значения, например занеся айдишники в массив и используя .includes.
Главное, чтобы ты уловил направление мышления в котором нужно двигаться.
 

shaneprod

Новый участник
5 Май 2023
5
2
38
Вариантов много, всё зависит от фантазии.

Попробуй такой вариант:

JavaScript:
const getInteriorId = position => {
    const {x, y, z} = position;
    return mp.game.interior.getInteriorAtCoords(x, y, z);
}

const shopInteriorId = 12345; // зайди в интерьер 24/7 и выведи себе id в консоль, потом запиши сюда
const isPlayerInShop = player => {
    return getInteriorId(player.position) === shopInteriorId;
}

mp.keys.bind(keyName, true, () => {
    if (isPlayerInShop(mp.players.local)) return;
 
    // код, который выполняется, если локальный игрок не в 24/7
});

Понятное дело, что интерьеров 24/7 несколько разных, и функцию нужно переделать под 2 и больше значения, например занеся айдишники в массив и используя .includes.
Главное, чтобы ты уловил направление мышления в котором нужно двигаться.
Спасибо, вообщем я написал вот так: mp.game.interior.getInteriorAtCoords(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z), теперь когда игрок находится в интерьере, то он не сможет нажать на клавишу)

UPD: Если находиться возле входа в интерьер, будет возвращать > 0
 
Последнее редактирование:
Реакции: kirillzver

Similar threads