diff --git a/CS2-SimpleAdmin.cs b/CS2-SimpleAdmin.cs index ec64fbf..b6182f1 100644 --- a/CS2-SimpleAdmin.cs +++ b/CS2-SimpleAdmin.cs @@ -23,11 +23,12 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig gaggedPlayers = new ConcurrentBag(); - public static ConcurrentBag mutedPlayers = new ConcurrentBag(); + //public static ConcurrentBag mutedPlayers = new ConcurrentBag(); public static List loadedPlayers = new List(); public static Dictionary voteAnswers = new Dictionary(); - public static List GodPlayers = new List(); - public static List SilentPlayers = new List(); + public static HashSet godPlayers = new HashSet(); + public static List silentPlayers = new List(); + public static HashSet bannedPlayers = new HashSet(); public static bool TagsDetected = false; public static bool voteInProgress = false; public static int? ServerId = null; @@ -36,7 +37,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig "CS2-SimpleAdmin"; public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)"; public override string ModuleAuthor => "daffyy"; - public override string ModuleVersion => "1.2.7c"; + public override string ModuleVersion => "1.2.7d"; public CS2_SimpleAdminConfig Config { get; set; } = new(); @@ -265,14 +266,14 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig Helper.KickPlayer((ushort)player.UserId!)); } - if (!SilentPlayers.Contains((int)caller!.Index)) + if (caller == null || caller != null && !silentPlayers.Contains((int)caller!.Index)) { StringBuilder sb = new(_localizer!["sa_prefix"]); sb.Append(_localizer["sa_admin_kick_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName, reason]); @@ -525,7 +526,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig { await _muteManager.MutePlayer(playerInfo, adminInfo, reason, time, 1); }); - player.VoiceFlags = VoiceFlags.Muted; if (time > 0 && time <= 30) { @@ -810,6 +814,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig 0 && time <= 30) { @@ -925,6 +933,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig { + /* if (mutedPlayers.Contains((int)player.Index)) { if (mutedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index) @@ -1029,6 +1044,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig { - if (!GodPlayers.Contains((int)player.Index)) - GodPlayers.Add((int)player.Index); + if (!godPlayers.Contains((int)player.Index)) + godPlayers.Add((int)player.Index); else - GodPlayers.Remove((int)player.Index); + godPlayers.Remove((int)player.Index); StringBuilder sb = new(_localizer!["sa_prefix"]); - if (!SilentPlayers.Contains((int)caller!.Index)) + if (caller == null || caller != null && !silentPlayers.Contains((int)caller!.Index)) { sb.Append(_localizer["sa_admin_god_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]); Server.PrintToChatAll(sb.ToString()); @@ -1498,7 +1514,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig 0) AddTimer(time, () => player.Pawn.Value!.Unfreeze()); - if (!SilentPlayers.Contains((int)caller!.Index)) + if (caller == null || caller != null && !silentPlayers.Contains((int)caller!.Index)) { StringBuilder sb = new(_localizer!["sa_prefix"]); sb.Append(_localizer["sa_admin_freeze_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]); @@ -1826,7 +1842,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig { BanManager _banManager = new(dbConnectionString); @@ -411,7 +433,7 @@ public partial class CS2_SimpleAdmin if (player == null || !player.IsValid) return HookResult.Continue; - if (GodPlayers.Contains((int)player.Index) && player.PawnIsAlive) + if (godPlayers.Contains((int)player.Index) && player.PawnIsAlive) { player.Health = 100; player.PlayerPawn.Value!.Health = 100;