Compare commits

...

5 Commits

Author SHA1 Message Date
Yuriy Petleshkov
c31addb9e6 Merge 84646e4451 into 70a62d4b63 2024-11-10 20:33:54 +02:00
Dawid Bepierszcz
70a62d4b63 HOTFIX - Ban via menu 2024-11-10 19:13:39 +01:00
Dawid Bepierszcz
95818e2742 1.6.8a
- Updated css version
- Updated mysqlconnector version
- Added information for the player until when he has a chat blocked
- Closing menu after ban
2024-11-10 17:30:48 +01:00
Yuriy Petleshkov
84646e4451 chore: fix duplicate messages 2024-10-13 12:27:50 +03:00
Yuriy Petleshkov
94e0013cf9 chore: add vip chat 2024-10-13 09:58:29 +03:00
23 changed files with 104 additions and 39 deletions

View File

@@ -11,7 +11,7 @@ using MySqlConnector;
namespace CS2_SimpleAdmin; namespace CS2_SimpleAdmin;
[MinimumApiVersion(279)] [MinimumApiVersion(284)]
public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdminConfig> public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdminConfig>
{ {
internal static CS2_SimpleAdmin Instance { get; private set; } = new(); internal static CS2_SimpleAdmin Instance { get; private set; } = new();
@@ -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.6.7a"; public override string ModuleVersion => "1.6.8a";
public override void Load(bool hotReload) public override void Load(bool hotReload)
{ {

View File

@@ -10,9 +10,9 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.284" /> <PackageReference Include="CounterStrikeSharp.API" Version="1.0.286" />
<PackageReference Include="Dapper" Version="2.1.35" /> <PackageReference Include="Dapper" Version="2.1.35" />
<PackageReference Include="MySqlConnector" Version="2.3.7" /> <PackageReference Include="MySqlConnector" Version="2.4.0-beta.2" />
<PackageReference Include="Newtonsoft.Json" Version="*" /> <PackageReference Include="Newtonsoft.Json" Version="*" />
</ItemGroup> </ItemGroup>

View File

@@ -15,7 +15,6 @@ using Microsoft.Extensions.Logging;
using Newtonsoft.Json; using Newtonsoft.Json;
using System.Globalization; using System.Globalization;
using System.Reflection; using System.Reflection;
using CounterStrikeSharp.API.Core.Attributes.Registration;
using MenuManager; using MenuManager;
namespace CS2_SimpleAdmin; namespace CS2_SimpleAdmin;

View File

@@ -224,6 +224,9 @@ public class OtherSettings
[JsonPropertyName("UserMessageGagChatType")] [JsonPropertyName("UserMessageGagChatType")]
public bool UserMessageGagChatType { get; set; } = false; public bool UserMessageGagChatType { get; set; } = false;
[JsonPropertyName("AdditionalCommandsToLog")]
public List<string> AdditionalCommandsToLog = new();
} }
public class CS2_SimpleAdminConfig : BasePluginConfig public class CS2_SimpleAdminConfig : BasePluginConfig

View File

@@ -9,6 +9,7 @@ using CS2_SimpleAdmin.Models;
using CS2_SimpleAdminApi; using CS2_SimpleAdminApi;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Text; using System.Text;
using CounterStrikeSharp.API.Core.Translations;
using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.UserMessages; using CounterStrikeSharp.API.Modules.UserMessages;
@@ -168,12 +169,15 @@ public partial class CS2_SimpleAdmin
if (author == null || !author.IsValid || author.IsBot) if (author == null || !author.IsValid || author.IsBot)
return HookResult.Continue; return HookResult.Continue;
if (PlayerPenaltyManager.IsPenalized(author.Slot, PenaltyType.Gag) || PlayerPenaltyManager.IsPenalized(author.Slot, PenaltyType.Silence)) if (!PlayerPenaltyManager.IsPenalized(author.Slot, PenaltyType.Gag, out DateTime? endDateTime) &&
!PlayerPenaltyManager.IsPenalized(author.Slot, PenaltyType.Silence, out endDateTime))
return HookResult.Continue;
if (_localizer != null && endDateTime is not null)
author.SendLocalizedMessage(_localizer, "sa_player_penalty_chat_active", endDateTime.Value.ToString("g", author.GetLanguage()));
return HookResult.Stop; return HookResult.Stop;
// um.Recipients.Clear(); // um.Recipients.Clear();
return HookResult.Continue;
} }
private HookResult ComamndListenerHandler(CCSPlayerController? player, CommandInfo info) private HookResult ComamndListenerHandler(CCSPlayerController? player, CommandInfo info)
@@ -183,6 +187,9 @@ public partial class CS2_SimpleAdmin
var command = info.GetArg(0).ToLower(); var command = info.GetArg(0).ToLower();
if (Config.OtherSettings.AdditionalCommandsToLog.Contains(command))
Helper.LogCommand(player, info);
switch (command) switch (command)
{ {
case "css_admins_reload": case "css_admins_reload":
@@ -210,8 +217,15 @@ public partial class CS2_SimpleAdmin
return HookResult.Continue; return HookResult.Continue;
if (!Config.OtherSettings.UserMessageGagChatType) if (!Config.OtherSettings.UserMessageGagChatType)
if (PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Gag) || PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Silence)) {
if (PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Gag, out DateTime? endDateTime) ||
PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Silence, out endDateTime))
{
if (_localizer != null && endDateTime is not null)
player.SendLocalizedMessage(_localizer, "sa_player_penalty_chat_active", endDateTime.Value.ToString("g", player.GetLanguage()));
return HookResult.Stop; return HookResult.Stop;
}
}
if (info.GetArg(1).StartsWith($"/") if (info.GetArg(1).StartsWith($"/")
|| info.GetArg(1).StartsWith($"!")) || info.GetArg(1).StartsWith($"!"))
@@ -221,9 +235,13 @@ public partial class CS2_SimpleAdmin
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(player, "@vip/chat"))
{ {
player.ExecuteClientCommandFromServer($"css_say {info.GetArg(1).Remove(0, 1)}"); sb.Append(_localizer!["sa_vipchat_template", 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, "@vip/chat")))
{
p.PrintToChat(sb.ToString());
}
return HookResult.Stop; return HookResult.Stop;
} }
@@ -281,8 +299,8 @@ public partial class CS2_SimpleAdmin
if (info.GetArg(1).Length == 0) if (info.GetArg(1).Length == 0)
return HookResult.Handled; return HookResult.Handled;
if (PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Gag) || PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Silence)) if (PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Gag, out _) || PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Silence, out _))
return HookResult.Handled; return HookResult.Stop;
if (!info.GetArg(1).StartsWith($"@")) return HookResult.Continue; if (!info.GetArg(1).StartsWith($"@")) return HookResult.Continue;
@@ -358,12 +376,18 @@ public partial class CS2_SimpleAdmin
SpeedPlayers.Remove(player.Slot); SpeedPlayers.Remove(player.Slot);
GravityPlayers.Remove(player); GravityPlayers.Remove(player);
PlayersInfo[player.UserId.Value].DiePosition = PlayersInfo[player.UserId.Value].DiePosition = new DiePosition(
new DiePosition( new Vector(
new Vector(player.PlayerPawn.Value?.AbsOrigin?.X, player.PlayerPawn.Value?.AbsOrigin?.Y, player.PlayerPawn.Value?.AbsOrigin?.X ?? 0,
player.PlayerPawn.Value?.AbsOrigin?.Z), player.PlayerPawn.Value?.AbsOrigin?.Y ?? 0,
new QAngle(player.PlayerPawn.Value?.AbsRotation?.X, player.PlayerPawn.Value?.AbsRotation?.Y, player.PlayerPawn.Value?.AbsOrigin?.Z ?? 0
player.PlayerPawn.Value?.AbsRotation?.Z)); ),
new QAngle(
player.PlayerPawn.Value?.AbsRotation?.X ?? 0,
player.PlayerPawn.Value?.AbsRotation?.Y ?? 0,
player.PlayerPawn.Value?.AbsRotation?.Z ?? 0
)
);
return HookResult.Continue; return HookResult.Continue;
} }

View File

@@ -306,9 +306,9 @@ public class PlayerManager
.Select(player => new .Select(player => new
{ {
Player = player, Player = player,
IsMuted = PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Mute), IsMuted = PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Mute, out _),
IsSilenced = PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Silence), IsSilenced = PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Silence, out _),
IsGagged = PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Gag) IsGagged = PlayerPenaltyManager.IsPenalized(player.Slot, PenaltyType.Gag, out _)
}); });
foreach (var entry in penalizedSlots) foreach (var entry in penalizedSlots)

View File

@@ -33,16 +33,20 @@ public static class PlayerPenaltyManager
}); });
} }
public static bool IsPenalized(int slot, PenaltyType penaltyType) public static bool IsPenalized(int slot, PenaltyType penaltyType, out DateTime? endDateTime)
{ {
//Console.WriteLine($"Checking penalties for player with slot {slot} and penalty type {penaltyType}"); endDateTime = null;
if (!Penalties.TryGetValue(slot, out var penaltyDict) || if (!Penalties.TryGetValue(slot, out var penaltyDict) ||
!penaltyDict.TryGetValue(penaltyType, out var penaltiesList)) return false; !penaltyDict.TryGetValue(penaltyType, out var penaltiesList)) return false;
//Console.WriteLine($"Found penalties for player with slot {slot} and penalty type {penaltyType}");
if (CS2_SimpleAdmin.Instance.Config.OtherSettings.TimeMode == 0) if (CS2_SimpleAdmin.Instance.Config.OtherSettings.TimeMode == 0)
return penaltiesList.Count != 0; {
if (penaltiesList.Count == 0) return false;
endDateTime = penaltiesList.First().EndDateTime;
return true;
}
var now = Time.ActualDateTime(); var now = Time.ActualDateTime();
@@ -52,28 +56,22 @@ public static class PlayerPenaltyManager
// Check if the penalty is still active // Check if the penalty is still active
if (penalty.Duration > 0 && now >= penalty.EndDateTime) if (penalty.Duration > 0 && now >= penalty.EndDateTime)
{ {
//Console.WriteLine($"Removing expired penalty for player with slot {slot} and penalty type {penaltyType}");
penaltiesList.Remove(penalty); // Remove expired penalty penaltiesList.Remove(penalty); // Remove expired penalty
if (penaltiesList.Count == 0) if (penaltiesList.Count == 0)
{ {
//Console.WriteLine($"No more penalties of type {penaltyType} for player with slot {slot}. Removing penalty type.");
penaltyDict.Remove(penaltyType); // Remove penalty type if no more penalties exist penaltyDict.Remove(penaltyType); // Remove penalty type if no more penalties exist
} }
} }
else if (penalty.Duration == 0 || now < penalty.EndDateTime) else if (penalty.Duration == 0 || now < penalty.EndDateTime)
{ {
//Console.WriteLine($"Player with slot {slot} is penalized for type {penaltyType}"); // Set endDateTime to the end time of this active penalty
// Return true if there's an active penalty endDateTime = penalty.EndDateTime;
return true; return true;
} }
} }
// Return false if no active penalties are found // Return false if no active penalties are found
//Console.WriteLine($"Player with slot {slot} is not penalized for type {penaltyType}");
return false; return false;
// Return false if no penalties of the specified type were found for the player
//Console.WriteLine($"No penalties found for player with slot {slot} and penalty type {penaltyType}");
} }
// Get the end datetime and duration of penalties for a player and penalty type // Get the end datetime and duration of penalties for a player and penalty type

View File

@@ -158,6 +158,8 @@ public static class ManagePlayersMenu
{ {
if (player is { IsValid: true }) if (player is { IsValid: true })
Ban(admin, player, duration, reason); Ban(admin, player, duration, reason);
CS2_SimpleAdmin.MenuApi?.CloseMenu(admin);
}); });
// var menu = AdminMenu.CreateMenu($"{CS2_SimpleAdmin._localizer?["sa_ban"] ?? "Ban"}: {player?.PlayerName}"); // var menu = AdminMenu.CreateMenu($"{CS2_SimpleAdmin._localizer?["sa_ban"] ?? "Ban"}: {player?.PlayerName}");

View File

@@ -1 +1 @@
1.6.7a 1.6.8a

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "التحذير مسجل", "sa_discord_penalty_warn": "التحذير مسجل",
"sa_discord_penalty_unknown": "غير معروف مسجل", "sa_discord_penalty_unknown": "غير معروف مسجل",
"sa_player_penalty_chat_active": "{lightred}تم حظر الدردشة الخاصة بك إلى: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ كتم [{lightred}❌{default}] - ينتهي [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ كتم [{lightred}❌{default}] - ينتهي [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ صمت [{lightred}❌{default}] - ينتهي [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ صمت [{lightred}❌{default}] - ينتهي [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ سكوت [{lightred}❌{default}] - ينتهي [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ سكوت [{lightred}❌{default}] - ينتهي [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}نتائج التصويت لـ {gold}{0}", "sa_admin_vote_message_results": "{lime}نتائج التصويت لـ {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}الإداري: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}الإداري: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(إداري) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(إداري) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(لاعب) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(لاعب) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** أصدر الأمر `{1}` على الخادم `HOSTNAME`", "sa_discord_log_command": "**{0}** أصدر الأمر `{1}` على الخادم `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Warnung registriert", "sa_discord_penalty_warn": "Warnung registriert",
"sa_discord_penalty_unknown": "Unbekanntes registriert", "sa_discord_penalty_unknown": "Unbekanntes registriert",
"sa_player_penalty_chat_active": "{lightred}Dein Chat ist blockiert für: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Stummschaltung [{lightred}❌{default}] - Ablauf [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Stummschaltung [{lightred}❌{default}] - Ablauf [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Mundtot [{lightred}❌{default}] - Ablauf [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Mundtot [{lightred}❌{default}] - Ablauf [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Stille [{lightred}❌{default}] - Ablauf [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Stille [{lightred}❌{default}] - Ablauf [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}ABSTIMMUNGSERGEBNISSE FÜR {gold}{0}", "sa_admin_vote_message_results": "{lime}ABSTIMMUNGSERGEBNISSE FÜR {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(SPIELER) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(SPIELER) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** hat den Befehl `{1}` auf dem Server `HOSTNAME` ausgeführt", "sa_discord_log_command": "**{0}** hat den Befehl `{1}` auf dem Server `HOSTNAME` ausgeführt",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Warn registered", "sa_discord_penalty_warn": "Warn registered",
"sa_discord_penalty_unknown": "Unknown registered", "sa_discord_penalty_unknown": "Unknown registered",
"sa_player_penalty_chat_active": "{lightred}Your chat is blocked to: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Mute [{lightred}❌{default}] - Expire [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Mute [{lightred}❌{default}] - Expire [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expire [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expire [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Silence [{lightred}❌{default}] - Expire [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Silence [{lightred}❌{default}] - Expire [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}VOTING RESULTS FOR {gold}{0}", "sa_admin_vote_message_results": "{lime}VOTING RESULTS FOR {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(PLAYER) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(PLAYER) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** issued command `{1}` on server `HOSTNAME`", "sa_discord_log_command": "**{0}** issued command `{1}` on server `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Advertencia registrada", "sa_discord_penalty_warn": "Advertencia registrada",
"sa_discord_penalty_unknown": "Registro desconocido", "sa_discord_penalty_unknown": "Registro desconocido",
"sa_player_penalty_chat_active": "{lightred}Tu chat está bloqueado para: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Silenciado [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Silenciado [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Boqueado [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Boqueado [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Silencio [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Silencio [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}RESULTADOS DE LA VOTACIÓN PARA {gold}{0}", "sa_admin_vote_message_results": "{lime}RESULTADOS DE LA VOTACIÓN PARA {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(JUGADOR) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(JUGADOR) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** ejecutó el comando `{1}` en el servidor `HOSTNAME`", "sa_discord_log_command": "**{0}** ejecutó el comando `{1}` en el servidor `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "هشدار ثبت شد", "sa_discord_penalty_warn": "هشدار ثبت شد",
"sa_discord_penalty_unknown": "ناشناخته انجام شده", "sa_discord_penalty_unknown": "ناشناخته انجام شده",
"sa_player_penalty_chat_active": "{lightred}چت شما برای: {grey}{0} مسدود شده است",
"sa_player_penalty_info_active_mute": "➔ بی‌صدا [{lightred}❌{default}] - منقضی شدن [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ بی‌صدا [{lightred}❌{default}] - منقضی شدن [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ مسدود کردن صدا [{lightred}❌{default}] - منقضی شدن [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ مسدود کردن صدا [{lightred}❌{default}] - منقضی شدن [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ سکوت [{lightred}❌{default}] - منقضی شدن [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ سکوت [{lightred}❌{default}] - منقضی شدن [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}نتایج رأی‌گیری برای {gold}{0}", "sa_admin_vote_message_results": "{lime}نتایج رأی‌گیری برای {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ادمین: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ادمین: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ادمین) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ادمین) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(بازیکن) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(بازیکن) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** فرمان `{1}` را در سرور `HOSTNAME` اجرا کرد", "sa_discord_log_command": "**{0}** فرمان `{1}` را در سرور `HOSTNAME` اجرا کرد",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Avertissement enregistré", "sa_discord_penalty_warn": "Avertissement enregistré",
"sa_discord_penalty_unknown": "Inconnu enregistré", "sa_discord_penalty_unknown": "Inconnu enregistré",
"sa_player_penalty_chat_active": "{lightred}Votre chat est bloqué pour : {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Muet [{lightred}❌{default}] - Expire [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Muet [{lightred}❌{default}] - Expire [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expire [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expire [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Silence [{lightred}❌{default}] - Expire [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Silence [{lightred}❌{default}] - Expire [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}RÉSULTATS DU VOTE POUR {gold}{0}", "sa_admin_vote_message_results": "{lime}RÉSULTATS DU VOTE POUR {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(JOUEUR) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(JOUEUR) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** a exécuté la commande `{1}` sur le serveur `HOSTNAME`", "sa_discord_log_command": "**{0}** a exécuté la commande `{1}` sur le serveur `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Brīdinājums reģistrēts", "sa_discord_penalty_warn": "Brīdinājums reģistrēts",
"sa_discord_penalty_unknown": "Nezināms reģistrēts", "sa_discord_penalty_unknown": "Nezināms reģistrēts",
"sa_player_penalty_chat_active": "{lightred}Jūsu čats ir bloķēts uz: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Izslēgts [{lightred}❌{default}] - Beidzas [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Izslēgts [{lightred}❌{default}] - Beidzas [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Klusums [{lightred}❌{default}] - Beidzas [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Klusums [{lightred}❌{default}] - Beidzas [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Klusēšana [{lightred}❌{default}] - Beidzas [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Klusēšana [{lightred}❌{default}] - Beidzas [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}BALSOŠANAS REZULTĀTI PAR {gold}{0}", "sa_admin_vote_message_results": "{lime}BALSOŠANAS REZULTĀTI PAR {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(SPĒLĒTĀJS) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(SPĒLĒTĀJS) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** izpildīja komandu `{1}` serverī `HOSTNAME`", "sa_discord_log_command": "**{0}** izpildīja komandu `{1}` serverī `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Nowe ostrzeżenie", "sa_discord_penalty_warn": "Nowe ostrzeżenie",
"sa_discord_penalty_unknown": "Nowa nieznana blokada", "sa_discord_penalty_unknown": "Nowa nieznana blokada",
"sa_player_penalty_chat_active": "{lightred}Twój czat jest zablokowany do: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Zakneblowanie [{lightred}❌{default}] - Wygasa [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Zakneblowanie [{lightred}❌{default}] - Wygasa [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Wyciszenie [{lightred}❌{default}] - Wygasa [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Wyciszenie [{lightred}❌{default}] - Wygasa [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Uciszenie [{lightred}❌{default}] - Wygasa [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Uciszenie [{lightred}❌{default}] - Wygasa [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}WYNIKI GŁOSOWANIA {gold}{0}", "sa_admin_vote_message_results": "{lime}WYNIKI GŁOSOWANIA {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}[{1}]", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}[{1}]",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(GRACZ) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(GRACZ) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** użył komendy `{1}` na serwerze `HOSTNAME`", "sa_discord_log_command": "**{0}** użył komendy `{1}` na serwerze `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Aviso registrado", "sa_discord_penalty_warn": "Aviso registrado",
"sa_discord_penalty_unknown": "Desconhecido registrado", "sa_discord_penalty_unknown": "Desconhecido registrado",
"sa_player_penalty_chat_active": "{lightred}Seu chat está bloqueado para: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Mudo [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Mudo [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Silêncio [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Silêncio [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}RESULTADOS DA VOTAÇÃO PARA {gold}{0}", "sa_admin_vote_message_results": "{lime}RESULTADOS DA VOTAÇÃO PARA {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(JOGADOR) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(JOGADOR) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** executou o comando `{1}` no servidor `HOSTNAME`", "sa_discord_log_command": "**{0}** executou o comando `{1}` no servidor `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Aviso registrado", "sa_discord_penalty_warn": "Aviso registrado",
"sa_discord_penalty_unknown": "Desconhecido registrado", "sa_discord_penalty_unknown": "Desconhecido registrado",
"sa_player_penalty_chat_active": "{lightred}O seu chat está bloqueado para: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Mudo [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Mudo [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Silêncio [{lightred}❌{default}] - Expira [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Silêncio [{lightred}❌{default}] - Expira [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}RESULTADOS DA VOTAÇÃO PARA {gold}{0}", "sa_admin_vote_message_results": "{lime}RESULTADOS DA VOTAÇÃO PARA {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(ADMIN) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(JOGADOR) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(JOGADOR) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** executou o comando `{1}` no servidor `HOSTNAME`", "sa_discord_log_command": "**{0}** executou o comando `{1}` no servidor `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Предупреждение зарегистрировано", "sa_discord_penalty_warn": "Предупреждение зарегистрировано",
"sa_discord_penalty_unknown": "Неизвестно зарегистрировано", "sa_discord_penalty_unknown": "Неизвестно зарегистрировано",
"sa_player_penalty_chat_active": "{lightred}Ваш чат заблокирован для: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Мут [{lightred}❌{default}] - Истекает [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Мут [{lightred}❌{default}] - Истекает [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Гэг [{lightred}❌{default}] - Истекает [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Гэг [{lightred}❌{default}] - Истекает [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Тишина [{lightred}❌{default}] - Истекает [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Тишина [{lightred}❌{default}] - Истекает [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}РЕЗУЛЬТАТЫ ГОЛОСОВАНИЯ ЗА {gold}{0}", "sa_admin_vote_message_results": "{lime}РЕЗУЛЬТАТЫ ГОЛОСОВАНИЯ ЗА {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}АДМИН: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}АДМИН: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(ВИП ЧАТ) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(АДМИН) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(АДМИН) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(ИГРОК) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(ИГРОК) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** выполнил команду `{1}` на сервере `HOSTNAME`", "sa_discord_log_command": "**{0}** выполнил команду `{1}` на сервере `HOSTNAME`",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "Uyarı kaydedildi", "sa_discord_penalty_warn": "Uyarı kaydedildi",
"sa_discord_penalty_unknown": "Bilinmeyen kaydedildi", "sa_discord_penalty_unknown": "Bilinmeyen kaydedildi",
"sa_player_penalty_chat_active": "{lightred}Sohbetiniz şu kişiye engellendi: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ Mute [{lightred}❌{default}] - Süre Dolacak [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ Mute [{lightred}❌{default}] - Süre Dolacak [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Süre Dolacak [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ Gag [{lightred}❌{default}] - Süre Dolacak [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ Sessizlik [{lightred}❌{default}] - Süre Dolacak [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ Sessizlik [{lightred}❌{default}] - Süre Dolacak [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}OY SONUÇLARI {gold}{0}", "sa_admin_vote_message_results": "{lime}OY SONUÇLARI {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}Yönetici: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}Yönetici: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(Yönetici) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(Yönetici) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(Oyuncu) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(Oyuncu) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** `{1}` komutunu `HOSTNAME` sunucusunda gerçekleştirdi", "sa_discord_log_command": "**{0}** `{1}` komutunu `HOSTNAME` sunucusunda gerçekleştirdi",

View File

@@ -64,6 +64,8 @@
"sa_discord_penalty_warn": "警告已注册", "sa_discord_penalty_warn": "警告已注册",
"sa_discord_penalty_unknown": "未知已记录", "sa_discord_penalty_unknown": "未知已记录",
"sa_player_penalty_chat_active": "{lightred}您的聊天已被封锁到: {grey}{0}",
"sa_player_penalty_info_active_mute": "➔ 静音 [{lightred}❌{default}] - 到期 [{lightred}{0}{default}]", "sa_player_penalty_info_active_mute": "➔ 静音 [{lightred}❌{default}] - 到期 [{lightred}{0}{default}]",
"sa_player_penalty_info_active_gag": "➔ 禁言 [{lightred}❌{default}] - 到期 [{lightred}{0}{default}]", "sa_player_penalty_info_active_gag": "➔ 禁言 [{lightred}❌{default}] - 到期 [{lightred}{0}{default}]",
"sa_player_penalty_info_active_silence": "➔ 沉默 [{lightred}❌{default}] - 到期 [{lightred}{0}{default}]", "sa_player_penalty_info_active_silence": "➔ 沉默 [{lightred}❌{default}] - 到期 [{lightred}{0}{default}]",
@@ -123,6 +125,7 @@
"sa_admin_vote_message_results": "{lime}投票结果 {gold}{0}", "sa_admin_vote_message_results": "{lime}投票结果 {gold}{0}",
"sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}", "sa_admin_vote_message_results_answer": "{lime}{0} {default}- {gold}{1}",
"sa_adminsay_prefix": "{RED}管理员: {lightred}{0}{default}", "sa_adminsay_prefix": "{RED}管理员: {lightred}{0}{default}",
"sa_vipchat_template": "{LIME}(VIP CHAT) {0}{default}: {1}",
"sa_adminchat_template_admin": "{LIME}(管理员) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_admin": "{LIME}(管理员) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(玩家) {lightred}{0}{default}: {lightred}{1}{default}", "sa_adminchat_template_player": "{SILVER}(玩家) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}** 在服务器 `HOSTNAME` 上发出了 `{1}` 命令", "sa_discord_log_command": "**{0}** 在服务器 `HOSTNAME` 上发出了 `{1}` 命令",

View File

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