From e1606889f71b18954a68f30dbbb793f9e0274464 Mon Sep 17 00:00:00 2001 From: Sardelka Date: Mon, 20 Jun 2022 11:08:46 +0800 Subject: [PATCH] Add stealth mode sync --- RageCoop.Client/Networking/Receive.cs | 1 + RageCoop.Client/Sync/Entities/SyncedPed.cs | 3 +++ RageCoop.Client/Util/PedExtensions.cs | 5 +++++ RageCoop.Core/Packets/Packets.cs | 3 ++- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/RageCoop.Client/Networking/Receive.cs b/RageCoop.Client/Networking/Receive.cs index 062d31b..a9f77fd 100644 --- a/RageCoop.Client/Networking/Receive.cs +++ b/RageCoop.Client/Networking/Receive.cs @@ -303,6 +303,7 @@ namespace RageCoop.Client c.IsOnLadder = flags.HasFlag(PedDataFlags.IsOnLadder); c.IsVaulting = flags.HasFlag(PedDataFlags.IsVaulting); c.IsInCover = flags.HasFlag(PedDataFlags.IsInCover); + c.IsInStealthMode = flags.HasFlag(PedDataFlags.IsInStealthMode); c.Heading=packet.Heading; c.LastSynced = Main.Ticked; if (c.IsAiming) diff --git a/RageCoop.Client/Sync/Entities/SyncedPed.cs b/RageCoop.Client/Sync/Entities/SyncedPed.cs index 6304ec8..3df1534 100644 --- a/RageCoop.Client/Sync/Entities/SyncedPed.cs +++ b/RageCoop.Client/Sync/Entities/SyncedPed.cs @@ -61,6 +61,7 @@ namespace RageCoop.Client /// public Ped MainPed { get; internal set; } internal int Health { get; set; } + internal bool IsInStealthMode { get; set; } internal byte WeaponTint { get; set; } internal bool _lastEnteringVehicle=false; internal bool _lastSittingInVehicle=false; @@ -467,6 +468,8 @@ namespace RageCoop.Client } _lastIsJumping = false; + Function.Call(Hash.SET_PED_STEALTH_MOVEMENT, MainPed, IsInStealthMode, 0); + if (IsRagdoll || Health==0) { if (!MainPed.IsRagdoll) diff --git a/RageCoop.Client/Util/PedExtensions.cs b/RageCoop.Client/Util/PedExtensions.cs index d288494..8d28ec1 100644 --- a/RageCoop.Client/Util/PedExtensions.cs +++ b/RageCoop.Client/Util/PedExtensions.cs @@ -134,6 +134,11 @@ namespace RageCoop.Client { flags |=PedDataFlags.IsInCover; } + + if(Function.Call(Hash.GET_PED_STEALTH_MOVEMENT, ped)) + { + flags |= PedDataFlags.IsInStealthMode; + } return flags; } diff --git a/RageCoop.Core/Packets/Packets.cs b/RageCoop.Core/Packets/Packets.cs index d52ed00..47163f1 100644 --- a/RageCoop.Core/Packets/Packets.cs +++ b/RageCoop.Core/Packets/Packets.cs @@ -85,7 +85,8 @@ namespace RageCoop.Core IsParachuteOpen = 1 << 7, IsOnLadder = 1 << 8, IsVaulting = 1 << 9, - IsInCover=1<< 10, + IsInCover = 1<< 10, + IsInStealthMode = 1 << 11, } #region ===== VEHICLE DATA =====