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

Лорд

Начинающий специалист
6 Окт 2020
49
6
72
31
Частенько вижу вопросы как прикрепить объекты к игроку:). Ход действий таков:
1) С сервера передаём команду создать объект на клиент
2) После создания объекта на клиенте указываем что объект отображается в стриме
3) Прикрепляем объект.

Вам только останется настроить параметры отображения прикрепляемого объекта

Код клиентской части:
C#:
using RAGE;
using RAGE.Elements;

namespace Project
{
    class AttachObjects : Events.Script
    {
        AttachObjects()
        {
            Events.Add("GiveAttachObject", GiveAttachObject);
            Events.OnEntityStreamIn += StreamMapObjects;
        }

        private void StreamMapObjects(Entity entity)
        {
if (entity.Type == RAGE.Elements.Type.Object)
                    {
            var boneIndex = RAGE.Game.Ped.GetPedBoneIndex(Player.LocalPlayer.Handle, 28422); ///кость куда крепим
            RAGE.Game.Entity.AttachEntityToEntity((entity as MapObject).Handle, Player.LocalPlayer.Handle, boneIndex, 0, 0, 0, 0, 0, 0, false, false, false, false, 0, true);
                    }
        }

        private void GiveAttachObject(object[] args)
        {
            string name = (string)args[0]; // название объекта передаваемое с сервера
            var player_object = new MapObject(RAGE.Util.Joaat.Hash(name), Player.LocalPlayer.Position, new Vector3(), 255, 0);
            player_object.NotifyStreaming = true;
        }
    }
}
 
Последнее редактирование:
  • Like
Реакции: FireFeed и Evbej

GRANDMASTER

Новый участник
25 Дек 2022
1
0
3
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про
// кость куда крепим
я понимаю (примерно) для чего это, но нигде не нашёл объяснения всей иерархии или структуры.
Где можно этому научиться или прочитать?
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,339
1,580
211
27
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про

я понимаю (примерно) для чего это, но нигде не нашёл объяснения всей иерархии или структуры.
Где можно этому научиться или прочитать?
Вопрос не совсем понятен.
Метод называется GetPedBoneIndex - Взять индекс кости Пед'а (педами являются и игроки, и нпц).
По 28422 ID кости он получает Index кости.
Работает метод в C# так же, как работает на JS'е: https://wiki.rage.mp/index.php?title=Player::getBoneIndex
 

Inoi

/dev/null
VIP
15 Окт 2020
3,277
2,057
208
35
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про

я понимаю (примерно) для чего это, но нигде не нашёл объяснения всей иерархии или структуры.
Где можно этому научиться или прочитать?
в целом вот и вся иерархия