From 65b33c17ead62c429cd33ecb2a9f886994d3e662 Mon Sep 17 00:00:00 2001 From: Valentin Barat Date: Wed, 31 Jan 2024 17:19:13 +0100 Subject: [PATCH] Moved css_who command to ManagePlayersMenu.cs --- CS2-SimpleAdmin.cs | 74 ++------------------------------------ Menus/ManagePlayersMenu.cs | 67 ++++++++++++++++++++++++++++------ Menus/PlayersMenu.cs | 2 +- 3 files changed, 60 insertions(+), 83 deletions(-) diff --git a/CS2-SimpleAdmin.cs b/CS2-SimpleAdmin.cs index c14c5cd..ef1437d 100644 --- a/CS2-SimpleAdmin.cs +++ b/CS2-SimpleAdmin.cs @@ -15,6 +15,7 @@ using Microsoft.Extensions.Logging; using MySqlConnector; using System.Collections.Concurrent; using System.Text; +using CS2_SimpleAdmin.Menus; namespace CS2_SimpleAdmin; @@ -306,82 +307,11 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig playersToTarget = targets!.Players.Where(player => caller!.CanTarget(player) && player != null && player.IsValid && !player.IsBot && !player.IsHLTV).ToList(); - BanManager _banManager = new(dbConnectionString, Config); - MuteManager _muteManager = new(dbConnectionString); - playersToTarget.ForEach(player => { if (caller!.CanTarget(player)) { - PlayerInfo playerInfo = new PlayerInfo - { - UserId = player.UserId, - Index = (int)player.Index, - SteamId = player?.AuthorizedSteamID?.SteamId64.ToString(), - Name = player?.PlayerName, - IpAddress = player?.IpAddress?.Split(":")[0] - }; - - Task.Run(async () => - { - int totalBans = 0; - int totalMutes = 0; - - totalBans = await _banManager.GetPlayerBans(playerInfo); - totalMutes = await _muteManager.GetPlayerMutes(playerInfo.SteamId!); - - Server.NextFrame(() => - { - if (caller != null) - { - caller!.PrintToConsole($"--------- INFO ABOUT \"{playerInfo.Name}\" ---------"); - - caller!.PrintToConsole($"• Clan: \"{player!.Clan}\" Name: \"{playerInfo.Name}\""); - caller!.PrintToConsole($"• UserID: \"{playerInfo.UserId}\""); - if (playerInfo.SteamId != null) - caller!.PrintToConsole($"• SteamID64: \"{playerInfo.SteamId}\""); - if (player.AuthorizedSteamID != null) - { - caller!.PrintToConsole($"• SteamID2: \"{player.AuthorizedSteamID.SteamId2}\""); - caller!.PrintToConsole($"• Community link: \"{player.AuthorizedSteamID.ToCommunityUrl()}\""); - } - if (playerInfo.IpAddress != null) - caller!.PrintToConsole($"• IP Address: \"{playerInfo.IpAddress}\""); - caller!.PrintToConsole($"• Ping: \"{player.Ping}\""); - if (player.AuthorizedSteamID != null) - { - caller!.PrintToConsole($"• Total Bans: \"{totalBans}\""); - caller!.PrintToConsole($"• Total Mutes: \"{totalMutes}\""); - } - - caller!.PrintToConsole($"--------- END INFO ABOUT \"{player.PlayerName}\" ---------"); - } - else - { - Server.PrintToConsole($"--------- INFO ABOUT \"{playerInfo.Name}\" ---------"); - - Server.PrintToConsole($"• Clan: \"{player!.Clan}\" Name: \"{playerInfo.Name}\""); - Server.PrintToConsole($"• UserID: \"{playerInfo.UserId}\""); - if (playerInfo.SteamId != null) - Server.PrintToConsole($"• SteamID64: \"{playerInfo.SteamId}\""); - if (player.AuthorizedSteamID != null) - { - Server.PrintToConsole($"• SteamID2: \"{player.AuthorizedSteamID.SteamId2}\""); - Server.PrintToConsole($"• Community link: \"{player.AuthorizedSteamID.ToCommunityUrl()}\""); - } - if (playerInfo.IpAddress != null) - Server.PrintToConsole($"• IP Address: \"{playerInfo.IpAddress}\""); - Server.PrintToConsole($"• Ping: \"{player.Ping}\""); - if (player.AuthorizedSteamID != null) - { - Server.PrintToConsole($"• Total Bans: \"{totalBans}\""); - Server.PrintToConsole($"• Total Mutes: \"{totalMutes}\""); - } - - Server.PrintToConsole($"--------- END INFO ABOUT \"{player.PlayerName}\" ---------"); - } - }); - }); + ManagePlayersMenu.WhoIs(caller, player); } }); } diff --git a/Menus/ManagePlayersMenu.cs b/Menus/ManagePlayersMenu.cs index b9ccd75..b560cda 100644 --- a/Menus/ManagePlayersMenu.cs +++ b/Menus/ManagePlayersMenu.cs @@ -1,3 +1,4 @@ +using CounterStrikeSharp.API; using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Menu; @@ -30,7 +31,7 @@ namespace CS2_SimpleAdmin.Menus bool hasChat = AdminManager.PlayerHasPermissions(admin, "@css/chat"); // options added in order - options.Add(new ChatMenuOptionData("Who is", () => PlayersMenu.OpenMenu(admin, "Who is", WhoIs))); + options.Add(new ChatMenuOptionData("Who Is", () => PlayersMenu.OpenMenu(admin, "Who is", WhoIs))); if (hasSlay) { @@ -68,42 +69,88 @@ namespace CS2_SimpleAdmin.Menus MenuManager.OpenCenterHtmlMenu(CS2_SimpleAdmin.Instance, admin, menu); } - private static void WhoIs(CCSPlayerController admin, CCSPlayerController player) + public static void WhoIs(CCSPlayerController admin, CCSPlayerController player) { - // TODO: WhoIs + BanManager banManager = new(CS2_SimpleAdmin.Instance.dbConnectionString, CS2_SimpleAdmin.Instance.Config); + MuteManager muteManager = new(CS2_SimpleAdmin.Instance.dbConnectionString); + + PlayerInfo playerInfo = new PlayerInfo + { + UserId = player.UserId, + Index = (int)player.Index, + SteamId = player?.AuthorizedSteamID?.SteamId64.ToString(), + Name = player?.PlayerName, + IpAddress = player?.IpAddress?.Split(":")[0] + }; + + Task.Run(async () => + { + int totalBans = 0; + int totalMutes = 0; + + totalBans = await banManager.GetPlayerBans(playerInfo); + totalMutes = await muteManager.GetPlayerMutes(playerInfo.SteamId!); + + Server.NextFrame(() => + { + Action printMethod = admin == null ? Server.PrintToConsole : admin.PrintToConsole; + printMethod($"--------- INFO ABOUT \"{playerInfo.Name}\" ---------"); + + printMethod($"• Clan: \"{player!.Clan}\" Name: \"{playerInfo.Name}\""); + printMethod($"• UserID: \"{playerInfo.UserId}\""); + if (playerInfo.SteamId != null) + printMethod($"• SteamID64: \"{playerInfo.SteamId}\""); + if (player.AuthorizedSteamID != null) + { + printMethod($"• SteamID2: \"{player.AuthorizedSteamID.SteamId2}\""); + printMethod($"• Community link: \"{player.AuthorizedSteamID.ToCommunityUrl()}\""); + } + + if (playerInfo.IpAddress != null) + printMethod($"• IP Address: \"{playerInfo.IpAddress}\""); + printMethod($"• Ping: \"{player.Ping}\""); + if (player.AuthorizedSteamID != null) + { + printMethod($"• Total Bans: \"{totalBans}\""); + printMethod($"• Total Mutes: \"{totalMutes}\""); + } + + printMethod($"--------- END INFO ABOUT \"{player.PlayerName}\" ---------"); + }); + }); } - private static void SlapMenu(CCSPlayerController admin, CCSPlayerController player) + public static void SlapMenu(CCSPlayerController admin, CCSPlayerController player) { // TODO: Slap } - private static void Slay(CCSPlayerController admin, CCSPlayerController player) + public static void Slay(CCSPlayerController admin, CCSPlayerController player) { // TODO: Slay } - private static void Kick(CCSPlayerController admin, CCSPlayerController player) + public static void Kick(CCSPlayerController admin, CCSPlayerController player) { // TODO: Kick } - private static void Ban(CCSPlayerController admin, CCSPlayerController player, int duration) + public static void Ban(CCSPlayerController admin, CCSPlayerController player, int duration) { // TODO: Ban } - private static void Gag(CCSPlayerController admin, CCSPlayerController player, int duration) + public static void Gag(CCSPlayerController admin, CCSPlayerController player, int duration) { // TODO: Gag } - private static void Mute(CCSPlayerController admin, CCSPlayerController player, int duration) + public static void Mute(CCSPlayerController admin, CCSPlayerController player, int duration) { // TODO: Mute } - private static void ForceTeam(CCSPlayerController admin, CCSPlayerController player) + public static void ForceTeam(CCSPlayerController admin, CCSPlayerController player) { // TODO: ForceTeam } diff --git a/Menus/PlayersMenu.cs b/Menus/PlayersMenu.cs index 2244c8e..c2cf318 100644 --- a/Menus/PlayersMenu.cs +++ b/Menus/PlayersMenu.cs @@ -14,7 +14,7 @@ namespace CS2_SimpleAdmin.Menus foreach (CCSPlayerController player in players) { string optionName = player.PlayerName; - menu.AddMenuOption(optionName, (_, _) => { onSelectAction?.Invoke(admin, player); }); + menu.AddMenuOption(optionName, (_, _) => { onSelectAction?.Invoke(admin, player); }, admin.CanTarget(player) == false); } MenuManager.OpenCenterHtmlMenu(CS2_SimpleAdmin.Instance, admin, menu);