mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-09-27 20:17:04 +02:00
Commented out fun command implementations (noclip, godmode, freeze, unfreeze, resize) in funcommands.cs and removed their registration from RegisterCommands.cs. These commands are now intended to be provided by the new CS2-SimpleAdmin_FunCommands external module, improving modularity and maintainability.
55 lines
No EOL
2.4 KiB
C#
55 lines
No EOL
2.4 KiB
C#
using CounterStrikeSharp.API.Core;
|
|
using CounterStrikeSharp.API.Modules.Admin;
|
|
using System.Web;
|
|
|
|
namespace CS2_SimpleAdmin.Menus;
|
|
|
|
public static class PlayersMenu
|
|
{
|
|
public static void OpenRealPlayersMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool>? enableFilter = null)
|
|
{
|
|
OpenMenu(admin, menuName, onSelectAction, p => !p.IsBot);
|
|
}
|
|
|
|
public static void OpenAdminPlayersMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController?, bool>? enableFilter = null)
|
|
{
|
|
OpenMenu(admin, menuName, onSelectAction, p => AdminManager.GetPlayerAdminData(p)?.Flags.Count > 0);
|
|
}
|
|
|
|
public static void OpenAliveMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool>? enableFilter = null)
|
|
{
|
|
OpenMenu(admin, menuName, onSelectAction, p => p.PlayerPawn?.Value?.LifeState == (int)LifeState_t.LIFE_ALIVE);
|
|
}
|
|
|
|
public static void OpenDeadMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController?, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool>? enableFilter = null)
|
|
{
|
|
OpenMenu(admin, menuName, onSelectAction, p => p.PlayerPawn?.Value?.LifeState != (int)LifeState_t.LIFE_ALIVE);
|
|
}
|
|
|
|
public static void OpenMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool>? enableFilter = null)
|
|
{
|
|
var menu = AdminMenu.CreateMenu(menuName);
|
|
|
|
var players = Helper.GetValidPlayersWithBots();
|
|
|
|
foreach (var player in players)
|
|
{
|
|
var playerName = player != null && player.PlayerName.Length > 26 ? player.PlayerName[..26] : player?.PlayerName;
|
|
|
|
var optionName = HttpUtility.HtmlEncode(playerName);
|
|
if (player != null && enableFilter != null && !enableFilter(player))
|
|
continue;
|
|
|
|
var enabled = admin.CanTarget(player);
|
|
|
|
if (optionName != null)
|
|
menu?.AddMenuOption(optionName, (_, _) =>
|
|
{
|
|
if (player != null) onSelectAction.Invoke(admin, player);
|
|
},
|
|
!enabled);
|
|
}
|
|
|
|
if (menu != null) AdminMenu.OpenMenu(admin, menu);
|
|
}
|
|
} |