1.7.7-alpha

- Fixed (@all,@team,@lifestate) spam with discord webhook
- Currently `small` actions for ban optimizations
This commit is contained in:
Dawid Bepierszcz
2025-05-20 23:51:59 +02:00
parent b6c876d709
commit f69f1277f8
20 changed files with 460 additions and 241 deletions

View File

@@ -22,6 +22,7 @@ using CounterStrikeSharp.API.Core.Plugin.Host;
using CounterStrikeSharp.API.Modules.Entities.Constants;
using CS2_SimpleAdmin.Managers;
using MenuManager;
using ZLinq;
namespace CS2_SimpleAdmin;
@@ -51,33 +52,29 @@ internal static class Helper
return Utilities.GetPlayers().FindAll(x => x.PlayerName.Equals(name, StringComparison.OrdinalIgnoreCase));
}
public static List<CCSPlayerController> GetPlayerFromSteamid64(string steamid)
public static CCSPlayerController? GetPlayerFromSteamid64(string steamid)
{
return GetValidPlayers().FindAll(x =>
x.SteamID.ToString().Equals(steamid, StringComparison.OrdinalIgnoreCase)
);
return GetValidPlayers().FirstOrDefault(x => x.SteamID.ToString().Equals(steamid, StringComparison.OrdinalIgnoreCase));
}
public static List<CCSPlayerController> GetPlayerFromIp(string ipAddress)
public static CCSPlayerController? GetPlayerFromIp(string ipAddress)
{
return GetValidPlayers().FindAll(x =>
x.IpAddress != null &&
x.IpAddress.Split(":")[0].Equals(ipAddress)
);
return GetValidPlayers().FirstOrDefault(x => x.IpAddress != null && x.IpAddress.Split(":")[0].Equals(ipAddress));
}
public static List<CCSPlayerController> GetValidPlayers()
public static IReadOnlyList<CCSPlayerController> GetValidPlayers()
{
return Utilities.GetPlayers().FindAll(p => p is
{ IsValid: true, IsBot: false, Connected: PlayerConnectedState.PlayerConnected });
return Utilities.GetPlayers().AsValueEnumerable()
.Where(p => p is { IsValid: true, IsBot: false, Connected: PlayerConnectedState.PlayerConnected })
.ToList();
}
public static IReadOnlyList<CCSPlayerController> GetValidPlayersWithBots()
{
return Utilities.GetPlayers().AsValueEnumerable()
.Where(p => p is { IsValid: true, IsHLTV: false, Connected: PlayerConnectedState.PlayerConnected }).ToList();
}
public static IEnumerable<CCSPlayerController?> GetValidPlayersWithBots()
{
return Utilities.GetPlayers().FindAll(p =>
p is { IsValid: true, IsBot: false, IsHLTV: false } or { IsValid: true, IsBot: true, IsHLTV: false }
);
}
// public static bool IsValidSteamId64(string input)
// {
@@ -800,6 +797,7 @@ internal static class Helper
return pluginManager;
}
}
public static class PluginInfo