Частенько вижу вопросы как прикрепить объекты к игроку. Ход действий таков:
1) С сервера передаём команду создать объект на клиент
2) После создания объекта на клиенте указываем что объект отображается в стриме
3) Прикрепляем объект.
Вам только останется настроить параметры отображения прикрепляемого объекта
Код клиентской части:
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;
}
}
}
Последнее редактирование: