mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-02-17 18:39:07 +00:00
Added alive player filter to PlayersMenu
This commit is contained in:
@@ -51,18 +51,18 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
if (hasCheats)
|
||||
{
|
||||
options.Add(new ChatMenuOptionData("God Mode", () => PlayersMenu.OpenMenu(admin, "God Mode", GodMode)));
|
||||
options.Add(new ChatMenuOptionData("No Clip", () => PlayersMenu.OpenMenu(admin, "No Clip", NoClip)));
|
||||
options.Add(new ChatMenuOptionData("Respawn", () => PlayersMenu.OpenMenu(admin, "Respawn", Respawn)));
|
||||
options.Add(new ChatMenuOptionData("Give Weapon", () => PlayersMenu.OpenMenu(admin, "Give Weapon", GiveWeaponMenu)));
|
||||
options.Add(new ChatMenuOptionData("God Mode", () => PlayersMenu.OpenAliveMenu(admin, "God Mode", GodMode)));
|
||||
options.Add(new ChatMenuOptionData("No Clip", () => PlayersMenu.OpenAliveMenu(admin, "No Clip", NoClip)));
|
||||
options.Add(new ChatMenuOptionData("Respawn", () => PlayersMenu.OpenAliveMenu(admin, "Respawn", Respawn)));
|
||||
options.Add(new ChatMenuOptionData("Give Weapon", () => PlayersMenu.OpenAliveMenu(admin, "Give Weapon", GiveWeaponMenu)));
|
||||
}
|
||||
|
||||
if (hasSlay)
|
||||
{
|
||||
options.Add(new ChatMenuOptionData("Strip All Weapons", () => PlayersMenu.OpenMenu(admin, "Strip All Weapons", StripWeapons)));
|
||||
options.Add(new ChatMenuOptionData("Freeze", () => PlayersMenu.OpenMenu(admin, "Freeze", Freeze)));
|
||||
options.Add(new ChatMenuOptionData("HP", () => PlayersMenu.OpenMenu(admin, "HP", SetHpMenu)));
|
||||
options.Add(new ChatMenuOptionData("Speed", () => PlayersMenu.OpenMenu(admin, "Speed", SetSpeedMenu)));
|
||||
options.Add(new ChatMenuOptionData("Strip All Weapons", () => PlayersMenu.OpenAliveMenu(admin, "Strip All Weapons", StripWeapons)));
|
||||
options.Add(new ChatMenuOptionData("Freeze", () => PlayersMenu.OpenAliveMenu(admin, "Freeze", Freeze)));
|
||||
options.Add(new ChatMenuOptionData("HP", () => PlayersMenu.OpenAliveMenu(admin, "HP", SetHpMenu)));
|
||||
options.Add(new ChatMenuOptionData("Speed", () => PlayersMenu.OpenAliveMenu(admin, "Speed", SetSpeedMenu)));
|
||||
}
|
||||
|
||||
foreach (ChatMenuOptionData menuOptionData in options)
|
||||
@@ -93,9 +93,7 @@ namespace CS2_SimpleAdmin.Menus
|
||||
private static void GiveWeaponMenu(CCSPlayerController admin, CCSPlayerController player)
|
||||
{
|
||||
BaseMenu menu = AdminMenu.CreateMenu("Give Weapon");
|
||||
|
||||
|
||||
|
||||
foreach (KeyValuePair<int, CsItem> weapon in GetWeaponsCache)
|
||||
{
|
||||
menu.AddMenuOption(weapon.Value.ToString(), (_, _) => { GiveWeapon(admin, player, weapon.Value); });
|
||||
|
||||
@@ -6,7 +6,12 @@ namespace CS2_SimpleAdmin.Menus
|
||||
{
|
||||
public static class PlayersMenu
|
||||
{
|
||||
public static void OpenMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction)
|
||||
public static void OpenAliveMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool> enableFilter = null)
|
||||
{
|
||||
OpenMenu(admin, menuName, onSelectAction, p => p.PawnIsAlive);
|
||||
}
|
||||
|
||||
public static void OpenMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool> enableFilter = null)
|
||||
{
|
||||
BaseMenu menu = AdminMenu.CreateMenu(menuName);
|
||||
|
||||
@@ -14,7 +19,10 @@ namespace CS2_SimpleAdmin.Menus
|
||||
foreach (CCSPlayerController player in players)
|
||||
{
|
||||
string optionName = player.PlayerName;
|
||||
menu.AddMenuOption(optionName, (_, _) => { onSelectAction?.Invoke(admin, player); }, admin.CanTarget(player) == false);
|
||||
bool enabled = admin.CanTarget(player);
|
||||
if (enableFilter != null)
|
||||
enabled &= enableFilter(player);
|
||||
menu.AddMenuOption(optionName, (_, _) => { onSelectAction?.Invoke(admin, player); }, enabled == false);
|
||||
}
|
||||
|
||||
AdminMenu.OpenMenu(admin, menu);
|
||||
|
||||
Reference in New Issue
Block a user