Minor changes

This commit is contained in:
Dawid Bepierszcz
2024-02-13 01:35:45 +01:00
parent af66802b37
commit 4e898a6509
16 changed files with 92 additions and 109 deletions

View File

@@ -22,7 +22,7 @@ namespace CS2_SimpleAdmin.Menus
MenuManager.OpenChatMenu(player, chatMenu);
}
}
public static void OpenMenu(CCSPlayerController admin)
{
if (admin == null || admin.IsValid == false)
@@ -44,7 +44,7 @@ namespace CS2_SimpleAdmin.Menus
new ChatMenuOptionData("Manage Server", () => ManageServerMenu.OpenMenu(admin)),
new ChatMenuOptionData("Fun actions", () => FunActionsMenu.OpenMenu(admin)),
};
if (AdminManager.PlayerHasPermissions(admin, "@css/root"))
options.Add(new ChatMenuOptionData("Manage Admins", () => ManageAdminsMenu.OpenMenu(admin)));

View File

@@ -1,4 +1,3 @@
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Menu;

View File

@@ -7,7 +7,7 @@ namespace CS2_SimpleAdmin.Menus
{
public static class FunActionsMenu
{
private static Dictionary<int, CsItem> _weaponsCache = null;
private static Dictionary<int, CsItem>? _weaponsCache = null;
private static Dictionary<int, CsItem> GetWeaponsCache
{
get
@@ -15,11 +15,13 @@ namespace CS2_SimpleAdmin.Menus
if (_weaponsCache == null)
{
Array weaponsArray = Enum.GetValues(typeof(CsItem));
// avoid duplicates in the menu
_weaponsCache = new();
foreach (CsItem item in weaponsArray)
{
if (item == CsItem.Tablet) continue;
_weaponsCache[(int)item] = item;
}
}
@@ -93,7 +95,7 @@ namespace CS2_SimpleAdmin.Menus
private static void GiveWeaponMenu(CCSPlayerController admin, CCSPlayerController player)
{
BaseMenu menu = AdminMenu.CreateMenu($"Give Weapon: {player.PlayerName}");
foreach (KeyValuePair<int, CsItem> weapon in GetWeaponsCache)
{
menu.AddMenuOption(weapon.Value.ToString(), (_, _) => { GiveWeapon(admin, player, weapon.Value); });
@@ -114,6 +116,8 @@ namespace CS2_SimpleAdmin.Menus
private static void Freeze(CCSPlayerController admin, CCSPlayerController player)
{
if (!(player.PlayerPawn?.Value?.IsValid ?? false)) return;
if (player.PlayerPawn.Value.MoveType != MoveType_t.MOVETYPE_OBSOLETE)
CS2_SimpleAdmin.Instance.Freeze(admin, player, -1);
else

View File

@@ -1,4 +1,3 @@
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Menu;

View File

@@ -1,4 +1,3 @@
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Menu;
@@ -33,7 +32,7 @@ namespace CS2_SimpleAdmin.Menus
options.Add(new ChatMenuOptionData("Change Map", () => ChangeMapMenu(admin)));
}
options.Add(new ChatMenuOptionData("Restart Game", () => CS2_SimpleAdmin.Instance.RestartGame(admin)));
options.Add(new ChatMenuOptionData("Restart Game", () => CS2_SimpleAdmin.RestartGame(admin)));
foreach (ChatMenuOptionData menuOptionData in options)
{

View File

@@ -1,4 +1,3 @@
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Menu;
@@ -6,16 +5,16 @@ namespace CS2_SimpleAdmin.Menus
{
public static class PlayersMenu
{
public static void OpenAliveMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool> enableFilter = null)
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)
public static void OpenMenu(CCSPlayerController admin, string menuName, Action<CCSPlayerController, CCSPlayerController> onSelectAction, Func<CCSPlayerController, bool>? enableFilter = null)
{
BaseMenu menu = AdminMenu.CreateMenu(menuName);
IEnumerable<CCSPlayerController> players = Helper.GetValidPlayers().Where(p => p.Connected == PlayerConnectedState.PlayerConnected);
IEnumerable<CCSPlayerController> players = Helper.GetValidPlayersWithBots();
foreach (CCSPlayerController player in players)
{
string optionName = player.PlayerName;