From 5fbd21aec2c78b6de29eb9aeb2bb3acc0fedc091 Mon Sep 17 00:00:00 2001 From: Valentin Barat Date: Wed, 31 Jan 2024 18:03:08 +0100 Subject: [PATCH] Slay and kick done --- CS2-SimpleAdmin.cs | 72 ++++++++++++++++++++++---------------- Menus/ManagePlayersMenu.cs | 4 +-- 2 files changed, 43 insertions(+), 33 deletions(-) diff --git a/CS2-SimpleAdmin.cs b/CS2-SimpleAdmin.cs index dc7c3f1..fa1a209 100644 --- a/CS2-SimpleAdmin.cs +++ b/CS2-SimpleAdmin.cs @@ -404,7 +404,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig [reason]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)] public void OnKickCommand(CCSPlayerController? caller, CommandInfo command) { - string reason = "Unknown"; + string reason = null; TargetResult? targets = GetTarget(command); if (targets == null) return; @@ -422,32 +422,37 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig= 2) - { - player.PrintToCenter(_localizer!["sa_player_kick_message", reason, caller == null ? "Console" : caller.PlayerName]); - AddTimer(Config.KickTime, () => Helper.KickPlayer((ushort)player.UserId!, reason)); - } - else - { - AddTimer(Config.KickTime, () => Helper.KickPlayer((ushort)player.UserId!)); - } - - if (caller == null || caller != null && caller.UserId != null && !silentPlayers.Contains((ushort)caller.UserId)) - { - StringBuilder sb = new(_localizer!["sa_prefix"]); - sb.Append(_localizer["sa_admin_kick_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName, reason]); - Server.PrintToChatAll(sb.ToString()); - } + Kick(caller, player, reason); } }); } + public void Kick(CCSPlayerController? caller, CCSPlayerController player, string reason = null) + { + if (player.PawnIsAlive) + { + player.Pawn.Value!.Freeze(); + player.CommitSuicide(true, true); + } + + if (string.IsNullOrEmpty(reason) == false) + { + player.PrintToCenter(_localizer!["sa_player_kick_message", reason, caller == null ? "Console" : caller.PlayerName]); + AddTimer(Config.KickTime, () => Helper.KickPlayer((ushort)player.UserId!, reason)); + } + else + { + AddTimer(Config.KickTime, () => Helper.KickPlayer((ushort)player.UserId!)); + } + + if (caller == null || caller != null && caller.UserId != null && !silentPlayers.Contains((ushort)caller.UserId)) + { + StringBuilder sb = new(_localizer!["sa_prefix"]); + sb.Append(_localizer["sa_admin_kick_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName, reason]); + Server.PrintToChatAll(sb.ToString()); + } + } + [ConsoleCommand("css_gag")] [RequiresPermissions("@css/chat")] [CommandHelper(minArgs: 1, usage: "<#userid or name> [time in minutes/0 perm] [reason]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)] @@ -1341,17 +1346,22 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig { - player.CommitSuicide(false, true); - - if (caller == null || caller != null && caller.UserId != null && !silentPlayers.Contains((ushort)caller.UserId)) - { - StringBuilder sb = new(_localizer!["sa_prefix"]); - sb.Append(_localizer["sa_admin_slay_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]); - Server.PrintToChatAll(sb.ToString()); - } + Slay(caller, player); }); } + public void Slay(CCSPlayerController? caller, CCSPlayerController player) + { + player.CommitSuicide(false, true); + + if (caller == null || caller != null && caller.UserId != null && !silentPlayers.Contains((ushort)caller.UserId)) + { + StringBuilder sb = new(_localizer!["sa_prefix"]); + sb.Append(_localizer["sa_admin_slay_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]); + Server.PrintToChatAll(sb.ToString()); + } + } + [ConsoleCommand("css_give")] [RequiresPermissions("@css/cheats")] [CommandHelper(minArgs: 2, usage: "<#userid or name> ", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)] diff --git a/Menus/ManagePlayersMenu.cs b/Menus/ManagePlayersMenu.cs index be9fa08..0c3a910 100644 --- a/Menus/ManagePlayersMenu.cs +++ b/Menus/ManagePlayersMenu.cs @@ -102,12 +102,12 @@ namespace CS2_SimpleAdmin.Menus private static void Slay(CCSPlayerController admin, CCSPlayerController player) { - // TODO: Slay + CS2_SimpleAdmin.Instance.Slay(admin, player); } private static void Kick(CCSPlayerController admin, CCSPlayerController player) { - // TODO: Kick + CS2_SimpleAdmin.Instance.Kick(admin, player); } private static void Ban(CCSPlayerController admin, CCSPlayerController player, int duration)