- Added `ReloadAdminsEveryMapChange` - Reloading sql admins on map start
- Ability to use any valid steamid instead of steamid64
- Fixed chat commands when gagged
- Votes now respect `UseChatMenu` config setting
This commit is contained in:
Dawid Bepierszcz
2024-06-09 17:55:33 +02:00
parent 962529e445
commit 00facafdcb
13 changed files with 105 additions and 62 deletions

View File

@@ -151,14 +151,15 @@ namespace CS2_SimpleAdmin
return;
if (string.IsNullOrEmpty(command.GetArg(1))) return;
var steamid = command.GetArg(1);
if (!Helper.IsValidSteamId64(steamid))
if (!Helper.ValidateSteamId(command.GetArg(1), out var steamId) || steamId == null)
{
command.ReplyToCommand($"Invalid SteamID64.");
return;
}
var steamid = steamId.SteamId64.ToString();
var reason = _localizer?["sa_unknown"] ?? "Unknown";
int.TryParse(command.GetArg(2), out var time);

View File

@@ -97,12 +97,16 @@ namespace CS2_SimpleAdmin
public void OnAddAdminCommand(CCSPlayerController? caller, CommandInfo command)
{
if (_database == null) return;
if (!Helper.IsValidSteamId64(command.GetArg(1)))
if (!Helper.ValidateSteamId(command.GetArg(1), out var steamId) || steamId == null)
{
command.ReplyToCommand($"Invalid SteamID64.");
return;
}
var steamid = steamId.SteamId64.ToString();
if (command.GetArg(2).Length <= 0)
{
command.ReplyToCommand($"Invalid player name.");
@@ -114,7 +118,6 @@ namespace CS2_SimpleAdmin
return;
}
var steamid = command.GetArg(1);
var name = command.GetArg(2);
var flags = command.GetArg(3);
var globalAdmin = command.GetArg(4).ToLower().Equals("-g") || command.GetArg(5).ToLower().Equals("-g") ||
@@ -153,16 +156,15 @@ namespace CS2_SimpleAdmin
{
if (_database == null) return;
if (!Helper.IsValidSteamId64(command.GetArg(1)))
if (!Helper.ValidateSteamId(command.GetArg(1), out var steamId) || steamId == null)
{
command.ReplyToCommand($"Invalid SteamID64.");
return;
}
var steamid = command.GetArg(1);
var globalDelete = command.GetArg(2).ToLower().Equals("-g");
RemoveAdmin(caller, steamid, globalDelete, command);
RemoveAdmin(caller, steamId.SteamId64.ToString(), globalDelete, command);
}
public void RemoveAdmin(CCSPlayerController? caller, string steamid, bool globalDelete = false, CommandInfo? command = null)
@@ -534,13 +536,12 @@ namespace CS2_SimpleAdmin
public void Kick(CCSPlayerController? caller, CCSPlayerController? player, string? reason = "Unknown", string? callerName = null, CommandInfo? command = null)
{
if (player == null || !player.IsValid) return;
callerName ??= caller == null ? "Console" : caller.PlayerName;
if (player != null && player.PawnIsAlive)
{
player.Pawn.Value!.Freeze();
}
reason ??= _localizer?["sa_unknown"] ?? "Unknown";
player.Pawn.Value!.Freeze();
if (command != null)
Helper.SendDiscordLogMessage(caller, command, DiscordWebhookClientLog, _localizer);
@@ -548,7 +549,7 @@ namespace CS2_SimpleAdmin
if (string.IsNullOrEmpty(reason) == false)
{
if (player != null && !player.IsBot && !player.IsHLTV)
if (player != null && !player.IsBot)
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_kick_message", reason, caller == null ? "Console" : caller.PlayerName]);

View File

@@ -141,14 +141,14 @@ namespace CS2_SimpleAdmin
if (string.IsNullOrEmpty(command.GetArg(1))) return;
var steamid = command.GetArg(1);
if (!Helper.IsValidSteamId64(steamid))
if (!Helper.ValidateSteamId(command.GetArg(1), out var steamId) || steamId == null)
{
command.ReplyToCommand($"Invalid SteamID64.");
return;
}
var steamid = steamId.SteamId64.ToString();
var reason = _localizer?["sa_unknown"] ?? "Unknown";
MuteManager muteManager = new(_database);
@@ -265,10 +265,10 @@ namespace CS2_SimpleAdmin
var pattern = command.GetArg(1);
MuteManager muteManager = new(_database);
if (Helper.IsValidSteamId64(pattern))
if (Helper.ValidateSteamId(pattern, out var steamId) && steamId != null)
{
var matches = Helper.GetPlayerFromSteamid64(pattern);
var matches = Helper.GetPlayerFromSteamid64(steamId.SteamId64.ToString());
if (matches.Count == 1)
{
var player = matches.FirstOrDefault();
@@ -474,16 +474,17 @@ namespace CS2_SimpleAdmin
if (command.ArgCount < 2)
return;
if (string.IsNullOrEmpty(command.GetArg(1))) return;
var steamid = command.GetArg(1);
if (!Helper.IsValidSteamId64(steamid))
if (!Helper.ValidateSteamId(command.GetArg(1), out var steamId) || steamId == null)
{
command.ReplyToCommand($"Invalid SteamID64.");
return;
}
var steamid = steamId.SteamId64.ToString();
var reason = _localizer?["sa_unknown"] ?? "Unknown";
MuteManager muteManager = new(_database);
@@ -595,9 +596,9 @@ namespace CS2_SimpleAdmin
var found = false;
MuteManager muteManager = new(_database);
if (Helper.IsValidSteamId64(pattern))
if (Helper.ValidateSteamId(pattern, out var steamId) && steamId != null)
{
var matches = Helper.GetPlayerFromSteamid64(pattern);
var matches = Helper.GetPlayerFromSteamid64(steamId.SteamId64.ToString());
if (matches.Count == 1)
{
var player = matches.FirstOrDefault();
@@ -735,7 +736,7 @@ namespace CS2_SimpleAdmin
if (time == 0)
{
if (!player.IsBot && !player.IsHLTV)
if (!player.IsBot)
{
using (new WithTemporaryCulture(player.GetLanguage()))
{
@@ -780,12 +781,11 @@ namespace CS2_SimpleAdmin
}
}
if (command != null)
{
Helper.SendDiscordPenaltyMessage(caller, player, reason, time, Helper.PenaltyType.Mute, DiscordWebhookClientPenalty, _localizer);
Helper.SendDiscordLogMessage(caller, command, DiscordWebhookClientLog, _localizer);
Helper.LogCommand(caller, command);
}
if (command == null) return;
Helper.SendDiscordPenaltyMessage(caller, player, reason, time, Helper.PenaltyType.Mute, DiscordWebhookClientPenalty, _localizer);
Helper.SendDiscordLogMessage(caller, command, DiscordWebhookClientLog, _localizer);
Helper.LogCommand(caller, command);
}
[ConsoleCommand("css_addsilence")]
@@ -800,14 +800,14 @@ namespace CS2_SimpleAdmin
return;
if (string.IsNullOrEmpty(command.GetArg(1))) return;
var steamid = command.GetArg(1);
if (!Helper.IsValidSteamId64(steamid))
if (!Helper.ValidateSteamId(command.GetArg(1), out var steamId) || steamId == null)
{
command.ReplyToCommand($"Invalid SteamID64.");
return;
}
var steamid = steamId.SteamId64.ToString();
var reason = _localizer?["sa_unknown"] ?? "Unknown";
MuteManager muteManager = new(_database);
@@ -843,7 +843,7 @@ namespace CS2_SimpleAdmin
if (time == 0)
{
if (!player.IsBot && !player.IsHLTV)
if (player is { IsBot: false, IsHLTV: false })
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_silence_message_perm", reason, caller == null ? "Console" : caller.PlayerName]);
@@ -863,7 +863,7 @@ namespace CS2_SimpleAdmin
}
else
{
if (!player.IsBot && !player.IsHLTV)
if (player is { IsBot: false, IsHLTV: false })
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_silence_message_time", reason, time, caller == null ? "Console" : caller.PlayerName]);
@@ -921,9 +921,9 @@ namespace CS2_SimpleAdmin
var found = false;
MuteManager muteManager = new(_database);
if (Helper.IsValidSteamId64(pattern))
if (Helper.ValidateSteamId(pattern, out var steamId) && steamId != null)
{
var matches = Helper.GetPlayerFromSteamid64(pattern);
var matches = Helper.GetPlayerFromSteamid64(steamId.SteamId64.ToString());
if (matches.Count == 1)
{
var player = matches.FirstOrDefault();

View File

@@ -37,7 +37,10 @@ namespace CS2_SimpleAdmin
{
using (new WithTemporaryCulture(player.GetLanguage()))
{
ChatMenu voteMenu = new(_localizer!["sa_admin_vote_menu_title", question]);
BaseMenu voteMenu = Config.UseChatMenu
? new ChatMenu(_localizer!["sa_admin_vote_menu_title", question])
: new CenterHtmlMenu(_localizer!["sa_admin_vote_menu_title", question], Instance);
//ChatMenu voteMenu = new(_localizer!["sa_admin_vote_menu_title", question]);
for (var i = 2; i <= answersCount - 1; i++)
{
@@ -50,8 +53,10 @@ namespace CS2_SimpleAdmin
StringBuilder sb = new(_localizer["sa_prefix"]);
sb.Append(_localizer["sa_admin_vote_message", caller == null ? "Console" : caller.PlayerName, question]);
player.PrintToChat(sb.ToString());
MenuManager.OpenChatMenu(player, voteMenu);
voteMenu.OpenToAll();
//MenuManager.OpenChatMenu(player, voteMenu);
}
}