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

Вопрос colshapes

mecinat

Участник портала
Автор темы
18 Мар 2023
24
1
8
Ковырял я colshape и не понял одной вещи. Можно ли как то получить координаты шейпа если например мы создали его на сервере, и нам нужно получить его координаты на клиенте. Я пытался отправить массив со всеми шейпами, но результата не оказалось. Как это можно решить?
 

Лорд

Начинающий специалист
6 Окт 2020
49
6
72
30
Можно по идее передавать клиенту информацию о координатах но зачем создавать его на сервере чтобы потом искать на клиенте?
 

xDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,127
1,358
191
27
Не уверен, но
JavaScript:
mp.colshapes.forEach(colshape => // Все ColShape, которые видит клиент
{
    mp.gui.chat.push(`${colshape.position}`);
});

mp.colshapes.forEachInStreamRange(colshape => // Все ColShape, которые видит клиент в зоне прорисовки игрока
{
    mp.gui.chat.push(`${colshape.position}`);
});
По идее ты можешь использовать SharedData, на сервере выставить что-нибудь кулшейпу при создании и использовать это для идентификации на клиенте.
 

DaVilka

Гуру
16 Сен 2020
589
223
108
Добавлю что ивенты, на вход и выход для колшейпа доступны и для клиента
 

kirjushka////////////

Участник портала
28 Янв 2023
21
14
13
Ковырял я colshape и не понял одной вещи. Можно ли как то получить координаты шейпа если например мы создали его на сервере, и нам нужно получить его координаты на клиенте. Я пытался отправить массив со всеми шейпами, но результата не оказалось. Как это можно решить?
mp.colshapes.atRemoteId(ID)

ID - это айди колшейпа с сервера.
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,189
412
145
  • Like
Реакции: h4cker777

mecinat

Участник портала
Автор темы
18 Мар 2023
24
1
8
Не уверен, но
JavaScript:
mp.colshapes.forEach(colshape => // Все ColShape, которые видит клиент
{
    mp.gui.chat.push(`${colshape.position}`);
});

mp.colshapes.forEachInStreamRange(colshape => // Все ColShape, которые видит клиент в зоне прорисовки игрока
{
    mp.gui.chat.push(`${colshape.position}`);
});
По идее ты можешь использовать SharedData, на сервере выставить что-нибудь кулшейпу при создании и использовать это для идентификации на клиенте.
Спасибо за помощью, но к сожелению у colshape не имеется position
1679548801669.png
 

ff!

Участник портала
30 Дек 2022
1
0
23
Спасибо за помощью, но к сожелению у colshape не имеется positionПосмотреть вложение 6978

Можно закостылить решение:

server
JavaScript:
const colshape = mp.colshapes.newSphere(x, y, z, radius);
colshape.setVariable('colshape::id', colshape.id);
colshape.setVariable('colshape::position', JSON.stringify({x, y, z}));

client

JavaScript:
mp.colshapes.forEach(colshape => // Все ColShape, которые видит клиент
{
    const position = colshape.getVariable('colshape::position') ? JSON.parse(colshape.getVariable('colshape::position')) : null;
    const id = colshape.getVariable('colshape::id') || null;
    mp.gui.chat.push(`${id}, ${position}`);
});

А вообще если тебе что-то нужно делать с этими шейпами - лучше использовать события входа/выхода в них и уже вызывать нужные методы (либо звонить в клиент)
 

xDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,127
1,358
191
27