From 0f4a2835d23ba75637a2b6486016e01bc46d74d8 Mon Sep 17 00:00:00 2001 From: Valentin Barat Date: Sat, 16 Mar 2024 11:51:44 +0100 Subject: [PATCH] Added gravity and set money in fun commands menu --- Menus/FunActionsMenu.cs | 66 +++++++++++++++++++++++++++++++++++++++-- Menus/PlayersMenu.cs | 4 +-- 2 files changed, 65 insertions(+), 5 deletions(-) diff --git a/Menus/FunActionsMenu.cs b/Menus/FunActionsMenu.cs index 4a1879f..59b8909 100644 --- a/Menus/FunActionsMenu.cs +++ b/Menus/FunActionsMenu.cs @@ -21,7 +21,8 @@ namespace CS2_SimpleAdmin.Menus _weaponsCache = new(); foreach (CsItem item in weaponsArray) { - if (item == CsItem.Tablet) continue; + if (item == CsItem.Tablet) + continue; _weaponsCache[(int)item] = item; } @@ -67,6 +68,8 @@ namespace CS2_SimpleAdmin.Menus 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))); + options.Add(new ChatMenuOptionData("Gravity", () => PlayersMenu.OpenAliveMenu(admin, "Gravity", SetGravityMenu))); + options.Add(new ChatMenuOptionData("Set Money", () => PlayersMenu.OpenMenu(admin, "Set Money", SetMoneyMenu))); } foreach (ChatMenuOptionData menuOptionData in options) @@ -117,7 +120,8 @@ namespace CS2_SimpleAdmin.Menus private static void Freeze(CCSPlayerController admin, CCSPlayerController player) { - if (!(player.PlayerPawn?.Value?.IsValid ?? false)) return; + if (!(player.PlayerPawn?.Value?.IsValid ?? false)) + return; if (player.PlayerPawn.Value.MoveType != MoveType_t.MOVETYPE_OBSOLETE) CS2_SimpleAdmin.Instance.Freeze(admin, player, -1); @@ -184,5 +188,61 @@ namespace CS2_SimpleAdmin.Menus { CS2_SimpleAdmin.Instance.SetSpeed(admin, player, speed); } + + private static void SetGravityMenu(CCSPlayerController admin, CCSPlayerController player) + { + Tuple[] _gravityArray = new[] + { + new Tuple("0.1", .1f), + new Tuple("0.25", .25f), + new Tuple("0.5", .5f), + new Tuple("0.75", .75f), + new Tuple("1", 1), + new Tuple("2", 2) + }; + + BaseMenu menu = AdminMenu.CreateMenu($"Set Gravity: {player.PlayerName}"); + + foreach (Tuple gravityTuple in _gravityArray) + { + string optionName = gravityTuple.Item1; + menu.AddMenuOption(optionName, (_, _) => { SetGravity(admin, player, gravityTuple.Item2); }); + } + + AdminMenu.OpenMenu(admin, menu); + } + + private static void SetGravity(CCSPlayerController admin, CCSPlayerController player, float gravity) + { + CS2_SimpleAdmin.Instance.SetGravity(admin, player, gravity); + } + + private static void SetMoneyMenu(CCSPlayerController admin, CCSPlayerController player) + { + Tuple[] _moneyArray = new[] + { + new Tuple("$0", 0), + new Tuple("$1000", 1000), + new Tuple("$2500", 2500), + new Tuple("$5000", 5000), + new Tuple("$10000", 10000), + new Tuple("$16000", 16000) + }; + + BaseMenu menu = AdminMenu.CreateMenu($"Set Money: {player.PlayerName}"); + + foreach (Tuple moneyTuple in _moneyArray) + { + string optionName = moneyTuple.Item1; + menu.AddMenuOption(optionName, (_, _) => { SetMoney(admin, player, moneyTuple.Item2); }); + } + + AdminMenu.OpenMenu(admin, menu); + } + + private static void SetMoney(CCSPlayerController admin, CCSPlayerController player, int money) + { + CS2_SimpleAdmin.Instance.SetMoney(admin, player, money); + } } -} \ No newline at end of file +} diff --git a/Menus/PlayersMenu.cs b/Menus/PlayersMenu.cs index de22bb0..c3f8332 100644 --- a/Menus/PlayersMenu.cs +++ b/Menus/PlayersMenu.cs @@ -24,8 +24,8 @@ namespace CS2_SimpleAdmin.Menus { string optionName = player.PlayerName; bool enabled = admin.CanTarget(player); - if (enableFilter != null) - enabled &= enableFilter(player); + if (enableFilter != null && enableFilter(player) == false) + continue; menu.AddMenuOption(optionName, (_, _) => { onSelectAction?.Invoke(admin, player); }, enabled == false); }