This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Лорд

Начинающий специалист
Автор темы
6 Окт 2020
49
6
72
30
Частенько вижу вопросы как прикрепить объекты к игроку. Ход действий таков:
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

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,425
191
27
Вопрос не совсем понятен.
Метод называется GetPedBoneIndex - Взять индекс кости Пед'а (педами являются и игроки, и нпц).
По 28422 ID кости он получает Index кости.
Работает метод в C# так же, как работает на JS'е: https://wiki.rage.mp/index.php?title=Player::getBoneIndex
 

Inoi

/dev/null
VIP
15 Окт 2020
2,363
1,412
208
34
в целом вот и вся иерархия