Slay and kick done

This commit is contained in:
Valentin Barat
2024-01-31 18:03:08 +01:00
parent 232f487d01
commit 5fbd21aec2
2 changed files with 43 additions and 33 deletions

View File

@@ -404,7 +404,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
[CommandHelper(minArgs: 1, usage: "<#userid or name> [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;
@@ -421,6 +421,13 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
targets.Players.ForEach(player =>
{
if (caller!.CanTarget(player))
{
Kick(caller, player, reason);
}
});
}
public void Kick(CCSPlayerController? caller, CCSPlayerController player, string reason = null)
{
if (player.PawnIsAlive)
{
@@ -428,7 +435,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
player.CommitSuicide(true, true);
}
if (command.ArgCount >= 2)
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));
@@ -445,8 +452,6 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
Server.PrintToChatAll(sb.ToString());
}
}
});
}
[ConsoleCommand("css_gag")]
[RequiresPermissions("@css/chat")]
@@ -1340,6 +1345,12 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
List<CCSPlayerController> playersToTarget = targets!.Players.Where(player => caller!.CanTarget(player) && player != null && player.IsValid && player.PawnIsAlive).ToList();
playersToTarget.ForEach(player =>
{
Slay(caller, player);
});
}
public void Slay(CCSPlayerController? caller, CCSPlayerController player)
{
player.CommitSuicide(false, true);
@@ -1349,7 +1360,6 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
sb.Append(_localizer["sa_admin_slay_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]);
Server.PrintToChatAll(sb.ToString());
}
});
}
[ConsoleCommand("css_give")]

View File

@@ -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)