mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-10-18 12:57:04 +02:00
【UPDATE 1.7.1a】 🆕 What's new and what's changed: - Fixed 2x player lock text - Added immunity check when using css_addX - MenuManagerCS2 has been updated - Added return of lock ID by api (check example_module) - Fixed reasons for locks, no longer need to use `“”` if there is a space in them - Improved handling of lock times, from now on you can use: -- 1mo - 1 month -- 1w - 1 week -- 1d - 1 day -- 1h - 1 hour -- 1m - 1 minute -- 1 - 1 minute You can also combine it, e.g: 10d5h - 10 days and 5 hours 2w3d - 2 weeks and 3 days 1w1d1h1 - 1 week, 1 day and 1 minute So for example css_ban player 10d5h Super reason for my ban - Added a `rcon_password` column in the `sa_servers` table that populates with the rcon password - Fixed `banid` and banning - Fixed too fast kick (it was caused by checking players online) ⚠️ **Remember to update all files + api**
69 lines
No EOL
2.7 KiB
C#
69 lines
No EOL
2.7 KiB
C#
using CounterStrikeSharp.API.Core;
|
|
using CounterStrikeSharp.API.Modules.Admin;
|
|
using CounterStrikeSharp.API.Modules.Menu;
|
|
|
|
namespace CS2_SimpleAdmin.Menus;
|
|
|
|
public static class AdminMenu
|
|
{
|
|
public static IMenu? CreateMenu(string title, Action<CCSPlayerController>? backAction = null)
|
|
{
|
|
return Helper.CreateMenu(title, backAction);
|
|
// return CS2_SimpleAdmin.Instance.Config.UseChatMenu ? new ChatMenu(title) : new CenterHtmlMenu(title, CS2_SimpleAdmin.Instance);
|
|
}
|
|
|
|
public static void OpenMenu(CCSPlayerController player, IMenu menu)
|
|
{
|
|
menu.Open(player);
|
|
// switch (menu)
|
|
// {
|
|
// case CenterHtmlMenu centerHtmlMenu:
|
|
// MenuManager.OpenCenterHtmlMenu(CS2_SimpleAdmin.Instance, player, centerHtmlMenu);
|
|
// break;
|
|
// case ChatMenu chatMenu:
|
|
// MenuManager.OpenChatMenu(player, chatMenu);
|
|
// break;
|
|
// }
|
|
}
|
|
|
|
public static void OpenMenu(CCSPlayerController admin)
|
|
{
|
|
if (admin.IsValid == false)
|
|
return;
|
|
|
|
var localizer = CS2_SimpleAdmin._localizer;
|
|
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false)
|
|
{
|
|
admin.PrintToChat(localizer?["sa_prefix"] ??
|
|
"[SimpleAdmin] " +
|
|
(localizer?["sa_no_permission"] ?? "You do not have permissions to use this command")
|
|
);
|
|
return;
|
|
}
|
|
|
|
var menu = CreateMenu(localizer?["sa_title"] ?? "SimpleAdmin");
|
|
List<ChatMenuOptionData> options =
|
|
[
|
|
new ChatMenuOptionData(localizer?["sa_menu_players_manage"] ?? "Players Manage", () => ManagePlayersMenu.OpenMenu(admin)),
|
|
new ChatMenuOptionData(localizer?["sa_menu_server_manage"] ?? "Server Manage", () => ManageServerMenu.OpenMenu(admin)),
|
|
new ChatMenuOptionData(localizer?["sa_menu_fun_commands"] ?? "Fun Commands", () => FunActionsMenu.OpenMenu(admin)),
|
|
];
|
|
|
|
var customCommands = CS2_SimpleAdmin.Instance.Config.CustomServerCommands;
|
|
if (customCommands.Count > 0)
|
|
{
|
|
options.Add(new ChatMenuOptionData(localizer?["sa_menu_custom_commands"] ?? "Custom Commands", () => CustomCommandsMenu.OpenMenu(admin)));
|
|
}
|
|
|
|
if (AdminManager.PlayerHasPermissions(admin, "@css/root"))
|
|
options.Add(new ChatMenuOptionData(localizer?["sa_menu_admins_manage"] ?? "Admins Manage", () => ManageAdminsMenu.OpenMenu(admin)));
|
|
|
|
foreach (var menuOptionData in options)
|
|
{
|
|
var menuName = menuOptionData.Name;
|
|
menu?.AddMenuOption(menuName, (_, _) => { menuOptionData.Action.Invoke(); }, menuOptionData.Disabled);
|
|
}
|
|
|
|
if (menu != null) OpenMenu(admin, menu);
|
|
}
|
|
} |