diff --git a/RageCoop.Client/Networking/Send.cs b/RageCoop.Client/Networking/Send.cs index f207f70..ae80085 100644 --- a/RageCoop.Client/Networking/Send.cs +++ b/RageCoop.Client/Networking/Send.cs @@ -59,6 +59,7 @@ namespace RageCoop.Client { var veh = ped.CurrentVehicle?.GetSyncEntity() ?? ped.VehicleTryingToEnter?.GetSyncEntity() ?? ped.LastVehicle?.GetSyncEntity(); p.VehicleID = veh?.ID ?? 0; + if (p.VehicleID==0) { Main.Logger.Error("Invalid vehicle"); } if (p.Speed==5) { p.Seat=ped.GetSeatTryingToEnter(); diff --git a/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs b/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs index ca0222b..43a7fe4 100644 --- a/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs +++ b/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs @@ -692,7 +692,7 @@ namespace RageCoop.Client } if (!(localRagdoll || MainPed.IsDead)) { - if (!IsAiming) + if (!IsAiming && !MainPed.IsGettingUp) { MainPed.Heading=Heading; } @@ -741,7 +741,7 @@ namespace RageCoop.Client #endregion private void DisplayInVehicle() { - if (CurrentVehicle==null || CurrentVehicle.MainVehicle==null) { return; } + if (CurrentVehicle==null || CurrentVehicle.MainVehicle==null) { Main.Logger.Error("Veh not found"); return; } switch (Speed) { case 4: diff --git a/RageCoop.Client/Util/PedExtensions.cs b/RageCoop.Client/Util/PedExtensions.cs index 5366a3d..c9e6079 100644 --- a/RageCoop.Client/Util/PedExtensions.cs +++ b/RageCoop.Client/Util/PedExtensions.cs @@ -45,6 +45,18 @@ namespace RageCoop.Client public static byte GetPedSpeed(this Ped ped) { + if (ped.IsSittingInVehicle()) + { + return 4; + } + if (ped.IsTaskActive(TaskType.CTaskEnterVehicle)) + { + return 5; + } + if (ped.IsTaskActive(TaskType.CTaskExitVehicle)) + { + return 6; + } if (ped.IsWalking) { return 1; @@ -58,18 +70,6 @@ namespace RageCoop.Client return 3; } - if (ped.IsSittingInVehicle()) - { - return 4; - } - if (ped.IsTaskActive(TaskType.CTaskEnterVehicle)) - { - return 5; - } - if (ped.IsTaskActive(TaskType.CTaskExitVehicle)) - { - return 6; - } return 0; }