• Из-за обновления 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
32
Частенько вижу вопросы как прикрепить объекты к игроку:). Ход действий таков:
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;
        }
    }
}
 
Последнее редактирование:
Реакции: FireFeed и Evbej

GRANDMASTER

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

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
Проверенный
BackEnd developer
30 Авг 2021
3,226
1,936
216
29
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про

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

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,823
2,417
208
36
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про

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