- Fixed no permissions in menu and perm penalty (due to authorization issue on steam)
- Fixed non-async action in async method
This commit is contained in:
Dawid Bepierszcz
2025-01-26 02:10:33 +01:00
parent ab14956ae5
commit 8cc0398f6b
16 changed files with 74 additions and 67 deletions

View File

@@ -19,7 +19,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
public override string ModuleName => "CS2-SimpleAdmin" + (Helper.IsDebugBuild ? " (DEBUG)" : " (RELEASE)"); public override string ModuleName => "CS2-SimpleAdmin" + (Helper.IsDebugBuild ? " (DEBUG)" : " (RELEASE)");
public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)"; public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)";
public override string ModuleAuthor => "daffyy & Dliix66"; public override string ModuleAuthor => "daffyy & Dliix66";
public override string ModuleVersion => "1.7.2b"; public override string ModuleVersion => "1.7.2c";
public override void Load(bool hotReload) public override void Load(bool hotReload)
{ {

View File

@@ -10,7 +10,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.300" /> <PackageReference Include="CounterStrikeSharp.API" Version="1.0.303" />
<PackageReference Include="Dapper" Version="2.1.35" /> <PackageReference Include="Dapper" Version="2.1.35" />
<PackageReference Include="MySqlConnector" Version="2.4.0" /> <PackageReference Include="MySqlConnector" Version="2.4.0" />
<PackageReference Include="Newtonsoft.Json" Version="*" /> <PackageReference Include="Newtonsoft.Json" Version="*" />

View File

@@ -241,7 +241,7 @@ public partial class CS2_SimpleAdmin
{ {
if (caller == null) return true; if (caller == null) return true;
var canPermBan = AdminManager.PlayerHasPermissions(caller, "@css/permban"); var canPermBan = AdminManager.PlayerHasPermissions(new SteamID(caller.SteamID), "@css/permban");
if (duration <= 0 && canPermBan == false) if (duration <= 0 && canPermBan == false)
{ {

View File

@@ -5,6 +5,7 @@ using CounterStrikeSharp.API.Modules.Commands;
using CounterStrikeSharp.API.Modules.Memory; using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils; using CounterStrikeSharp.API.Modules.Utils;
using System.Text; using System.Text;
using CounterStrikeSharp.API.Modules.Entities;
namespace CS2_SimpleAdmin; namespace CS2_SimpleAdmin;
@@ -20,7 +21,7 @@ public partial class CS2_SimpleAdmin
var utf8String = Encoding.UTF8.GetString(utf8BytesString); var utf8String = Encoding.UTF8.GetString(utf8BytesString);
foreach (var player in Helper.GetValidPlayers() foreach (var player in Helper.GetValidPlayers()
.Where(p => AdminManager.PlayerHasPermissions(p, "@css/chat"))) .Where(p => AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/chat")))
{ {
if (_localizer != null) if (_localizer != null)
player.PrintToChat(_localizer["sa_adminchat_template_admin", player.PrintToChat(_localizer["sa_adminchat_template_admin",

View File

@@ -30,7 +30,7 @@ public partial class CS2_SimpleAdmin
var userId = caller.UserId.Value; var userId = caller.UserId.Value;
if (!string.IsNullOrEmpty(command.GetArg(1)) && AdminManager.PlayerHasPermissions(caller, "@css/kick")) if (!string.IsNullOrEmpty(command.GetArg(1)) && AdminManager.PlayerHasPermissions(new SteamID(caller.SteamID), "@css/kick"))
{ {
var targets = GetTarget(command); var targets = GetTarget(command);
@@ -508,7 +508,7 @@ public partial class CS2_SimpleAdmin
printMethod($"• SteamID2: \"{playerInfo.SteamId.SteamId2}\""); printMethod($"• SteamID2: \"{playerInfo.SteamId.SteamId2}\"");
printMethod($"• Community link: \"{playerInfo.SteamId.ToCommunityUrl()}\""); printMethod($"• Community link: \"{playerInfo.SteamId.ToCommunityUrl()}\"");
} }
if (playerInfo.IpAddress != null && AdminManager.PlayerHasPermissions(caller, "@css/showip")) if (playerInfo.IpAddress != null && AdminManager.PlayerHasPermissions(new SteamID(caller!.SteamID), "@css/showip"))
printMethod($"• IP Address: \"{playerInfo.IpAddress}\""); printMethod($"• IP Address: \"{playerInfo.IpAddress}\"");
printMethod($"• Ping: \"{player.Ping}\""); printMethod($"• Ping: \"{player.Ping}\"");
if (player.Connected == PlayerConnectedState.PlayerConnected) if (player.Connected == PlayerConnectedState.PlayerConnected)
@@ -720,7 +720,7 @@ public partial class CS2_SimpleAdmin
playersToTarget.ForEach(player => playersToTarget.ForEach(player =>
{ {
caller.PrintToConsole( caller.PrintToConsole(
$"• [#{player.UserId}] \"{player.PlayerName}\" (IP Address: \"{(AdminManager.PlayerHasPermissions(caller, "@css/showip") ? player.IpAddress?.Split(":")[0] : "Unknown")}\" SteamID64: \"{player.SteamID}\")"); $"• [#{player.UserId}] \"{player.PlayerName}\" (IP Address: \"{(AdminManager.PlayerHasPermissions(new SteamID(caller.SteamID), "@css/showip") ? player.IpAddress?.Split(":")[0] : "Unknown")}\" SteamID64: \"{player.SteamID}\")");
}); });
caller.PrintToConsole("--------- END PLAYER LIST ---------"); caller.PrintToConsole("--------- END PLAYER LIST ---------");
} }
@@ -745,9 +745,9 @@ public partial class CS2_SimpleAdmin
player.UserId, player.UserId,
Name = player.PlayerName, Name = player.PlayerName,
SteamId = player.SteamID.ToString(), SteamId = player.SteamID.ToString(),
IpAddress = AdminManager.PlayerHasPermissions(caller, "@css/showip") ? player.IpAddress?.Split(":")[0] ?? "Unknown" : "Unknown", IpAddress = AdminManager.PlayerHasPermissions(new SteamID(caller!.SteamID), "@css/showip") ? player.IpAddress?.Split(":")[0] ?? "Unknown" : "Unknown",
player.Ping, player.Ping,
IsAdmin = AdminManager.PlayerHasPermissions(player, "@css/ban") || AdminManager.PlayerHasPermissions(player, "@css/generic"), IsAdmin = AdminManager.PlayerHasPermissions(new SteamID(player.SteamID), "@css/ban") || AdminManager.PlayerHasPermissions(new SteamID(player.SteamID), "@css/generic"),
Stats = new Stats = new
{ {
player.Score, player.Score,
@@ -950,7 +950,7 @@ public partial class CS2_SimpleAdmin
return; return;
} }
if (cvar.Name.Equals("sv_cheats") && !AdminManager.PlayerHasPermissions(caller, "@css/cheats")) if (cvar.Name.Equals("sv_cheats") && !AdminManager.PlayerHasPermissions(new SteamID(caller!.SteamID), "@css/cheats"))
{ {
command.ReplyToCommand($"You don't have permissions to change \"{command.GetArg(1)}\"."); command.ReplyToCommand($"You don't have permissions to change \"{command.GetArg(1)}\".");
return; return;

View File

@@ -717,7 +717,7 @@ public partial class CS2_SimpleAdmin
{ {
if (caller == null) return true; if (caller == null) return true;
var canPermMute = AdminManager.PlayerHasPermissions(caller, "@css/permmute"); var canPermMute = AdminManager.PlayerHasPermissions(new SteamID(caller.SteamID), "@css/permmute");
if (duration <= 0 && canPermMute == false) if (duration <= 0 && canPermMute == false)
{ {

View File

@@ -272,7 +272,7 @@ value.WaitingForKick)
return HookResult.Stop; return HookResult.Stop;
if (command == "say" && info.GetArg(1).StartsWith($"@") && if (command == "say" && info.GetArg(1).StartsWith($"@") &&
AdminManager.PlayerHasPermissions(player, "@css/chat")) AdminManager.PlayerHasPermissions(new SteamID(player.SteamID), "@css/chat"))
{ {
player.ExecuteClientCommandFromServer($"css_say {info.GetArg(1).Remove(0, 1)}"); player.ExecuteClientCommandFromServer($"css_say {info.GetArg(1).Remove(0, 1)}");
return HookResult.Stop; return HookResult.Stop;
@@ -281,10 +281,10 @@ value.WaitingForKick)
if (command != "say_team" || !info.GetArg(1).StartsWith($"@")) return HookResult.Continue; if (command != "say_team" || !info.GetArg(1).StartsWith($"@")) return HookResult.Continue;
StringBuilder sb = new(); StringBuilder sb = new();
if (AdminManager.PlayerHasPermissions(player, "@css/chat")) if (AdminManager.PlayerHasPermissions(new SteamID(player.SteamID), "@css/chat"))
{ {
sb.Append(_localizer!["sa_adminchat_template_admin", player.PlayerName, info.GetArg(1).Remove(0, 1)]); sb.Append(_localizer!["sa_adminchat_template_admin", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && p is { IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(p, "@css/chat"))) foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && p is { IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/chat")))
{ {
p.PrintToChat(sb.ToString()); p.PrintToChat(sb.ToString());
} }
@@ -293,7 +293,7 @@ value.WaitingForKick)
{ {
sb.Append(_localizer!["sa_adminchat_template_player", player.PlayerName, info.GetArg(1).Remove(0, 1)]); sb.Append(_localizer!["sa_adminchat_template_player", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
player.PrintToChat(sb.ToString()); player.PrintToChat(sb.ToString());
foreach (var p in Utilities.GetPlayers().Where(p => p is { IsValid: true, IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(p, "@css/chat"))) foreach (var p in Utilities.GetPlayers().Where(p => p is { IsValid: true, IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/chat")))
{ {
p.PrintToChat(sb.ToString()); p.PrintToChat(sb.ToString());
} }
@@ -339,10 +339,10 @@ value.WaitingForKick)
StringBuilder sb = new(); StringBuilder sb = new();
if (AdminManager.PlayerHasPermissions(player, "@css/chat")) if (AdminManager.PlayerHasPermissions(new SteamID(player.SteamID), "@css/chat"))
{ {
sb.Append(_localizer!["sa_adminchat_template_admin", player.PlayerName, info.GetArg(1).Remove(0, 1)]); sb.Append(_localizer!["sa_adminchat_template_admin", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && p is { IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(p, "@css/chat"))) foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && p is { IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/chat")))
{ {
p.PrintToChat(sb.ToString()); p.PrintToChat(sb.ToString());
} }
@@ -351,7 +351,7 @@ value.WaitingForKick)
{ {
sb.Append(_localizer!["sa_adminchat_template_player", player.PlayerName, info.GetArg(1).Remove(0, 1)]); sb.Append(_localizer!["sa_adminchat_template_player", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
player.PrintToChat(sb.ToString()); player.PrintToChat(sb.ToString());
foreach (var p in Utilities.GetPlayers().Where(p => p is { IsValid: true, IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(p, "@css/chat"))) foreach (var p in Utilities.GetPlayers().Where(p => p is { IsValid: true, IsBot: false, IsHLTV: false } && AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/chat")))
{ {
p.PrintToChat(sb.ToString()); p.PrintToChat(sb.ToString());
} }

View File

@@ -98,7 +98,7 @@ public class PlayerManager
{ {
if (!CS2_SimpleAdmin.PlayersInfo.ContainsKey(userId)) if (!CS2_SimpleAdmin.PlayersInfo.ContainsKey(userId))
{ {
Helper.KickPlayer(userId, NetworkDisconnectionReason.NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION); await Server.NextFrameAsync(() => Helper.KickPlayer(userId, NetworkDisconnectionReason.NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION));
} }
// Check if the player is banned // Check if the player is banned
@@ -190,8 +190,8 @@ public class PlayerManager
await Server.NextFrameAsync(() => await Server.NextFrameAsync(() =>
{ {
foreach (var admin in Helper.GetValidPlayers() foreach (var admin in Helper.GetValidPlayers()
.Where(p => (AdminManager.PlayerHasPermissions(p, "@css/kick") || .Where(p => (AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/kick") ||
AdminManager.PlayerHasPermissions(p, "@css/ban")) && AdminManager.PlayerHasPermissions(new SteamID(p.SteamID), "@css/ban")) &&
p.Connected == PlayerConnectedState.PlayerConnected && !CS2_SimpleAdmin.AdminDisabledJoinComms.Contains(p.SteamID))) p.Connected == PlayerConnectedState.PlayerConnected && !CS2_SimpleAdmin.AdminDisabledJoinComms.Contains(p.SteamID)))
{ {
if (CS2_SimpleAdmin._localizer != null && admin != player) if (CS2_SimpleAdmin._localizer != null && admin != player)

View File

@@ -1,5 +1,6 @@
using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Menu; using CounterStrikeSharp.API.Modules.Menu;
namespace CS2_SimpleAdmin.Menus; namespace CS2_SimpleAdmin.Menus;
@@ -32,7 +33,7 @@ public static class AdminMenu
return; return;
var localizer = CS2_SimpleAdmin._localizer; var localizer = CS2_SimpleAdmin._localizer;
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/generic") == false)
{ {
admin.PrintToChat(localizer?["sa_prefix"] ?? admin.PrintToChat(localizer?["sa_prefix"] ??
"[SimpleAdmin] " + "[SimpleAdmin] " +
@@ -55,7 +56,7 @@ public static class AdminMenu
options.Add(new ChatMenuOptionData(localizer?["sa_menu_custom_commands"] ?? "Custom Commands", () => CustomCommandsMenu.OpenMenu(admin))); options.Add(new ChatMenuOptionData(localizer?["sa_menu_custom_commands"] ?? "Custom Commands", () => CustomCommandsMenu.OpenMenu(admin)));
} }
if (AdminManager.PlayerHasPermissions(admin, "@css/root")) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/root"))
options.Add(new ChatMenuOptionData(localizer?["sa_menu_admins_manage"] ?? "Admins Manage", () => ManageAdminsMenu.OpenMenu(admin))); options.Add(new ChatMenuOptionData(localizer?["sa_menu_admins_manage"] ?? "Admins Manage", () => ManageAdminsMenu.OpenMenu(admin)));
foreach (var menuOptionData in options) foreach (var menuOptionData in options)

View File

@@ -1,6 +1,7 @@
using CounterStrikeSharp.API; using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
namespace CS2_SimpleAdmin.Menus; namespace CS2_SimpleAdmin.Menus;
@@ -12,7 +13,7 @@ public static class CustomCommandsMenu
return; return;
var localizer = CS2_SimpleAdmin._localizer; var localizer = CS2_SimpleAdmin._localizer;
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/generic") == false)
{ {
admin.PrintToChat(localizer?["sa_prefix"] ?? admin.PrintToChat(localizer?["sa_prefix"] ??
"[SimpleAdmin] " + "[SimpleAdmin] " +
@@ -27,7 +28,7 @@ public static class CustomCommandsMenu
var customCommands = CS2_SimpleAdmin.Instance.Config.CustomServerCommands; var customCommands = CS2_SimpleAdmin.Instance.Config.CustomServerCommands;
options.AddRange(from customCommand in customCommands options.AddRange(from customCommand in customCommands
where !string.IsNullOrEmpty(customCommand.DisplayName) && !string.IsNullOrEmpty(customCommand.Command) where !string.IsNullOrEmpty(customCommand.DisplayName) && !string.IsNullOrEmpty(customCommand.Command)
let hasRights = AdminManager.PlayerHasPermissions(admin, customCommand.Flag) let hasRights = AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), customCommand.Flag)
where hasRights where hasRights
select new ChatMenuOptionData(customCommand.DisplayName, () => select new ChatMenuOptionData(customCommand.DisplayName, () =>
{ {

View File

@@ -1,5 +1,6 @@
using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Entities.Constants; using CounterStrikeSharp.API.Modules.Entities.Constants;
namespace CS2_SimpleAdmin.Menus; namespace CS2_SimpleAdmin.Menus;
@@ -36,7 +37,7 @@ public static class FunActionsMenu
return; return;
var localizer = CS2_SimpleAdmin._localizer; var localizer = CS2_SimpleAdmin._localizer;
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/generic") == false)
{ {
admin.PrintToChat(localizer?["sa_prefix"] ?? admin.PrintToChat(localizer?["sa_prefix"] ??
"[SimpleAdmin] " + "[SimpleAdmin] " +
@@ -54,45 +55,45 @@ public static class FunActionsMenu
// options added in order // options added in order
if (AdminManager.CommandIsOverriden("css_god") if (AdminManager.CommandIsOverriden("css_god")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_god")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_god"))
: AdminManager.PlayerHasPermissions(admin, "@css/cheats")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/cheats"))
options.Add(new ChatMenuOptionData(localizer?["sa_godmode"] ?? "God Mode", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_godmode"] ?? "God Mode", GodMode))); options.Add(new ChatMenuOptionData(localizer?["sa_godmode"] ?? "God Mode", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_godmode"] ?? "God Mode", GodMode)));
if (AdminManager.CommandIsOverriden("css_noclip") if (AdminManager.CommandIsOverriden("css_noclip")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_noclip")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_noclip"))
: AdminManager.PlayerHasPermissions(admin, "@css/cheats")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/cheats"))
options.Add(new ChatMenuOptionData(localizer?["sa_noclip"] ?? "No Clip", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_noclip"] ?? "No Clip", NoClip))); options.Add(new ChatMenuOptionData(localizer?["sa_noclip"] ?? "No Clip", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_noclip"] ?? "No Clip", NoClip)));
if (AdminManager.CommandIsOverriden("css_respawn") if (AdminManager.CommandIsOverriden("css_respawn")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_respawn")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_respawn"))
: AdminManager.PlayerHasPermissions(admin, "@css/cheats")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/cheats"))
options.Add(new ChatMenuOptionData(localizer?["sa_respawn"] ?? "Respawn", () => PlayersMenu.OpenDeadMenu(admin, localizer?["sa_respawn"] ?? "Respawn", Respawn))); options.Add(new ChatMenuOptionData(localizer?["sa_respawn"] ?? "Respawn", () => PlayersMenu.OpenDeadMenu(admin, localizer?["sa_respawn"] ?? "Respawn", Respawn)));
if (AdminManager.CommandIsOverriden("css_give") if (AdminManager.CommandIsOverriden("css_give")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_give")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_give"))
: AdminManager.PlayerHasPermissions(admin, "@css/cheats")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/cheats"))
options.Add(new ChatMenuOptionData(localizer?["sa_give_weapon"] ?? "Give Weapon", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_give_weapon"] ?? "Give Weapon", GiveWeaponMenu))); options.Add(new ChatMenuOptionData(localizer?["sa_give_weapon"] ?? "Give Weapon", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_give_weapon"] ?? "Give Weapon", GiveWeaponMenu)));
if (AdminManager.CommandIsOverriden("css_strip") if (AdminManager.CommandIsOverriden("css_strip")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_strip")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_strip"))
: AdminManager.PlayerHasPermissions(admin, "@css/slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay"))
options.Add(new ChatMenuOptionData(localizer?["sa_strip_weapons"] ?? "Strip Weapons", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_strip_weapons"] ?? "Strip Weapons", StripWeapons))); options.Add(new ChatMenuOptionData(localizer?["sa_strip_weapons"] ?? "Strip Weapons", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_strip_weapons"] ?? "Strip Weapons", StripWeapons)));
if (AdminManager.CommandIsOverriden("css_freeze") if (AdminManager.CommandIsOverriden("css_freeze")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_freeze")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_freeze"))
: AdminManager.PlayerHasPermissions(admin, "@css/slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay"))
options.Add(new ChatMenuOptionData(localizer?["sa_freeze"] ?? "Freeze", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_freeze"] ?? "Freeze", Freeze))); options.Add(new ChatMenuOptionData(localizer?["sa_freeze"] ?? "Freeze", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_freeze"] ?? "Freeze", Freeze)));
if (AdminManager.CommandIsOverriden("css_hp") if (AdminManager.CommandIsOverriden("css_hp")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_hp")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_hp"))
: AdminManager.PlayerHasPermissions(admin, "@css/slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay"))
options.Add(new ChatMenuOptionData(localizer?["sa_set_hp"] ?? "Set Hp", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_set_hp"] ?? "Set Hp", SetHpMenu))); options.Add(new ChatMenuOptionData(localizer?["sa_set_hp"] ?? "Set Hp", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_set_hp"] ?? "Set Hp", SetHpMenu)));
if (AdminManager.CommandIsOverriden("css_speed") if (AdminManager.CommandIsOverriden("css_speed")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_speed")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_speed"))
: AdminManager.PlayerHasPermissions(admin, "@css/slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay"))
options.Add(new ChatMenuOptionData(localizer?["sa_set_speed"] ?? "Set Speed", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_set_speed"] ?? "Set Speed", SetSpeedMenu))); options.Add(new ChatMenuOptionData(localizer?["sa_set_speed"] ?? "Set Speed", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_set_speed"] ?? "Set Speed", SetSpeedMenu)));
if (AdminManager.CommandIsOverriden("css_gravity") if (AdminManager.CommandIsOverriden("css_gravity")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_gravity")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_gravity"))
: AdminManager.PlayerHasPermissions(admin, "@css/slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay"))
options.Add(new ChatMenuOptionData(localizer?["sa_set_gravity"] ?? "Set Gravity", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_set_gravity"] ?? "Set Gravity", SetGravityMenu))); options.Add(new ChatMenuOptionData(localizer?["sa_set_gravity"] ?? "Set Gravity", () => PlayersMenu.OpenAliveMenu(admin, localizer?["sa_set_gravity"] ?? "Set Gravity", SetGravityMenu)));
if (AdminManager.CommandIsOverriden("css_money") if (AdminManager.CommandIsOverriden("css_money")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_money")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_money"))
: AdminManager.PlayerHasPermissions(admin, "@css/slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay"))
options.Add(new ChatMenuOptionData(localizer?["sa_set_money"] ?? "Set Money", () => PlayersMenu.OpenMenu(admin, localizer?["sa_set_money"] ?? "Set Money", SetMoneyMenu))); options.Add(new ChatMenuOptionData(localizer?["sa_set_money"] ?? "Set Money", () => PlayersMenu.OpenMenu(admin, localizer?["sa_set_money"] ?? "Set Money", SetMoneyMenu)));
foreach (var menuOptionData in options) foreach (var menuOptionData in options)

View File

@@ -1,5 +1,6 @@
using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
namespace CS2_SimpleAdmin.Menus; namespace CS2_SimpleAdmin.Menus;
@@ -11,7 +12,7 @@ public static class ManageAdminsMenu
return; return;
var localizer = CS2_SimpleAdmin._localizer; var localizer = CS2_SimpleAdmin._localizer;
if (AdminManager.PlayerHasPermissions(admin, "@css/root") == false) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/root") == false)
{ {
admin.PrintToChat(localizer?["sa_prefix"] ?? admin.PrintToChat(localizer?["sa_prefix"] ??
"[SimpleAdmin] " + "[SimpleAdmin] " +

View File

@@ -1,5 +1,6 @@
using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Utils; using CounterStrikeSharp.API.Modules.Utils;
using CS2_SimpleAdminApi; using CS2_SimpleAdminApi;
@@ -13,7 +14,7 @@ public static class ManagePlayersMenu
return; return;
var localizer = CS2_SimpleAdmin._localizer; var localizer = CS2_SimpleAdmin._localizer;
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/generic") == false)
{ {
admin.PrintToChat(localizer?["sa_prefix"] ?? admin.PrintToChat(localizer?["sa_prefix"] ??
"[SimpleAdmin] " + "[SimpleAdmin] " +
@@ -26,10 +27,10 @@ public static class ManagePlayersMenu
List<ChatMenuOptionData> options = []; List<ChatMenuOptionData> options = [];
// permissions // permissions
var hasSlay = AdminManager.CommandIsOverriden("css_slay") ? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_slay")) : AdminManager.PlayerHasPermissions(admin, "@css/slay"); var hasSlay = AdminManager.CommandIsOverriden("css_slay") ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_slay")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/slay");
var hasKick = AdminManager.CommandIsOverriden("css_kick") ? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_kick")) : AdminManager.PlayerHasPermissions(admin, "@css/kick"); var hasKick = AdminManager.CommandIsOverriden("css_kick") ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_kick")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/kick");
var hasBan = AdminManager.CommandIsOverriden("css_ban") ? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_ban")) : AdminManager.PlayerHasPermissions(admin, "@css/ban"); var hasBan = AdminManager.CommandIsOverriden("css_ban") ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_ban")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/ban");
var hasChat = AdminManager.CommandIsOverriden("css_gag") ? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_gag")) : AdminManager.PlayerHasPermissions(admin, "@css/chat"); var hasChat = AdminManager.CommandIsOverriden("css_gag") ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_gag")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/chat");
// TODO: Localize options // TODO: Localize options
// options added in order // options added in order
@@ -46,8 +47,8 @@ public static class ManagePlayersMenu
} }
if (AdminManager.CommandIsOverriden("css_warn") if (AdminManager.CommandIsOverriden("css_warn")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_warn")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_warn"))
: AdminManager.PlayerHasPermissions(admin, "@css/kick")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/kick"))
options.Add(new ChatMenuOptionData(localizer?["sa_warn"] ?? "Warn", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_warn"] ?? "Warn", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_warn"] ?? "Warn"}: {player.PlayerName}", player, WarnMenu)))); options.Add(new ChatMenuOptionData(localizer?["sa_warn"] ?? "Warn", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_warn"] ?? "Warn", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_warn"] ?? "Warn"}: {player.PlayerName}", player, WarnMenu))));
if (hasBan) if (hasBan)
@@ -56,22 +57,22 @@ public static class ManagePlayersMenu
if (hasChat) if (hasChat)
{ {
if (AdminManager.CommandIsOverriden("css_gag") if (AdminManager.CommandIsOverriden("css_gag")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_gag")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_gag"))
: AdminManager.PlayerHasPermissions(admin, "@css/chat")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/chat"))
options.Add(new ChatMenuOptionData(localizer?["sa_gag"] ?? "Gag", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_gag"] ?? "Gag", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_gag"] ?? "Gag"}: {player.PlayerName}", player, GagMenu)))); options.Add(new ChatMenuOptionData(localizer?["sa_gag"] ?? "Gag", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_gag"] ?? "Gag", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_gag"] ?? "Gag"}: {player.PlayerName}", player, GagMenu))));
if (AdminManager.CommandIsOverriden("css_mute") if (AdminManager.CommandIsOverriden("css_mute")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_mute")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_mute"))
: AdminManager.PlayerHasPermissions(admin, "@css/chat")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/chat"))
options.Add(new ChatMenuOptionData(localizer?["sa_mute"] ?? "Mute", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_mute"] ?? "Mute", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_mute"] ?? "Mute"}: {player.PlayerName}", player, MuteMenu)))); options.Add(new ChatMenuOptionData(localizer?["sa_mute"] ?? "Mute", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_mute"] ?? "Mute", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_mute"] ?? "Mute"}: {player.PlayerName}", player, MuteMenu))));
if (AdminManager.CommandIsOverriden("css_silence") if (AdminManager.CommandIsOverriden("css_silence")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_silence")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_silence"))
: AdminManager.PlayerHasPermissions(admin, "@css/chat")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/chat"))
options.Add(new ChatMenuOptionData(localizer?["sa_silence"] ?? "Silence", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_silence"] ?? "Silence", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_silence"] ?? "Silence"}: {player.PlayerName}", player, SilenceMenu)))); options.Add(new ChatMenuOptionData(localizer?["sa_silence"] ?? "Silence", () => PlayersMenu.OpenRealPlayersMenu(admin, localizer?["sa_silence"] ?? "Silence", (admin, player) => DurationMenu.OpenMenu(admin, $"{localizer?["sa_silence"] ?? "Silence"}: {player.PlayerName}", player, SilenceMenu))));
} }
if (AdminManager.CommandIsOverriden("css_team") if (AdminManager.CommandIsOverriden("css_team")
? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_team")) ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_team"))
: AdminManager.PlayerHasPermissions(admin, "@css/kick")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/kick"))
options.Add(new ChatMenuOptionData(localizer?["sa_team_force"] ?? "Force Team", () => PlayersMenu.OpenMenu(admin, localizer?["sa_team_force"] ?? "Force Team", ForceTeamMenu))); options.Add(new ChatMenuOptionData(localizer?["sa_team_force"] ?? "Force Team", () => PlayersMenu.OpenMenu(admin, localizer?["sa_team_force"] ?? "Force Team", ForceTeamMenu)));
foreach (var menuOptionData in options) foreach (var menuOptionData in options)

View File

@@ -1,5 +1,6 @@
using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
namespace CS2_SimpleAdmin.Menus; namespace CS2_SimpleAdmin.Menus;
@@ -11,7 +12,7 @@ public static class ManageServerMenu
return; return;
var localizer = CS2_SimpleAdmin._localizer; var localizer = CS2_SimpleAdmin._localizer;
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false) if (AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/generic") == false)
{ {
admin.PrintToChat(localizer?["sa_prefix"] ?? admin.PrintToChat(localizer?["sa_prefix"] ??
"[SimpleAdmin] " + "[SimpleAdmin] " +
@@ -25,8 +26,8 @@ public static class ManageServerMenu
// permissions // permissions
var hasMap = AdminManager.CommandIsOverriden("css_map") ? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_map")) : AdminManager.PlayerHasPermissions(admin, "@css/changemap"); var hasMap = AdminManager.CommandIsOverriden("css_map") ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_map")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/changemap");
var hasPlugins = AdminManager.CommandIsOverriden("css_pluginsmanager") ? AdminManager.PlayerHasPermissions(admin, AdminManager.GetPermissionOverrides("css_pluginsmanager")) : AdminManager.PlayerHasPermissions(admin, "@css/root"); var hasPlugins = AdminManager.CommandIsOverriden("css_pluginsmanager") ? AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), AdminManager.GetPermissionOverrides("css_pluginsmanager")) : AdminManager.PlayerHasPermissions(new SteamID(admin.SteamID), "@css/root");
//bool hasMap = AdminManager.PlayerHasPermissions(admin, "@css/changemap"); //bool hasMap = AdminManager.PlayerHasPermissions(admin, "@css/changemap");

View File

@@ -1 +1 @@
1.7.2b 1.7.2c

View File

@@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.300" /> <PackageReference Include="CounterStrikeSharp.API" Version="1.0.303" />
</ItemGroup> </ItemGroup>
</Project> </Project>