diff --git a/src/Managers/NetworkManager.cs b/src/Managers/NetworkManager.cs
index 4b47bea..a3244f4 100644
--- a/src/Managers/NetworkManager.cs
+++ b/src/Managers/NetworkManager.cs
@@ -278,7 +278,10 @@ internal static class NetworkManager
{
if (rpcCall == (byte)RPC.CUSTOM_RPC_CALL)
{
- RPC.HandleCustomRPCPacked(player, reader);
+ if (RPC.HandleCustomRPCPacked(player, reader))
+ {
+ break;
+ }
}
}
diff --git a/src/Network/RPC.cs b/src/Network/RPC.cs
index 1890e10..39d7cf6 100644
--- a/src/Network/RPC.cs
+++ b/src/Network/RPC.cs
@@ -1,6 +1,6 @@
using BetterAmongUs.Enums;
-using BetterAmongUs.Utilities;
using BetterAmongUs.Mono.Extended;
+using BetterAmongUs.Utilities;
using Hazel;
namespace BetterAmongUs.Network;
@@ -40,10 +40,10 @@ internal static class RPC
///
/// The player who sent the RPC message.
/// The message reader containing the RPC data.
- internal static void HandleCustomRPCPacked(PlayerControl player, MessageReader oldReader)
+ internal static bool HandleCustomRPCPacked(PlayerControl player, MessageReader oldReader)
{
if (player == null || player.IsLocalPlayer() || player.Data == null)
- return;
+ return false;
MessageReader reader = MessageReader.Get(oldReader);
@@ -63,9 +63,13 @@ internal static class RPC
}
break;
}
+
+ reader.Recycle();
+ return true;
}
reader.Recycle();
+ return false;
}
///