mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-02-19 02:51:51 +00:00
Merge branch 'daffyyyy:main' into main
This commit is contained in:
@@ -8,7 +8,7 @@ namespace CS2_SimpleAdmin.Menus
|
||||
{
|
||||
public static BaseMenu CreateMenu(string title)
|
||||
{
|
||||
return CS2_SimpleAdmin.Instance.Config.UseChatMenu ? new ChatMenu(title) : new CenterHtmlMenu(title);
|
||||
return CS2_SimpleAdmin.Instance.Config.UseChatMenu ? new ChatMenu(title) : new CenterHtmlMenu(title, CS2_SimpleAdmin.Instance);
|
||||
}
|
||||
|
||||
public static void OpenMenu(CCSPlayerController player, BaseMenu menu)
|
||||
@@ -44,7 +44,7 @@ namespace CS2_SimpleAdmin.Menus
|
||||
new ChatMenuOptionData("Manage Server", () => ManageServerMenu.OpenMenu(admin)),
|
||||
new ChatMenuOptionData("Fun actions", () => FunActionsMenu.OpenMenu(admin)),
|
||||
};
|
||||
|
||||
|
||||
List<CustomServerCommandData> customCommands = CS2_SimpleAdmin.Instance.Config.CustomServerCommands;
|
||||
if (customCommands.Count > 0)
|
||||
{
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace CS2_SimpleAdmin.Menus
|
||||
private static void AddAdmin(CCSPlayerController admin, CCSPlayerController player, string flag)
|
||||
{
|
||||
// TODO: Change default immunity?
|
||||
CS2_SimpleAdmin.Instance.AddAdmin(admin, player.SteamID.ToString(), player.PlayerName, flag, 10);
|
||||
CS2_SimpleAdmin.AddAdmin(admin, player.SteamID.ToString(), player.PlayerName, flag, 10);
|
||||
}
|
||||
|
||||
private static void RemoveAdmin(CCSPlayerController admin, CCSPlayerController player)
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace CS2_SimpleAdmin.Menus
|
||||
}
|
||||
|
||||
BaseMenu menu = AdminMenu.CreateMenu("Manage Players");
|
||||
List<ChatMenuOptionData> options = new();
|
||||
List<ChatMenuOptionData> options = [];
|
||||
|
||||
// permissions
|
||||
bool hasSlay = AdminManager.PlayerHasPermissions(admin, "@css/slay");
|
||||
@@ -71,15 +71,16 @@ namespace CS2_SimpleAdmin.Menus
|
||||
private static void SlapMenu(CCSPlayerController admin, CCSPlayerController player)
|
||||
{
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Slap: {player.PlayerName}");
|
||||
List<ChatMenuOptionData> options = new();
|
||||
|
||||
// options added in order
|
||||
options.Add(new ChatMenuOptionData("0 hp", () => ApplySlapAndKeepMenu(admin, player, 0)));
|
||||
options.Add(new ChatMenuOptionData("1 hp", () => ApplySlapAndKeepMenu(admin, player, 1)));
|
||||
options.Add(new ChatMenuOptionData("5 hp", () => ApplySlapAndKeepMenu(admin, player, 5)));
|
||||
options.Add(new ChatMenuOptionData("10 hp", () => ApplySlapAndKeepMenu(admin, player, 10)));
|
||||
options.Add(new ChatMenuOptionData("50 hp", () => ApplySlapAndKeepMenu(admin, player, 50)));
|
||||
options.Add(new ChatMenuOptionData("100 hp", () => ApplySlapAndKeepMenu(admin, player, 100)));
|
||||
List<ChatMenuOptionData> options =
|
||||
[
|
||||
// options added in order
|
||||
new ChatMenuOptionData("0 hp", () => ApplySlapAndKeepMenu(admin, player, 0)),
|
||||
new ChatMenuOptionData("1 hp", () => ApplySlapAndKeepMenu(admin, player, 1)),
|
||||
new ChatMenuOptionData("5 hp", () => ApplySlapAndKeepMenu(admin, player, 5)),
|
||||
new ChatMenuOptionData("10 hp", () => ApplySlapAndKeepMenu(admin, player, 10)),
|
||||
new ChatMenuOptionData("50 hp", () => ApplySlapAndKeepMenu(admin, player, 50)),
|
||||
new ChatMenuOptionData("100 hp", () => ApplySlapAndKeepMenu(admin, player, 100)),
|
||||
];
|
||||
|
||||
foreach (ChatMenuOptionData menuOptionData in options)
|
||||
{
|
||||
@@ -92,29 +93,37 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void ApplySlapAndKeepMenu(CCSPlayerController admin, CCSPlayerController player, int damage)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Slap(admin, player, damage);
|
||||
SlapMenu(admin, player);
|
||||
if (player is not null && player.IsValid)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Slap(admin, player, damage);
|
||||
SlapMenu(admin, player);
|
||||
}
|
||||
}
|
||||
|
||||
private static void Slay(CCSPlayerController admin, CCSPlayerController player)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Slay(admin, player);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.Slay(admin, player);
|
||||
}
|
||||
|
||||
private static void KickMenu(CCSPlayerController admin, CCSPlayerController player)
|
||||
{
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Kick: {player.PlayerName}");
|
||||
List<string> options = new()
|
||||
{
|
||||
List<string> options =
|
||||
[
|
||||
"Voice Abuse",
|
||||
"Chat Abuse",
|
||||
"Admin disrespect",
|
||||
"Other"
|
||||
};
|
||||
];
|
||||
|
||||
foreach (string option in options)
|
||||
{
|
||||
menu.AddMenuOption(option, (_, _) => { Kick(admin, player, option); });
|
||||
menu.AddMenuOption(option, (_, _) =>
|
||||
{
|
||||
if (player is not null && player.IsValid)
|
||||
Kick(admin, player, option);
|
||||
});
|
||||
}
|
||||
|
||||
AdminMenu.OpenMenu(admin, menu);
|
||||
@@ -122,24 +131,29 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void Kick(CCSPlayerController admin, CCSPlayerController player, string reason)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Kick(admin, player, reason);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.Kick(admin, player, reason);
|
||||
}
|
||||
|
||||
private static void BanMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
||||
{
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Ban: {player.PlayerName}");
|
||||
List<string> options = new()
|
||||
{
|
||||
List<string> options =
|
||||
[
|
||||
"Hacking",
|
||||
"Voice Abuse",
|
||||
"Chat Abuse",
|
||||
"Admin disrespect",
|
||||
"Other"
|
||||
};
|
||||
];
|
||||
|
||||
foreach (string option in options)
|
||||
{
|
||||
menu.AddMenuOption(option, (_, _) => { Ban(admin, player, duration, option); });
|
||||
menu.AddMenuOption(option, (_, _) =>
|
||||
{
|
||||
if (player is not null && player.IsValid)
|
||||
Ban(admin, player, duration, option);
|
||||
});
|
||||
}
|
||||
|
||||
AdminMenu.OpenMenu(admin, menu);
|
||||
@@ -147,26 +161,31 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void Ban(CCSPlayerController admin, CCSPlayerController player, int duration, string reason)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Ban(admin, player, duration, reason);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.Ban(admin, player, duration, reason);
|
||||
}
|
||||
|
||||
private static void GagMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
||||
{
|
||||
// TODO: Localize and make options in config?
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Gag: {player.PlayerName}");
|
||||
List<string> options = new()
|
||||
{
|
||||
List<string> options =
|
||||
[
|
||||
"Advertising",
|
||||
"Spamming",
|
||||
"Spectator camera abuse",
|
||||
"Hate",
|
||||
"Admin disrespect",
|
||||
"Other"
|
||||
};
|
||||
];
|
||||
|
||||
foreach (string option in options)
|
||||
{
|
||||
menu.AddMenuOption(option, (_, _) => { Gag(admin, player, duration, option); });
|
||||
menu.AddMenuOption(option, (_, _) =>
|
||||
{
|
||||
if (player is not null && player.IsValid)
|
||||
Gag(admin, player, duration, option);
|
||||
});
|
||||
}
|
||||
|
||||
AdminMenu.OpenMenu(admin, menu);
|
||||
@@ -174,15 +193,16 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void Gag(CCSPlayerController admin, CCSPlayerController player, int duration, string reason)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Gag(admin, player, duration, reason);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.Gag(admin, player, duration, reason);
|
||||
}
|
||||
|
||||
private static void MuteMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
||||
{
|
||||
// TODO: Localize and make options in config?
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Mute: {player.PlayerName}");
|
||||
List<string> options = new()
|
||||
{
|
||||
List<string> options =
|
||||
[
|
||||
"Shouting",
|
||||
"Playing music",
|
||||
"Advertising",
|
||||
@@ -191,11 +211,15 @@ namespace CS2_SimpleAdmin.Menus
|
||||
"Hate",
|
||||
"Admin disrespect",
|
||||
"Other"
|
||||
};
|
||||
];
|
||||
|
||||
foreach (string option in options)
|
||||
{
|
||||
menu.AddMenuOption(option, (_, _) => { Mute(admin, player, duration, option); });
|
||||
menu.AddMenuOption(option, (_, _) =>
|
||||
{
|
||||
if (player is not null && player.IsValid)
|
||||
Mute(admin, player, duration, option);
|
||||
});
|
||||
}
|
||||
|
||||
AdminMenu.OpenMenu(admin, menu);
|
||||
@@ -203,15 +227,16 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void Mute(CCSPlayerController admin, CCSPlayerController player, int duration, string reason)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Mute(admin, player, duration, reason);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.Mute(admin, player, duration, reason);
|
||||
}
|
||||
|
||||
private static void SilenceMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
||||
{
|
||||
// TODO: Localize and make options in config?
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Silence: {player.PlayerName}");
|
||||
List<string> options = new()
|
||||
{
|
||||
List<string> options =
|
||||
[
|
||||
"Shouting",
|
||||
"Playing music",
|
||||
"Advertising",
|
||||
@@ -220,11 +245,15 @@ namespace CS2_SimpleAdmin.Menus
|
||||
"Hate",
|
||||
"Admin disrespect",
|
||||
"Other"
|
||||
};
|
||||
];
|
||||
|
||||
foreach (string option in options)
|
||||
{
|
||||
menu.AddMenuOption(option, (_, _) => { Silence(admin, player, duration, option); });
|
||||
menu.AddMenuOption(option, (_, _) =>
|
||||
{
|
||||
if (player is not null && player.IsValid)
|
||||
Silence(admin, player, duration, option);
|
||||
});
|
||||
}
|
||||
|
||||
AdminMenu.OpenMenu(admin, menu);
|
||||
@@ -232,18 +261,21 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void Silence(CCSPlayerController admin, CCSPlayerController player, int duration, string reason)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.Silence(admin, player, duration, reason);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.Silence(admin, player, duration, reason);
|
||||
}
|
||||
|
||||
private static void ForceTeamMenu(CCSPlayerController admin, CCSPlayerController player)
|
||||
{
|
||||
// TODO: Localize
|
||||
BaseMenu menu = AdminMenu.CreateMenu($"Force {player.PlayerName}'s Team");
|
||||
List<ChatMenuOptionData> options = new();
|
||||
options.Add(new ChatMenuOptionData("CT", () => ForceTeam(admin, player, "ct", CsTeam.CounterTerrorist)));
|
||||
options.Add(new ChatMenuOptionData("T", () => ForceTeam(admin, player, "t", CsTeam.Terrorist)));
|
||||
options.Add(new ChatMenuOptionData("Swap", () => ForceTeam(admin, player, "swap", CsTeam.Spectator)));
|
||||
options.Add(new ChatMenuOptionData("Spectator", () => ForceTeam(admin, player, "spec", CsTeam.Spectator)));
|
||||
List<ChatMenuOptionData> options =
|
||||
[
|
||||
new ChatMenuOptionData("CT", () => ForceTeam(admin, player, "ct", CsTeam.CounterTerrorist)),
|
||||
new ChatMenuOptionData("T", () => ForceTeam(admin, player, "t", CsTeam.Terrorist)),
|
||||
new ChatMenuOptionData("Swap", () => ForceTeam(admin, player, "swap", CsTeam.Spectator)),
|
||||
new ChatMenuOptionData("Spectator", () => ForceTeam(admin, player, "spec", CsTeam.Spectator)),
|
||||
];
|
||||
|
||||
foreach (ChatMenuOptionData menuOptionData in options)
|
||||
{
|
||||
@@ -256,7 +288,8 @@ namespace CS2_SimpleAdmin.Menus
|
||||
|
||||
private static void ForceTeam(CCSPlayerController admin, CCSPlayerController player, string teamName, CsTeam teamNum)
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.ChangeTeam(admin, player, teamName, teamNum, true);
|
||||
if (player is not null && player.IsValid)
|
||||
CS2_SimpleAdmin.Instance.ChangeTeam(admin, player, teamName, teamNum, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Web;
|
||||
using CounterStrikeSharp.API.Core;
|
||||
using CounterStrikeSharp.API.Modules.Admin;
|
||||
using CounterStrikeSharp.API.Modules.Menu;
|
||||
using System.Web;
|
||||
|
||||
namespace CS2_SimpleAdmin.Menus
|
||||
{
|
||||
@@ -32,9 +32,13 @@ namespace CS2_SimpleAdmin.Menus
|
||||
BaseMenu menu = AdminMenu.CreateMenu(menuName);
|
||||
|
||||
IEnumerable<CCSPlayerController> players = Helper.GetValidPlayersWithBots();
|
||||
string playerName = string.Empty;
|
||||
|
||||
foreach (CCSPlayerController player in players)
|
||||
{
|
||||
string optionName = HttpUtility.HtmlEncode(player.PlayerName);
|
||||
playerName = player.PlayerName.Length > 26 ? player.PlayerName[..26] : player.PlayerName;
|
||||
|
||||
string optionName = HttpUtility.HtmlEncode(playerName);
|
||||
if (enableFilter != null && enableFilter(player) == false)
|
||||
continue;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user