• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в 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/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


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

Вопрос Почему координаты работают корректно через раз

dereksjq

Участник портала
Автор темы
17 Июн 2023
64
10
20
Имеются у меня значит координаты блипов, которые ставятся там после определенной функции, не суть.
И есть координаты блипа спавна, который ставится на все ок'ей.
Предоставлю функцию установки блипа и координаты блипов. Может я что-то не понимаю?

JavaScript:
function randomElement(arr) {
    var rand = Math.floor(Math.random() * arr.length);
    return arr[rand];
}

const coordinatesCheckPoints = [
    [-210.89149475097656, -787.3456420898438, 30.67060661315918],
    [-206.27557373046875, -801.8497314453125, 30.45402717590332],
    [-197.49993896484375, -804.4584350585938, 30.454015731811523],
    [-192.65501403808594, -794.6744384765625, 30.45401954650879],
    [-189.57676696777344, -784.9571533203125, 30.45401954650879],
]
JavaScript:
mp.events.add("bMail_setCheckPoint", () => {
    const blipID = 280;
    const blipColor = 38;
    const coordinates = randomElement(coordinatesCheckPoints)
    mp.blips.new(blipID, new mp.Vector3(coordinates),
     {
        name: 'Место прибытия',
        scale: 1,
        color: blipColor,
        alpha: 255,
        drawDistance: 100,
        shortRange: false,
        rotation: 0,
        dimension: 0
    });   
})
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,219
1,424
191
27
Что не так-то?
Я не вижу в сообщении сути ошибки, что работает некорректно?

И почему не сделать вот так, чтобы не париться потом?
JavaScript:
const coordinatesCheckPoints = 
[
    new mp.Vector3(-210.89149475097656, -787.3456420898438, 30.67060661315918),
    new mp.Vector3(-206.27557373046875, -801.8497314453125, 30.45402717590332),
    new mp.Vector3(-197.49993896484375, -804.4584350585938, 30.454015731811523),
    new mp.Vector3(-192.65501403808594, -794.6744384765625, 30.45401954650879),
    new mp.Vector3(-189.57676696777344, -784.9571533203125, 30.45401954650879)
]
 
  • Like
Реакции: dereksjq

dereksjq

Участник портала
Автор темы
17 Июн 2023
64
10
20
Да, ты правильно подметил, что лучше было использовать сразу new mp.Vector3.
Теперь другая проблема, что сервер не обрабатывает или не может считать, когда игрок входит в колшейп/чекпоинт.
Все эти функции на клиент-сайде, пробовал на сервер-сайд та же шляпа, с чекпоинтами абсолютно так-же. и функции менял, и чат гпт спрашивал - решения 0.

JavaScript:
mp.events.add("bMail_setCheckPoint", () => {
    const blipID = 162;
    const blipColor = 38;
    const checkPointID = 1;
    const color = [255, 0, 0, 255];
    const coordinates = randomElement(coordinatesCheckPoints);
    
    blipPlayer = mp.blips.new(blipID, coordinates, {
        name: 'Место прибытия',
        scale: 1,
        color: blipColor,
        alpha: 255,
        drawDistance: 100,
        shortRange: false,
        rotation: 0,
        dimension: 0
    });
    
    mp.markers.new(1, coordinates, 2);
    orderCheckPoint = mp.colshapes.newSphere(coordinates, 2.0, 0);
});
// This event gets called when player enters the colshape
mp.events.add('playerEnterColshape', (shape) => {
    rpc.callServer("debug", shape)
});
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,219
1,424
191
27
Чекпоинты не работали и не работают в рейдже, поэтому их все заменяют на связку маркера + колшейпа.

Для того, чтобы отдежабить взаимодействие - не обязательно слать что-то на сервер. Просто выведи сообщение в чат при входе, вот так:
JavaScript:
mp.events.add('playerEnterColshape', (shape) =>
{
    mp.gui.chat.push("debug");
});

Ну и убедись, что файл подключен к общему скрипту клиентской стороны.
 

dereksjq

Участник портала
Автор темы
17 Июн 2023
64
10
20
Это я конечно понимаю, но прикол в том, что вообще никакие действия не происходят. Файл подключен, иначе-бы не работали другие функции. Даже попробовал запихнуть playerEnterCheckpoint в главный файл, откуда все и берет начало - так же не обрабатывает. Я уже исключал для себя такой вариант перед написанием сообщения выше. Честно - я не знаю в чем прикол этого бага, сверялся по википедии - точь в точь, а не работает. :confused:
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,219
1,424
191
27
JavaScript:
mp.colshapes.newSphere(new mp.Vector3(0, 0, 0), 2.0);

mp.events.add('playerEnterColshape', (shape) =>
{
    mp.gui.chat.push("entered");
});

mp.events.add('playerExitColshape', (shape) =>
{
    mp.gui.chat.push("exited");
});
Этот код не может не работать. Если у тебя что-то не отлавливается, то ищи ошибку в другом месте - возможно сам колшейп даже не создаётся, а тебе кажется, что он не реагирует.
 
  • Like
Реакции: dereksjq

dereksjq

Участник портала
Автор темы
17 Июн 2023
64
10
20
JavaScript:
mp.colshapes.newSphere(new mp.Vector3(0, 0, 0), 2.0);

mp.events.add('playerEnterColshape', (shape) =>
{
    mp.gui.chat.push("entered");
});

mp.events.add('playerExitColshape', (shape) =>
{
    mp.gui.chat.push("exited");
});
Этот код не может не работать. Если у тебя что-то не отлавливается, то ищи ошибку в другом месте - возможно сам колшейп даже не создаётся, а тебе кажется, что он не реагирует.
Да, спасибо за наводку.
В общем-то покопался я в коде, и обнаружил, что колшейп вообще не создается.
Решил очень просто, поменяв newSpehere на newCircle, ну и немного подшаманил массив с координатами, чтобы он нормально работал.