• Из-за обновления 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;
        }
    }
}
 
Последнее редактирование:
Реакции: FireFeed и Evbej

GRANDMASTER

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

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,775
1,578
211
28
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про

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

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,816
1,869
208
35
Спасибо за мануал.
Но вопрос, помимо всего прочего неизвестного интересует откуда ткие познания про

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