Я хотел бы настроить этот скрипт [бросание предмета на землю] для запуска на стороне клиента, чтобы я мог, по крайней мере, расположить предмет так, чтобы он не сталкивался с землей, и иметь возможность исправить вращение, потому что это ломает. Может кто-нибудь помочь с этим?
KOD:
KOD:
C#:
``` public void DropItem(Character charData)
{
if (!CheckOwner(charData))
{
charData.SendError("Przedmiot nie należy do Ciebie.");
charData.ShowItemUi(true, false);
return;
}
if (ItemData.Used)
{
charData.SendError("Przedmiot nie może być używany.");
charData.ShowItemUi(true, false);
return;
}
if (charData.PlayerHandle.IsInVehicle)
{
Vehicle vehData = Features.Vehicles.Library.GetVehicleData(charData.PlayerHandle.Vehicle);
if (vehData == null) throw new NotImplementedException();
ItemData.Owner = vehData.Id;
ItemData.OwnerType = OwnerType.Vehicle;
charData.SendActionMessage("odkłada coś w pojeździe.", true);
SaveItem();
charData.ShowItemUi(true, false);
}
else
{
ItemData.Owner = 0;
ItemData.OwnerType = 0;
ItemData.X = charData.PlayerHandle.Position.X;
ItemData.Y = charData.PlayerHandle.Position.Y;
ItemData.Z = charData.PlayerHandle.Position.Z;
ItemData.Dimension = (int) charData.PlayerHandle.Dimension;
ItemData.RotZ = charData.PlayerHandle.Heading;
charData.SendActionMessage("coś odkłada.", true);
MakeItemOnGround();
charData.ShowItemUi(true, false);
}
}
public void MakeItemOnGround()
{
ItemData.ObjectHandle = NAPI.Object.CreateObject(
Dropable.GetHashFromItem(ItemData.Type, ItemData.Value1),
Position,
new Vector3(0, 0, ItemData.RotZ),
255,
(uint)Dimension
);
SaveItem();
}```