From 2b0b6523b952291465153fbc0bf292cdaf92b226 Mon Sep 17 00:00:00 2001 From: Patrick O'Connell Date: Thu, 12 Sep 2024 21:54:18 +1000 Subject: [PATCH] ignore-dedicated-server-player-marker - Added isDedicatedServer() method to validate if the player name matches the dedicated server player name format. - Updated areas adding map markers to ignore players who are flagged as dedicated servers. --- DynamicMarkers/OtherPlayersMarkerProvider.cs | 2 +- DynamicMarkers/PlayerMarkerProvider.cs | 2 +- Utils/GameUtils.cs | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/DynamicMarkers/OtherPlayersMarkerProvider.cs b/DynamicMarkers/OtherPlayersMarkerProvider.cs index 2c9ecac..e61f77e 100644 --- a/DynamicMarkers/OtherPlayersMarkerProvider.cs +++ b/DynamicMarkers/OtherPlayersMarkerProvider.cs @@ -217,7 +217,7 @@ private void TryAddMarker(IPlayer iPlayer) return; } - if (_lastMapView == null || player.IsBTRShooter() || _playerMarkers.ContainsKey(player)) + if (_lastMapView == null || player.IsBTRShooter() || _playerMarkers.ContainsKey(player) || player.IsDedicatedServer()) { return; } diff --git a/DynamicMarkers/PlayerMarkerProvider.cs b/DynamicMarkers/PlayerMarkerProvider.cs index 37e022a..fd47a51 100644 --- a/DynamicMarkers/PlayerMarkerProvider.cs +++ b/DynamicMarkers/PlayerMarkerProvider.cs @@ -48,7 +48,7 @@ private void TryAddMarker(MapView map) } var player = GameUtils.GetMainPlayer(); - if (player == null) + if (player == null || player.IsDedicatedServer()) { return; } diff --git a/Utils/GameUtils.cs b/Utils/GameUtils.cs index 76f1487..fc4b2a2 100644 --- a/Utils/GameUtils.cs +++ b/Utils/GameUtils.cs @@ -114,6 +114,12 @@ public static bool IsPMC(this IPlayer player) return player.Profile.Side == EPlayerSide.Bear || player.Profile.Side == EPlayerSide.Usec; } + public static bool IsDedicatedServer(this IPlayer player) + { + string pattern = @"^dedicated_[a-fA-F0-9]{24}$"; + return Regex.IsMatch(player.Profile.GetCorrectedNickname(), pattern); + } + public static bool DidMainPlayerKill(this IPlayer player) { var aggressor = _playerLastAggressorField.GetValue(player) as IPlayer;