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

Вопрос Корректность дистанции до координат

dereksjq

Участник портала
17 Июн 2023
64
10
20
Код:
let dist = player.dist((-207.80039978027344, -788.2138061523438, 30.454025268554688));
    if (dist < 938 && dist > 936) { player.call("bMail_showJob") }
    else { console.log(dist) }

Выше я предоставил код, который по идее должен получать дистанцию от координат игрока, и до нужный координат. Но число всегда получается 936+. Вопрос заключается, что можно ли как-то убрать эти большие числа и получить к примеру 0 метров, 20 метров, 15 метров и т.д., но не 500, 600, 900, 1000?

По синтаксису википедии смотрел, вроде одно и то же: entity.dist(position)
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,373
237
100
Да, вы можете ограничить значения дистанции до нужного диапазона, чтобы получить только более маленькие числа. Вы можете использовать функцию Math.max() и Math.min() для этого. Вот как можно изменить ваш код:

JavaScript:
let dist = player.dist((-207.80039978027344, -788.2138061523438, 30.454025268554688));
dist = Math.max(0, Math.min(20, dist)); // Ограничиваем значения от 0 до 20
if (dist > 0) {
    player.call("bMail_showJob");
} else {
    console.log(dist);
}

Этот код ограничит значения дистанции от 0 до 20 метров. Если дистанция меньше или равна 0, то будет выводиться значение в консоли, иначе будет вызываться функция "bMail_showJob".
 

Bloodlust

Специалист
25 Апр 2021
311
91
112
JavaScript:
//Получение расстояния от координат вместе с Z:
distanceToPos = function (v1, v2) {
    return Math.abs(Math.sqrt(Math.pow((v2.x - v1.x),2) +
        Math.pow((v2.y - v1.y),2)+
        Math.pow((v2.z - v1.z),2)));
};

//Получение расстояния от координат без Z:
distanceToPos2D = function (v1, v2) {
    return Math.abs(Math.sqrt(Math.pow((v2.x - v1.x),2) +
        Math.pow((v2.y - v1.y),2)));
};
 
Реакции: dereksjq