Warns - first

-WarnManager
- css_warn
- Warn config
- Warn languages

~ Warn menu
~ Warn table
~ *css_unwarn
~ css_addwarn
This commit is contained in:
Dawid Bepierszcz
2024-08-11 22:54:54 +02:00
parent c4cb308147
commit 0674b7e492
19 changed files with 870 additions and 416 deletions

View File

@@ -120,10 +120,6 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
if (!string.IsNullOrEmpty(Config.Discord.DiscordLogWebhook))
DiscordWebhookClientLog = new DiscordWebhookClient(Config.Discord.DiscordLogWebhook);
/*
if (!string.IsNullOrEmpty(Config.Discord.DiscordPenaltyWebhook))
DiscordWebhookClientPenalty = new DiscordWebhookClient(Config.Discord.DiscordPenaltyWebhook);
*/
PluginInfo.ShowAd(ModuleVersion);
if (Config.EnableUpdateCheck)

View File

@@ -6,8 +6,8 @@ using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Commands;
using CounterStrikeSharp.API.Modules.Entities;
namespace CS2_SimpleAdmin
{
namespace CS2_SimpleAdmin;
public partial class CS2_SimpleAdmin
{
[ConsoleCommand("css_ban")]
@@ -137,9 +137,6 @@ namespace CS2_SimpleAdmin
if (UnlockedCommands)
Server.ExecuteCommand($"banid 2 {new SteamID(player.SteamID).SteamId3}");
if (command != null)
Helper.LogCommand(caller, command);
Helper.LogCommand(caller, $"css_ban {(string.IsNullOrEmpty(player.PlayerName) ? player.SteamID.ToString() : player.PlayerName)} {time} {reason}");
Helper.SendDiscordPenaltyMessage(caller, player, reason, time, Helper.PenaltyType.Ban, _localizer);
}
@@ -421,5 +418,273 @@ namespace CS2_SimpleAdmin
command.ReplyToCommand($"Unbanned player with pattern {pattern}.");
}
[ConsoleCommand("css_warn")]
[RequiresPermissions("@css/kick")]
[CommandHelper(minArgs: 1, usage: "<#userid or name> [time in minutes/0 perm] [reason]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
public void OnWarnCommand(CCSPlayerController? caller, CommandInfo command)
{
var callerName = caller == null ? "Console" : caller.PlayerName;
if (command.ArgCount < 2)
return;
var reason = _localizer?["sa_unknown"] ?? "Unknown";
var targets = GetTarget(command);
if (targets == null) return;
var playersToTarget = targets.Players.Where(player => player.IsValid && player.Connected == PlayerConnectedState.PlayerConnected && !player.IsHLTV).ToList();
if (playersToTarget.Count > 1 && Config.DisableDangerousCommands || playersToTarget.Count == 0)
{
return;
}
Database.Database database = new(_dbConnectionString);
WarnManager warnManager = new(database);
int.TryParse(command.GetArg(2), out var time);
if (command.ArgCount >= 3 && command.GetArg(3).Length > 0)
reason = command.GetArg(3);
playersToTarget.ForEach(player =>
{
if (caller!.CanTarget(player))
{
Warn(caller, player, time, reason, callerName, warnManager, command);
}
});
}
internal void Warn(CCSPlayerController? caller, CCSPlayerController? player, int time, string reason, string? callerName = null, WarnManager? warnManager = null, CommandInfo? command = null)
{
if (_database == null || player is null || !player.IsValid) return;
if (!caller.CanTarget(player)) return;
/*
if (CheckValidBan(caller, time) == false)
return;
*/
callerName ??= caller == null ? "Console" : caller.PlayerName;
if (player.PawnIsAlive)
{
player.Pawn.Value?.Freeze();
AddTimer(5.0f, () =>
{
player.Pawn.Value?.Unfreeze();
});
}
PlayerInfo playerInfo = new()
{
SteamId = player.SteamID.ToString(),
UserId = player.UserId,
Name = player.PlayerName,
IpAddress = player.IpAddress?.Split(":")[0]
};
PlayerInfo adminInfo = new()
{
SteamId = caller?.SteamID.ToString(),
Name = caller?.PlayerName,
IpAddress = caller?.IpAddress?.Split(":")[0]
};
Task.Run(async () =>
{
warnManager ??= new WarnManager(_database);
await warnManager.WarnPlayer(playerInfo, adminInfo, reason, time);
});
if (time == 0)
{
if (player is { IsBot: false })
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_warn_message_perm", reason, caller == null ? "Console" : caller.PlayerName]);
}
if (caller == null || !SilentPlayers.Contains(caller.Slot))
{
foreach (var controller in Helper.GetValidPlayers().Where(controller => controller is { IsValid: true, IsBot: false }))
{
if (_localizer != null)
controller.SendLocalizedMessage(_localizer,
"sa_admin_warn_message_perm",
callerName,
player.PlayerName ?? string.Empty,
reason);
}
}
}
else
{
if (!player.IsBot)
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_warn_message_time", reason, time, caller == null ? "Console" : caller.PlayerName]);
}
if (caller == null || !SilentPlayers.Contains(caller.Slot))
{
foreach (var controller in Helper.GetValidPlayers().Where(controller => controller is { IsValid: true, IsBot: false }))
{
if (_localizer != null)
controller.SendLocalizedMessage(_localizer,
"sa_admin_warn_message_time",
callerName,
player.PlayerName ?? string.Empty,
reason,
time);
}
}
}
Task.Run(async () =>
{
if (warnManager == null) return;
var totalWarns = await warnManager.GetPlayerWarnsCount(player.SteamID.ToString());
if (Config.WarnThreshold.Count != 0)
{
var punishCommand = string.Empty;
var lastKey = Config.WarnThreshold.Keys.MaxBy(key => key);
if (totalWarns >= lastKey)
punishCommand = Config.WarnThreshold[lastKey];
else if (Config.WarnThreshold.TryGetValue(totalWarns, out var value))
punishCommand = value;
if (!string.IsNullOrEmpty(punishCommand))
{
await Server.NextFrameAsync(() =>
{
Server.PrintToChatAll(totalWarns.ToString());
Server.ExecuteCommand(punishCommand.Replace("USERID", playerInfo.UserId?.ToString()).Replace("STEAMID64", playerInfo.SteamId));
});
}
}
});
Helper.LogCommand(caller, $"css_warn {(string.IsNullOrEmpty(player.PlayerName) ? player.SteamID.ToString() : player.PlayerName)} {time} {reason}");
Helper.SendDiscordPenaltyMessage(caller, player, reason, time, Helper.PenaltyType.Warn, _localizer);
}
/*[ConsoleCommand("css_addwarn")]
[RequiresPermissions("@css/ban")]
[CommandHelper(minArgs: 1, usage: "<steamid> [time in minutes/0 perm] [reason]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
public void OnAddWarnCommand(CCSPlayerController? caller, CommandInfo command)
{
if (_database == null) return;
var callerName = caller == null ? "Console" : caller.PlayerName;
if (command.ArgCount < 2)
return;
if (string.IsNullOrEmpty(command.GetArg(1))) return;
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);
if (CheckValidBan(caller, time) == false)
return;
if (command.ArgCount >= 3 && command.GetArg(3).Length > 0)
reason = command.GetArg(3);
var adminInfo = new PlayerInfo
{
SteamId = caller?.SteamID.ToString(),
Name = caller?.PlayerName,
IpAddress = caller?.IpAddress?.Split(":")[0]
};
var matches = Helper.GetPlayerFromSteamid64(steamid);
if (matches.Count == 1)
{
var player = matches.FirstOrDefault();
if (player != null && player.IsValid)
{
if (!caller!.CanTarget(player))
{
command.ReplyToCommand($"{player.PlayerName} is more powerful than you!");
return;
}
player.Pawn.Value!.Freeze();
if (player.UserId.HasValue)
AddTimer(Config.KickTime, () => Helper.KickPlayer(player.UserId.Value), CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
if (time == 0)
{
if (!player.IsBot && !player.IsHLTV)
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_ban_message_perm", reason, caller == null ? "Console" : caller.PlayerName]);
}
if (caller == null || !SilentPlayers.Contains(caller.Slot))
{
foreach (var controller in Helper.GetValidPlayers().Where(controller => controller is { IsValid: true, IsBot: false }))
{
if (_localizer != null)
controller.SendLocalizedMessage(_localizer,
"sa_admin_ban_message_perm",
callerName,
player.PlayerName ?? string.Empty,
reason);
}
}
}
else
{
if (player is { IsBot: false, IsHLTV: false })
using (new WithTemporaryCulture(player.GetLanguage()))
{
player.PrintToCenter(_localizer!["sa_player_ban_message_time", reason, time, caller == null ? "Console" : caller.PlayerName]);
}
if (caller == null || !SilentPlayers.Contains(caller.Slot))
{
foreach (var controller in Helper.GetValidPlayers().Where(controller => controller is { IsValid: true, IsBot: false }))
{
if (_localizer != null)
controller.SendLocalizedMessage(_localizer,
"sa_admin_ban_message_time",
callerName,
player.PlayerName ?? string.Empty,
reason,
time);
}
}
}
}
Helper.SendDiscordPenaltyMessage(caller, player, reason, time, Helper.PenaltyType.Ban, _localizer);
}
Task.Run(async () =>
{
BanManager banManager = new(_database, Config);
await banManager.AddBanBySteamid(steamid, adminInfo, reason, time);
});
Helper.LogCommand(caller, command);
//Helper.SendDiscordPenaltyMessage(caller, player, reason, time, Helper.PenaltyType.Ban, _discordWebhookClientPenalty, _localizer);
if (UnlockedCommands)
Server.ExecuteCommand($"banid 2 {steamId.SteamId3}");
command.ReplyToCommand($"Banned player with steamid {steamid}.");
}*/
}

View File

@@ -74,6 +74,16 @@ namespace CS2_SimpleAdmin
new DiscordPenaltySetting { Name = "ImageUrl", Value = "" },
new DiscordPenaltySetting { Name = "Footer", Value = "" },
];
[JsonPropertyName("DiscordPenaltyWarnSettings")]
public DiscordPenaltySetting[] DiscordPenaltyWarnSettings { get; set; } =
[
new DiscordPenaltySetting { Name = "Color", Value = "" },
new DiscordPenaltySetting { Name = "Webhook", Value = "" },
new DiscordPenaltySetting { Name = "ThumbnailUrl", Value = "" },
new DiscordPenaltySetting { Name = "ImageUrl", Value = "" },
new DiscordPenaltySetting { Name = "Footer", Value = "" },
];
}
public class CustomServerCommandData
@@ -157,7 +167,7 @@ namespace CS2_SimpleAdmin
public class CS2_SimpleAdminConfig : BasePluginConfig
{
[JsonPropertyName("ConfigVersion")] public override int Version { get; set; } = 17;
[JsonPropertyName("ConfigVersion")] public override int Version { get; set; } = 18;
[JsonPropertyName("DatabaseHost")]
public string DatabaseHost { get; set; } = "";
@@ -189,6 +199,15 @@ namespace CS2_SimpleAdmin
[JsonPropertyName("KickTime")]
public int KickTime { get; set; } = 5;
[JsonPropertyName("WarnThreshold")]
public Dictionary<int, string> WarnThreshold { get; set; } = new()
{
{ 1, "" },
{ 2, "" },
{ 3, "" },
{ 4, "css_ban USERID 120 \"4/4 Warn\"" },
};
[JsonPropertyName("DisableDangerousCommands")]
public bool DisableDangerousCommands { get; set; } = true;
@@ -200,6 +219,7 @@ namespace CS2_SimpleAdmin
[JsonPropertyName("MaxBanDuration")]
public int MaxBanDuration { get; set; } = 60 * 24 * 7;
[JsonPropertyName("MultiServerMode")]
public bool MultiServerMode { get; set; } = true;

View File

@@ -229,7 +229,7 @@ public partial class CS2_SimpleAdmin
// Kick the player if banned
await Server.NextFrameAsync(() =>
{
var victim = Utilities.GetPlayerFromUserid(playerInfo.UserId);
var victim = Utilities.GetPlayerFromUserid(playerInfo.UserId.Value);
if (victim?.UserId != null)
{
@@ -411,8 +411,11 @@ public partial class CS2_SimpleAdmin
PermissionManager adminManager = new(_database);
BanManager banManager = new(_database, Config);
MuteManager muteManager = new(_database);
WarnManager warnManager = new(_database);
await muteManager.ExpireOldMutes();
await banManager.ExpireOldBans();
await warnManager.ExpireOldWarns();
await adminManager.DeleteOldAdmins();
BannedPlayers.Clear();
@@ -435,7 +438,6 @@ public partial class CS2_SimpleAdmin
}
}
await muteManager.ExpireOldMutes();
await Server.NextFrameAsync(() =>
{

View File

@@ -254,6 +254,7 @@ namespace CS2_SimpleAdmin
Mute,
Gag,
Silence,
Warn
}
private static string ConvertMinutesToTime(int minutes)
@@ -273,6 +274,7 @@ namespace CS2_SimpleAdmin
PenaltyType.Mute => CS2_SimpleAdmin.Instance.Config.Discord.DiscordPenaltyMuteSettings,
PenaltyType.Gag => CS2_SimpleAdmin.Instance.Config.Discord.DiscordPenaltyGagSettings,
PenaltyType.Silence => CS2_SimpleAdmin.Instance.Config.Discord.DiscordPenaltySilenceSettings,
PenaltyType.Warn => CS2_SimpleAdmin.Instance.Config.Discord.DiscordPenaltyWarnSettings,
_ => throw new ArgumentOutOfRangeException(nameof(penalty), penalty, null)
};
@@ -286,8 +288,8 @@ namespace CS2_SimpleAdmin
var targetName = target != null ? target.PlayerName : localizer["sa_unknown"];
var targetSteamId = target != null ? new SteamID(target.SteamID).SteamId64.ToString() : localizer["sa_unknown"];
DateTime futureTime = DateTime.Now.AddMinutes(duration);
long futureUnixTimestamp = new DateTimeOffset(futureTime).ToUnixTimeSeconds();
var futureTime = DateTime.Now.AddMinutes(duration);
var futureUnixTimestamp = new DateTimeOffset(futureTime).ToUnixTimeSeconds();
//var time = duration != 0 ? ConvertMinutesToTime(duration) : localizer["sa_permanent"];
var time = duration != 0 ? $"<t:{futureUnixTimestamp}:R>": localizer["sa_permanent"];
@@ -319,6 +321,7 @@ namespace CS2_SimpleAdmin
PenaltyType.Mute => localizer["sa_discord_penalty_mute"],
PenaltyType.Gag => localizer["sa_discord_penalty_gag"],
PenaltyType.Silence => localizer["sa_discord_penalty_silence"],
PenaltyType.Warn => localizer["sa_discord_penalty_warn"],
_ => throw new ArgumentOutOfRangeException(nameof(penalty), penalty, null)
},
ThumbnailUrl = penaltySetting.FirstOrDefault(s => s.Name.Equals("ThumbnailUrl"))?.Value,
@@ -357,13 +360,13 @@ namespace CS2_SimpleAdmin
public static string GetServerIp()
{
var network_system = NativeAPI.GetValveInterface(0, "NetworkSystemVersion001");
var networkSystem = NativeAPI.GetValveInterface(0, "NetworkSystemVersion001");
unsafe
{
if (_networkSystemUpdatePublicIp == null)
{
var funcPtr = *(nint*)(*(nint*)(network_system) + 256);
var funcPtr = *(nint*)(*(nint*)(networkSystem) + 256);
_networkSystemUpdatePublicIp = Marshal.GetDelegateForFunctionPointer<CNetworkSystem_UpdatePublicIp>(funcPtr);
}
/*
@@ -375,7 +378,7 @@ namespace CS2_SimpleAdmin
}
*/
// + 4 to skip type, because the size of uint32_t is 4 bytes
var ipBytes = (byte*)(_networkSystemUpdatePublicIp(network_system) + 4);
var ipBytes = (byte*)(_networkSystemUpdatePublicIp(networkSystem) + 4);
// port is always 0, use the one from convar "hostport"
return $"{ipBytes[0]}.{ipBytes[1]}.{ipBytes[2]}.{ipBytes[3]}";
}

107
Managers/WarnManager.cs Normal file
View File

@@ -0,0 +1,107 @@
using Dapper;
using Microsoft.Extensions.Logging;
namespace CS2_SimpleAdmin;
internal class WarnManager(Database.Database database)
{
public async Task WarnPlayer(PlayerInfo player, PlayerInfo issuer, string reason, int time = 0)
{
if (player.SteamId == null) return;
var now = DateTime.UtcNow.ToLocalTime();
var futureTime = now.AddMinutes(time);
try
{
await using var connection = await database.GetConnectionAsync();
const string sql =
"INSERT INTO `sa_warns` (`player_steamid`, `player_name`, `admin_steamid`, `admin_name`, `reason`, `duration`, `ends`, `created`, `server_id`) " +
"VALUES (@playerSteamid, @playerName, @adminSteamid, @adminName, @muteReason, @duration, @ends, @created, @serverid)";
await connection.ExecuteAsync(sql, new
{
playerSteamid = player.SteamId,
playerName = player.Name,
adminSteamid = issuer.SteamId ?? "Console",
adminName = issuer.SteamId == null ? "Console" : issuer.Name,
muteReason = reason,
duration = time,
ends = futureTime,
created = now,
serverid = CS2_SimpleAdmin.ServerId
});
}
catch { };
}
public async Task AddWarnBySteamid(string playerSteamId, PlayerInfo issuer, string reason, int time = 0)
{
if (string.IsNullOrEmpty(playerSteamId)) return;
var now = DateTime.UtcNow.ToLocalTime();
var futureTime = now.AddMinutes(time);
try
{
await using var connection = await database.GetConnectionAsync();
const string sql = "INSERT INTO `sa_warns` (`player_steamid`, `admin_steamid`, `admin_name`, `reason`, `duration`, `ends`, `created`, `server_id`) " +
"VALUES (@playerSteamid, @adminSteamid, @adminName, @muteReason, @duration, @ends, @created, @serverid)";
await connection.ExecuteAsync(sql, new
{
playerSteamid = playerSteamId,
adminSteamid = issuer.SteamId ?? "Console",
adminName = issuer.Name ?? "Console",
muteReason = reason,
duration = time,
ends = futureTime,
created = now,
serverid = CS2_SimpleAdmin.ServerId
});
}
catch { };
}
public async Task<int> GetPlayerWarnsCount(string steamId, bool active = true)
{
try
{
await using var connection = await database.GetConnectionAsync();
var sql = CS2_SimpleAdmin.Instance.Config.MultiServerMode
? active
? "SELECT COUNT(*) FROM sa_warns WHERE player_steamid = @PlayerSteamID AND status = 'ACTIVE'"
: "SELECT COUNT(*) FROM sa_warns WHERE player_steamid = @PlayerSteamID"
: active
? "SELECT COUNT(*) FROM sa_warns WHERE player_steamid = @PlayerSteamID AND server_id = @serverid AND status = 'ACTIVE'"
: "SELECT COUNT(*) FROM sa_warns WHERE player_steamid = @PlayerSteamID'";
var muteCount = await connection.ExecuteScalarAsync<int>(sql, new { PlayerSteamID = steamId, serverid = CS2_SimpleAdmin.ServerId });
return muteCount;
}
catch (Exception)
{
return 0;
}
}
public async Task ExpireOldWarns()
{
try
{
await using var connection = await database.GetConnectionAsync();
var sql = CS2_SimpleAdmin.Instance.Config.MultiServerMode
? "UPDATE sa_warns SET status = 'EXPIRED' WHERE status = 'ACTIVE' AND `duration` > 0 AND ends <= @CurrentTime"
: "UPDATE sa_warns SET status = 'EXPIRED' WHERE status = 'ACTIVE' AND `duration` > 0 AND ends <= @CurrentTime AND server_id = @serverid";
await connection.ExecuteAsync(sql, new { CurrentTime = DateTime.UtcNow.ToLocalTime(), serverid = CS2_SimpleAdmin.ServerId });
}
catch (Exception ex)
{
CS2_SimpleAdmin._logger?.LogCritical($"Unable to remove expired warns + {ex}");
}
}
}

View File

@@ -2,7 +2,7 @@
{
public class PlayerInfo
{
public int UserId { get; init; }
public int? UserId { get; init; }
public int Slot { get; init; }
public string? SteamId { get; init; }
public string? Name { get; init; }

View File

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "الكتم مسجل",
"sa_discord_penalty_gag": "الصمت مسجل",
"sa_discord_penalty_silence": "الصمت مسجل",
"sa_discord_warn_silence": "التحذير مسجل",
"sa_discord_penalty_unknown": "غير معروف مسجل",
"sa_player_ban_message_time": "تم حظرك لمدة {lightred}{0}{default} لمدة {lightred}{1}{default} دقيقة من قبل {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "تم كتم صوتك بشكل دائم لمدة {lightred}{0}{default} من قبل {lightred}{1}{default}!",
"sa_player_silence_message_time": "تم إسكاتك لمدة {lightred}{0}{default} لمدة {lightred}{1}{default} دقيقة من قبل {lightred}{2}{default}!",
"sa_player_silence_message_perm": "تم إسكاتك بشكل دائم لمدة {lightred}{0}{default} من قبل {lightred}{1}{default}!",
"sa_player_warn_message_time": "لقد تم تحذيرك بسبب {lightred}{0}{default} لمدة {lightred}{1}{default} دقيقة بواسطة {lightred}{2}{default}!",
"sa_player_warn_message_perm": "لقد تم تحذيرك بشكل دائم بسبب {lightred}{0}{default} بواسطة {lightred}{1}{default}!",
"sa_admin_ban_message_time": "المسؤول {lightred}{0}{default} حظر {lightred}{1}{default} لمدة {lightred}{2}{default} لمدة {lightred}{3}{default} دقيقة!",
"sa_admin_ban_message_perm": "المسؤول {lightred}{0}{default} حظر {lightred}{1}{default} بشكل دائم لمدة {lightred}{2}{default}!",
"sa_admin_kick_message": "المسؤول {lightred}{0}{default} طرد {lightred}{1}{default} لمدة {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "المسؤول {lightred}{0}{default} قام بكتم صوت {lightred}{1}{default} بشكل دائم لمدة {lightred}{2}{default}!",
"sa_admin_silence_message_time": "المسؤول {lightred}{0}{default} قام بإسكات {lightred}{1}{default} لمدة {lightred}{2}{default} لمدة {lightred}{3}{default} دقيقة!",
"sa_admin_silence_message_perm": "المسؤول {lightred}{0}{default} قام بإسكات {lightred}{1}{default} بشكل دائم لمدة {lightred}{2}{default}!",
"sa_admin_warn_message_time": "الإداري {lightred}{0}{default} حذر {lightred}{1}{default} بسبب {lightred}{2}{default} لمدة {lightred}{3}{default} دقيقة!",
"sa_admin_warn_message_perm": "الإداري {lightred}{0}{default} حذر {lightred}{1}{default} بشكل دائم بسبب {lightred}{2}{default}!",
"sa_admin_give_message": "المسؤول {lightred}{0}{default} قام بإعطاء {lightred}{1}{default} {lightred}{2}{default}!",
"sa_admin_strip_message": "المسؤول {lightred}{0}{default} قام بسحب كل أسلحة {lightred}{1}{default}!",
"sa_admin_hp_message": "المسؤول {lightred}{0}{default} قام بتغيير كمية نقاط الصحة لـ {lightred}{1}{default}!",
@@ -102,5 +107,5 @@
"sa_adminchat_template_admin": "{LIME}(مسؤول) {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

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Chat-Stummschaltung registriert",
"sa_discord_penalty_gag": "Sprachchat-Stummschaltung registriert",
"sa_discord_penalty_silence": "Komplett-Stummschaltung registriert",
"sa_discord_penalty_warn": "Warnung registriert",
"sa_discord_penalty_unknown": "Unbekanntes registriert",
"sa_player_ban_message_time": "Du wurdest wegen {lightred}{0}{default} für {lightred}{1}{default} Minuten von {lightred}{2}{default} gebannt!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Du wurdest wegen {lightred}{0}{default} von {lightred}{1}{default} permanent im Sprachchat stummgeschaltet!",
"sa_player_silence_message_time": "Du wurdest wegen {lightred}{0}{default} für {lightred}{1}{default} Minuten von {lightred}{2}{default} vollständig stummgeschaltet!",
"sa_player_silence_message_perm": "Du wurdest wegen {lightred}{0}{default} von {lightred}{1}{default} permanent vollständig stummgeschaltet!",
"sa_player_warn_message_time": "Du wurdest wegen {lightred}{0}{default} für {lightred}{1}{default} Minuten von {lightred}{2}{default} gewarnt!",
"sa_player_warn_message_perm": "Du wurdest dauerhaft wegen {lightred}{0}{default} von {lightred}{1}{default} gewarnt!",
"sa_admin_ban_message_time": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} für {lightred}{3}{default} Minuten gebannt!",
"sa_admin_ban_message_perm": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} permanent gebannt!",
"sa_admin_kick_message": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} gekickt!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} permanent im Sprachchat stummgeschaltet!",
"sa_admin_silence_message_time": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} für {lightred}{3}{default} Minuten vollständig stummgeschaltet!",
"sa_admin_silence_message_perm": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} permanent vollständig stummgeschaltet!",
"sa_admin_warn_message_time": "Admin {lightred}{0}{default} hat {lightred}{1}{default} wegen {lightred}{2}{default} für {lightred}{3}{default} Minuten gewarnt!",
"sa_admin_warn_message_perm": "Admin {lightred}{0}{default} hat {lightred}{1}{default} dauerhaft wegen {lightred}{2}{default} gewarnt!",
"sa_admin_give_message": "Admin {lightred}{0}{default} hat {lightred}{1}{default} eine {lightred}{2}{default} gegeben!",
"sa_admin_strip_message": "Admin {lightred}{0}{default} hat {lightred}{1}{default} alle Waffen abgenommen!",
"sa_admin_hp_message": "Admin {lightred}{0}{default} hat {lightred}{1}{default} Lp geändert{default}!",
@@ -101,5 +106,6 @@
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{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_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

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Mute registered",
"sa_discord_penalty_gag": "Gag registered",
"sa_discord_penalty_silence": "Silence registered",
"sa_discord_warn_silence": "Warn registered",
"sa_discord_penalty_unknown": "Unknown registered",
"sa_player_ban_message_time": "You have been banned for {lightred}{0}{default} for {lightred}{1}{default} minutes by {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "You have been muted permanently for {lightred}{0}{default} by {lightred}{1}{default}!",
"sa_player_silence_message_time": "You have been silenced for {lightred}{0}{default} for {lightred}{1}{default} minutes by {lightred}{2}{default}!",
"sa_player_silence_message_perm": "You have been silenced permanently for {lightred}{0}{default} by {lightred}{1}{default}!",
"sa_player_warn_message_time": "You have been warned for {lightred}{0}{default} for {lightred}{1}{default} minutes by {lightred}{2}{default}!",
"sa_player_warn_message_perm": "You have been warned permanently for {lightred}{0}{default} by {lightred}{1}{default}!",
"sa_admin_ban_message_time": "Admin {lightred}{0}{default} banned {lightred}{1}{default} for {lightred}{2}{default} for {lightred}{3}{default} minutes!",
"sa_admin_ban_message_perm": "Admin {lightred}{0}{default} banned {lightred}{1}{default} permanently for {lightred}{2}{default}!",
"sa_admin_kick_message": "Admin {lightred}{0}{default} kicked {lightred}{1}{default} for {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} muted {lightred}{1}{default} permanently for {lightred}{2}{default}!",
"sa_admin_silence_message_time": "Admin {lightred}{0}{default} silenced {lightred}{1}{default} for {lightred}{2}{default} for {lightred}{3}{default} minutes!",
"sa_admin_silence_message_perm": "Admin {lightred}{0}{default} silenced {lightred}{1}{default} permanently for {lightred}{2}{default}!",
"sa_admin_warn_message_time": "Admin {lightred}{0}{default} warned {lightred}{1}{default} for {lightred}{2}{default} for {lightred}{3}{default} minutes!",
"sa_admin_warn_message_perm": "Admin {lightred}{0}{default} warned {lightred}{1}{default} permanently for {lightred}{2}{default}!",
"sa_admin_give_message": "Admin {lightred}{0}{default} gave {lightred}{1}{default} a {lightred}{2}{default}!",
"sa_admin_strip_message": "Admin {lightred}{0}{default} took all of player {lightred}{1}{default} weapons!",
"sa_admin_hp_message": "Admin {lightred}{0}{default} changed {lightred}{1}{default} hp amount{default}!",
@@ -101,5 +106,5 @@
"sa_adminsay_prefix": "{RED}ADMIN: {lightred}{0}{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_discord_log_command": "**{0}** issued command `{1}` on server `HOSTNAME`",
"sa_discord_log_command": "**{0}** issued command `{1}` on server `HOSTNAME`"
}

View File

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Silencio registrado",
"sa_discord_penalty_gag": "Mordaza registrada",
"sa_discord_penalty_silence": "Silencio registrado",
"sa_discord_penalty_warn": "Advertencia registrada",
"sa_discord_penalty_unknown": "Registro desconocido",
"sa_player_ban_message_time": "Has sido baneado por {lightred}{0}{default} durante {lightred}{1}{default} minutos por {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Has sido muteado permanentemente por {lightred}{0}{default} por {lightred}{1}{default}!",
"sa_player_silence_message_time": "Has sido silenciado por {lightred}{0}{default} durante {lightred}{1}{default} minutos por {lightred}{2}{default}!",
"sa_player_silence_message_perm": "Has sido silenciado permanentemente por {lightred}{0}{default} por {lightred}{1}{default}!",
"sa_player_warn_message_time": "¡Has sido advertido por {lightred}{0}{default} durante {lightred}{1}{default} minutos por {lightred}{2}{default}!",
"sa_player_warn_message_perm": "¡Has sido advertido permanentemente por {lightred}{0}{default} por {lightred}{1}{default}!",
"sa_admin_ban_message_time": "El administrador {lightred}{0}{default} ha baneado a {lightred}{1}{default} por {lightred}{2}{default} durante {lightred}{3}{default} minutos!",
"sa_admin_ban_message_perm": "El administrador {lightred}{0}{default} ha baneado permanentemente a {lightred}{1}{default} por {lightred}{2}{default}!",
"sa_admin_kick_message": "El administrador {lightred}{0}{default} ha expulsado a {lightred}{1}{default} por {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "El administrador {lightred}{0}{default} ha muteado permanentemente a {lightred}{1}{default} por {lightred}{2}{default}!",
"sa_admin_silence_message_time": "El administrador {lightred}{0}{default} ha silenciado a {lightred}{1}{default} por {lightred}{2}{default} durante {lightred}{3}{default} minutos!",
"sa_admin_silence_message_perm": "El administrador {lightred}{0}{default} ha silenciado permanentemente a {lightred}{1}{default} por {lightred}{2}{default}!",
"sa_admin_warn_message_time": "¡El administrador {lightred}{0}{default} advirtió a {lightred}{1}{default} por {lightred}{2}{default} durante {lightred}{3}{default} minutos!",
"sa_admin_warn_message_perm": "¡El administrador {lightred}{0}{default} advirtió a {lightred}{1}{default} permanentemente por {lightred}{2}{default}!",
"sa_admin_give_message": "El administrador {lightred}{0}{default} ha dado a {lightred}{1}{default} un {lightred}{2}{default}!",
"sa_admin_strip_message": "El administrador {lightred}{0}{default} ha quitado todas las armas de {lightred}{1}{default}!",
"sa_admin_hp_message": "El administrador {lightred}{0}{default} ha cambiado la cantidad de puntos de vida de {lightred}{1}{default}!",
@@ -102,5 +107,5 @@
"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_discord_log_command": "**{0}** emitió el comando `{1}` en el servidor `HOSTNAME`",
"sa_discord_log_command": "**{0}** emitió el comando `{1}` en el servidor `HOSTNAME`"
}

View File

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "سکوت انجام شده",
"sa_discord_penalty_gag": "بند زدن انجام شده",
"sa_discord_penalty_silence": "سکوت انجام شده",
"sa_discord_penalty_warn": "هشدار ثبت شد",
"sa_discord_penalty_unknown": "ناشناخته انجام شده",
"sa_player_ban_message_time": "شما توسط {lightred}{2}{default} برای {lightred}{1}{default} دقیقه به دلیل {lightred}{0}{default} مسدود شده‌اید!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "شما توسط {lightred}{1}{default} به دلیل {lightred}{0}{default} برای همیشه بی‌صدا شده‌اید!",
"sa_player_silence_message_time": "شما توسط {lightred}{2}{default} برای {lightred}{1}{default} دقیقه به دلیل {lightred}{0}{default} ساکت شده‌اید!",
"sa_player_silence_message_perm": "شما توسط {lightred}{1}{default} به دلیل {lightred}{0}{default} برای همیشه ساکت شده‌اید!",
"sa_player_warn_message_time": "شما به خاطر {lightred}{0}{default} به مدت {lightred}{1}{default} دقیقه توسط {lightred}{2}{default} هشدار داده شده\u200Cاید!",
"sa_player_warn_message_perm": "شما به طور دائم به خاطر {lightred}{0}{default} توسط {lightred}{1}{default} هشدار داده شده\u200Cاید!",
"sa_admin_ban_message_time": "مدیر {lightred}{0}{default} {lightred}{3}{default} توسط {lightred}{2}{default} برای {lightred}{1}{default} دقیقه برای {lightred}{3}{default} مسدود کرد!",
"sa_admin_ban_message_perm": "مدیر {lightred}{0}{default} {lightred}{2}{default} را به دلیل {lightred}{1}{default} برای همیشه مسدود کرد!",
"sa_admin_kick_message": "مدیر {lightred}{0}{default} {lightred}{1}{default} را به دلیل {lightred}{2}{default} اخراج کرد!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "مدیر {lightred}{0}{default} {lightred}{1}{default} را به دلیل {lightred}{2}{default} برای همیشه بی‌صدا کرد!",
"sa_admin_silence_message_time": "مدیر {lightred}{0}{default} {lightred}{1}{default} را برای {lightred}{3}{default} دقیقه به دلیل {lightred}{2}{default} ساکت کرد!",
"sa_admin_silence_message_perm": "مدیر {lightred}{0}{default} {lightred}{1}{default} را به دلیل {lightred}{2}{default} برای همیشه ساکت کرد!",
"sa_admin_warn_message_time": "مدیر {lightred}{0}{default} به دلیل {lightred}{2}{default} به مدت {lightred}{3}{default} دقیقه به {lightred}{1}{default} هشدار داد!",
"sa_admin_warn_message_perm": "مدیر {lightred}{0}{default} به طور دائم به {lightred}{1}{default} به خاطر {lightred}{2}{default} هشدار داد!",
"sa_admin_give_message": "مدیر {lightred}{0}{default} {lightred}{2}{default} به {lightred}{1}{default} داد!",
"sa_admin_strip_message": "مدیر {lightred}{0}{default} تمام اسلحه‌های {lightred}{1}{default} را گرفت!",
"sa_admin_hp_message": "مدیر {lightred}{0}{default} مقدار اچ‌پی {lightred}{1}{default} را تغییر داد!",
@@ -102,5 +107,5 @@
"sa_adminchat_template_admin": "{LIME}(مدیر) {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

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Mute enregistré",
"sa_discord_penalty_gag": "Gag enregistré",
"sa_discord_penalty_silence": "Silence enregistré",
"sa_discord_penalty_warn": "Avertissement enregistré",
"sa_discord_penalty_unknown": "Inconnu enregistré",
"sa_player_ban_message_time": "Vous avez été banni pour {lightred}{0}{default} pendant {lightred}{1}{default} minutes par {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Vous avez été réduit au silence définitivement pour {lightred}{0}{default} par {lightred}{1}{default}!",
"sa_player_silence_message_time": "Vous avez été mis en sourdine pour {lightred}{0}{default} pendant {lightred}{1}{default} minutes par {lightred}{2}{default}!",
"sa_player_silence_message_perm": "Vous avez été mis en sourdine définitivement pour {lightred}{0}{default} par {lightred}{1}{default}!",
"sa_player_warn_message_time": "Vous avez été averti pour {lightred}{0}{default} pendant {lightred}{1}{default} minutes par {lightred}{2}{default}!",
"sa_player_warn_message_perm": "Vous avez été averti définitivement pour {lightred}{0}{default} par {lightred}{1}{default}!",
"sa_admin_ban_message_time": "Admin {lightred}{0}{default} a banni {lightred}{1}{default} pour {lightred}{2}{default} pendant {lightred}{3}{default} minutes!",
"sa_admin_ban_message_perm": "Admin {lightred}{0}{default} a banni {lightred}{1}{default} définitivement pour {lightred}{2}{default}!",
"sa_admin_kick_message": "Admin {lightred}{0}{default} a expulsé {lightred}{1}{default} pour {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} a réduit au silence {lightred}{1}{default} définitivement pour {lightred}{2}{default}!",
"sa_admin_silence_message_time": "Admin {lightred}{0}{default} a mis en sourdine {lightred}{1}{default} pour {lightred}{2}{default} pendant {lightred}{3}{default} minutes!",
"sa_admin_silence_message_perm": "Admin {lightred}{0}{default} a mis en sourdine {lightred}{1}{default} définitivement pour {lightred}{2}{default}!",
"sa_admin_warn_message_time": "Admin {lightred}{0}{default} a averti {lightred}{1}{default} pour {lightred}{2}{default} pendant {lightred}{3}{default} minutes!",
"sa_admin_warn_message_perm": "Admin {lightred}{0}{default} a averti {lightred}{1}{default} définitivement pour {lightred}{2}{default}!",
"sa_admin_give_message": "Admin {lightred}{0}{default} a donné à {lightred}{1}{default} un {lightred}{2}{default}!",
"sa_admin_strip_message": "Admin {lightred}{0}{default} a retiré toutes les armes de {lightred}{1}{default}!",
"sa_admin_hp_message": "Admin {lightred}{0}{default} a changé la quantité de points de vie de {lightred}{1}{default}!",
@@ -102,5 +107,5 @@
"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_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

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Mute reģistrēts",
"sa_discord_penalty_gag": "Gag reģistrēts",
"sa_discord_penalty_silence": "Klusums reģistrēts",
"sa_discord_penalty_warn": "Brīdinājums reģistrēts",
"sa_discord_penalty_unknown": "Nezināms reģistrēts",
"sa_player_ban_message_time": "Tu esi nobanots uz {lightred}{0}{default} uz {lightred}{1}{default} minūtēm, iemesls: {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Tev ir izliegta balsu rakstīšana uz mūžu, iemesls: {lightred}{0}{default}, Admins: {lightred}{1}{default}!",
"sa_player_silence_message_time": "Tevis balss ir izslēgta uz {lightred}{0}{default} uz {lightred}{1}{default} minūtēm, iemesls: {lightred}{2}{default}, Admins: {lightred}{3}{default}!",
"sa_player_silence_message_perm": "Tevis balss ir izslēgta uz mūžu, iemesls: {lightred}{0}{default}, Admins: {lightred}{1}{default}!",
"sa_player_warn_message_time": "Jums ir izteikts brīdinājums par {lightred}{0}{default} uz {lightred}{1}{default} minūtēm no {lightred}{2}{default}!",
"sa_player_warn_message_perm": "Jums ir izteikts pastāvīgs brīdinājums par {lightred}{0}{default} no {lightred}{1}{default}!",
"sa_admin_ban_message_time": "Admins {lightred}{0}{default} nobanoja {lightred}{1}{default} uz {lightred}{2}{default} uz {lightred}{3}{default} minūtēm, iemesls: {lightred}{4}{default}!",
"sa_admin_ban_message_perm": "Admins {lightred}{0}{default} nobanoja {lightred}{1}{default} uz mūžu, iemesls: {lightred}{2}{default}!",
"sa_admin_kick_message": "Admins {lightred}{0}{default} izmeta {lightred}{1}{default}, iemesls: {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Admins {lightred}{0}{default} izliega balsu rakstīšanu {lightred}{1}{default} uz mūžu, iemesls: {lightred}{2}{default}!",
"sa_admin_silence_message_time": "Admins {lightred}{0}{default} izslēdza balss iespēju {lightred}{1}{default} uz {lightred}{2}{default} uz {lightred}{3}{default} minūtēm, iemesls: {lightred}{4}{default}!",
"sa_admin_silence_message_perm": "Admins {lightred}{0}{default} izslēdza balss iespēju {lightred}{1}{default} uz mūžu, iemesls: {lightred}{2}{default}!",
"sa_admin_warn_message_time": "Admins {lightred}{0}{default} brīdināja {lightred}{1}{default} par {lightred}{2}{default} uz {lightred}{3}{default} minūtēm!",
"sa_admin_warn_message_perm": "Admins {lightred}{0}{default} brīdināja {lightred}{1}{default} pastāvīgi par {lightred}{2}{default}!",
"sa_admin_give_message": "Admins {lightred}{0}{default} deva {lightred}{1}{default} {lightred}{2}{default}!",
"sa_admin_strip_message": "Admins {lightred}{0}{default} paņēma visus spēlētāja {lightred}{1}{default} ieročus!",
"sa_admin_hp_message": "Admins {lightred}{0}{default} mainīja {lightred}{1}{default} HP daudzumu!",
@@ -102,5 +107,5 @@
"sa_adminchat_template_admin": "{LIME}(Admins) {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}** izmantoja komandu `{1}` uz servera `HOSTNAME`",
"sa_discord_log_command": "**{0}** izmantoja komandu `{1}` uz servera `HOSTNAME`"
}

View File

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Nowe wyciszenie",
"sa_discord_penalty_gag": "Nowe zakneblowanie",
"sa_discord_penalty_silence": "Nowe uciszenie",
"sa_discord_penalty_warn": "Nowe ostrzeżenie",
"sa_discord_penalty_unknown": "Nowa nieznana blokada",
"sa_player_ban_message_time": "Zostałeś zbanowany za {lightred}{0}{default} na {lightred}{1}{default} minut przez {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Zostałeś uciszony na zawsze za {lightred}{0}{default} przez {lightred}{1}{default}!",
"sa_player_silence_message_time": "Zostałeś wyciszony za {lightred}{0}{default} na {lightred}{1}{default} minut przez {lightred}{2}{default}!",
"sa_player_silence_message_perm": "Zostałeś wyciszony na zawsze za {lightred}{0}{default} przez {lightred}{1}{default}!",
"sa_player_warn_message_time": "Otrzymałeś ostrzeżenie za {lightred}{0}{default} na {lightred}{1}{default} minut od {lightred}{2}{default}!",
"sa_player_warn_message_perm": "Otrzymałeś ostrzeżenie za {lightred}{0}{default} od {lightred}{1}{default}!",
"sa_admin_ban_message_time": "Admin {lightred}{0}{default} zbanował {lightred}{1}{default} za {lightred}{2}{default} na {lightred}{3}{default} minut!",
"sa_admin_ban_message_perm": "Admin {lightred}{0}{default} zbanował {lightred}{1}{default} na zawsze za {lightred}{2}{default}!",
"sa_admin_kick_message": "Admin {lightred}{0}{default} wyrzucił {lightred}{1}{default} za {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} uciszył {lightred}{1}{default} na zawsze za {lightred}{2}{default}!",
"sa_admin_silence_message_time": "Admin {lightred}{0}{default} wyciszył {lightred}{1}{default} za {lightred}{2}{default} na {lightred}{3}{default} minut!",
"sa_admin_silence_message_perm": "Admin {lightred}{0}{default} wyciszył {lightred}{1}{default} na zawsze za {lightred}{2}{default}!",
"sa_admin_warn_message_time": "Admin {lightred}{0}{default} ostrzegł {lightred}{1}{default} za {lightred}{2}{default} na {lightred}{3}{default} minut!",
"sa_admin_warn_message_perm": "Admin {lightred}{0}{default} ostrzegł {lightred}{1}{default} na zawsze za {lightred}{2}{default}!",
"sa_admin_give_message": "Admin {lightred}{0}{default} dał {lightred}{1}{default} przedmiot {lightred}{2}{default}!",
"sa_admin_strip_message": "Admin {lightred}{0}{default} zabrał wszystkie bronie {lightred}{1}{default}!",
"sa_admin_hp_message": "Admin {lightred}{0}{default} zmienił ilość hp dla {lightred}{1}{default}!",
@@ -102,5 +107,5 @@
"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_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

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Mute registrado",
"sa_discord_penalty_gag": "Gag registrado",
"sa_discord_penalty_silence": "Silêncio registrado",
"sa_discord_penalty_warn": "Aviso registrado",
"sa_discord_penalty_unknown": "Desconhecido registrado",
"sa_player_ban_message_time": "Você foi banido por {lightred}{0}{default} por {lightred}{1}{default} minutos por {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Você foi mutado permanentemente por {lightred}{0}{default} por {lightred}{1}{default}!",
"sa_player_silence_message_time": "Você foi silenciado por {lightred}{0}{default} por {lightred}{1}{default} minutos por {lightred}{2}{default}!",
"sa_player_silence_message_perm": "Você foi silenciado permanentemente por {lightred}{0}{default} por {lightred}{1}{default}!",
"sa_player_warn_message_time": "Você foi advertido por {lightred}{0}{default} por {lightred}{1}{default} minutos por {lightred}{2}{default}!",
"sa_player_warn_message_perm": "Você foi advertido permanentemente por {lightred}{0}{default} por {lightred}{1}{default}!",
"sa_admin_ban_message_time": "Admin {lightred}{0}{default} baniu {lightred}{1}{default} por {lightred}{2}{default} por {lightred}{3}{default} minutos!",
"sa_admin_ban_message_perm": "Admin {lightred}{0}{default} baniu {lightred}{1}{default} permanentemente por {lightred}{2}{default}!",
"sa_admin_kick_message": "Admin {lightred}{0}{default} expulsou {lightred}{1}{default} por {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} mutou {lightred}{1}{default} permanentemente por {lightred}{2}{default}!",
"sa_admin_silence_message_time": "Admin {lightred}{0}{default} silenciou {lightred}{1}{default} por {lightred}{2}{default} por {lightred}{3}{default} minutos!",
"sa_admin_silence_message_perm": "Admin {lightred}{0}{default} silenciou {lightred}{1}{default} permanentemente por {lightred}{2}{default}!",
"sa_admin_warn_message_time": "Admin {lightred}{0}{default} advertiu {lightred}{1}{default} por {lightred}{2}{default} durante {lightred}{3}{default} minutos!",
"sa_admin_warn_message_perm": "Admin {lightred}{0}{default} advertiu {lightred}{1}{default} permanentemente por {lightred}{2}{default}!",
"sa_admin_give_message": "Admin {lightred}{0}{default} deu {lightred}{1}{default} um {lightred}{2}{default}!",
"sa_admin_strip_message": "Admin {lightred}{0}{default} removeu todas as armas do jogador {lightred}{1}{default}!",
"sa_admin_hp_message": "Admin {lightred}{0}{default} alterou a quantidade de HP para {lightred}{1}{default}!",
@@ -102,5 +107,5 @@
"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_discord_log_command": "**{0}** emitiu o comando `{1}` no servidor `HOSTNAME`",
"sa_discord_log_command": "**{0}** emitiu o comando `{1}` no servidor `HOSTNAME`"
}

View File

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Мут зарегистрирован",
"sa_discord_penalty_gag": "Запрет зарегистрирован",
"sa_discord_penalty_silence": "Молчание зарегистрировано",
"sa_discord_penalty_warn": "Предупреждение зарегистрировано",
"sa_discord_penalty_unknown": "Неизвестно зарегистрировано",
"sa_player_ban_message_time": "Вы были забанены по причине {lightred}{0}{default} на {lightred}{1}{default} минут(ы) администратором {lightred}{2}{default}!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Вам навсегда запрещено использовать голосовой чат по причине {lightred}{0}{default} администратором {lightred}{1}{default}!",
"sa_player_silence_message_time": "Вам запрещено общаться по причине {lightred}{0}{default} на {lightred}{1}{default} минут(ы) администратором {lightred}{2}{default}!",
"sa_player_silence_message_perm": "Вам навсегда запрещено общаться по причине {lightred}{0}{default} администратором {lightred}{1}{default}!",
"sa_player_warn_message_time": "Вы получили предупреждение за {lightred}{0}{default} на {lightred}{1}{default} минут от {lightred}{2}{default}!",
"sa_player_warn_message_perm": "Вы получили постоянное предупреждение за {lightred}{0}{default} от {lightred}{1}{default}!",
"sa_admin_ban_message_time": "Администратор {lightred}{0}{default} забанил {lightred}{1}{default} по причине {lightred}{2}{default} на {lightred}{3}{default} минут(ы)!",
"sa_admin_ban_message_perm": "Администратор {lightred}{0}{default} забанил {lightred}{1}{default} навсегда по причине {lightred}{2}{default}!",
"sa_admin_kick_message": "Администратор {lightred}{0}{default} выгнал {lightred}{1}{default} по причине {lightred}{2}{default}!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Администратор {lightred}{0}{default} запретил использовать голосовой чат {lightred}{1}{default} навсегда по причине {lightred}{2}{default}!",
"sa_admin_silence_message_time": "Администратор {lightred}{0}{default} запретил общаться {lightred}{1}{default} по причине {lightred}{2}{default} на {lightred}{3}{default} минут(ы)!",
"sa_admin_silence_message_perm": "Администратор {lightred}{0}{default} запретил общаться {lightred}{1}{default} навсегда по причине {lightred}{2}{default}!",
"sa_admin_warn_message_time": "Администратор {lightred}{0}{default} предупредил {lightred}{1}{default} за {lightred}{2}{default} на {lightred}{3}{default} минут!",
"sa_admin_warn_message_perm": "Администратор {lightred}{0}{default} предупредил {lightred}{1}{default} навсегда за {lightred}{2}{default}!",
"sa_admin_give_message": "Администратор {lightred}{0}{default} выдал {lightred}{1}{default} {lightred}{2}{default}!",
"sa_admin_strip_message": "Администратор {lightred}{0}{default} забрал все оружия у игрока {lightred}{1}{default}!",
"sa_admin_hp_message": "Администратор {lightred}{0}{default} изменил количество HP на {lightred}{1}{default}!",
@@ -101,5 +106,5 @@
"sa_adminchat_template_admin": "{LIME}(АДМИНИСТРАТОР) {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

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "Susturma kaydedildi",
"sa_discord_penalty_gag": "Susturma kaydedildi",
"sa_discord_penalty_silence": "Sessizlik kaydedildi",
"sa_discord_penalty_warn": "Uyarı kaydedildi",
"sa_discord_penalty_unknown": "Bilinmeyen kaydedildi",
"sa_player_ban_message_time": "Senaryo nedeniyle {lightred}{0}{default} dakika boyunca {lightred}{1}{default} tarafından yasaklandınız!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "Senaryo nedeniyle kalıcı olarak {lightred}{0}{default} tarafından sessize alındınız!",
"sa_player_silence_message_time": "Senaryo nedeniyle {lightred}{0}{default} dakika boyunca {lightred}{1}{default} tarafından susturuldunuz!",
"sa_player_silence_message_perm": "Senaryo nedeniyle kalıcı olarak {lightred}{0}{default} tarafından susturuldunuz!",
"sa_player_warn_message_time": "{lightred}{0}{default} nedeniyle {lightred}{1}{default} dakika boyunca {lightred}{2}{default} tarafından uyarıldınız!",
"sa_player_warn_message_perm": "{lightred}{0}{default} nedeniyle {lightred}{1}{default} tarafından kalıcı olarak uyarıldınız!",
"sa_admin_ban_message_time": "Yönetici {lightred}{0}{default}, senaryo nedeniyle {lightred}{1}{default} {lightred}{2}{default} için {lightred}{3}{default} dakika boyunca yasakladı!",
"sa_admin_ban_message_perm": "Yönetici {lightred}{0}{default}, senaryo nedeniyle {lightred}{1}{default} {lightred}{2}{default} kalıcı olarak yasakladı!",
"sa_admin_kick_message": "Yönetici {lightred}{0}{default}, senaryo nedeniyle {lightred}{1}{default} tarafından atıldınız!",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "Yönetici {lightred}{0}{default}, senaryo nedeniyle {lightred}{1}{default} kalıcı olarak {lightred}{2}{default} sessize aldı!",
"sa_admin_silence_message_time": "Yönetici {lightred}{0}{default}, senaryo nedeniyle {lightred}{1}{default} {lightred}{2}{default} için {lightred}{3}{default} dakika boyunca susturdu!",
"sa_admin_silence_message_perm": "Yönetici {lightred}{0}{default}, senaryo nedeniyle {lightred}{1}{default} kalıcı olarak {lightred}{2}{default} susturdu!",
"sa_admin_warn_message_time": "Yönetici {lightred}{0}{default} {lightred}{1}{default} kişiyi {lightred}{2}{default} nedeniyle {lightred}{3}{default} dakika boyunca uyardı!",
"sa_admin_warn_message_perm": "Yönetici {lightred}{0}{default} {lightred}{1}{default} kişiyi kalıcı olarak {lightred}{2}{default} nedeniyle uyardı!",
"sa_admin_give_message": "Yönetici {lightred}{0}{default}, {lightred}{1}{default} adlı oyuncuya {lightred}{2}{default} verdi!",
"sa_admin_strip_message": "Yönetici {lightred}{0}{default}, tüm {lightred}{1}{default} silahlarını aldı!",
"sa_admin_hp_message": "Yönetici {lightred}{0}{default}, {lightred}{1}{default} HP miktarını değiştirdi!",
@@ -101,5 +106,5 @@
"sa_adminchat_template_admin": "{LIME}(YÖNETİCİ) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_adminchat_template_player": "{SILVER}(OYUNCU) {lightred}{0}{default}: {lightred}{1}{default}",
"sa_discord_log_command": "**{0}**, sunucuda `HOSTNAME` üzerinde `{1}` komutunu gerçekleştirdi!",
"sa_discord_log_command": "**{0}**, sunucuda `HOSTNAME` üzerinde `{1}` komutunu gerçekleştirdi!"
}

View File

@@ -56,6 +56,7 @@
"sa_discord_penalty_mute": "禁言已记录",
"sa_discord_penalty_gag": "禁言已记录",
"sa_discord_penalty_silence": "禁声已记录",
"sa_discord_penalty_warn": "警告已注册",
"sa_discord_penalty_unknown": "未知已记录",
"sa_player_ban_message_time": "你因为{lightred}{0}{default}的原因被{lightred}{1}{default}禁止{lightred}{2}{default}分钟!",
@@ -67,6 +68,8 @@
"sa_player_mute_message_perm": "你因为{lightred}{0}{default}的原因被{lightred}{1}{default}永久禁声!",
"sa_player_silence_message_time": "你因为{lightred}{0}{default}的原因被{lightred}{2}{default}禁止发言{lightred}{1}{default}分钟!",
"sa_player_silence_message_perm": "你因为{lightred}{0}{default}的原因被{lightred}{1}{default}永久禁止发言!",
"sa_player_warn_message_time": "您因 {lightred}{0}{default} 被 {lightred}{1}{default} 分钟内由 {lightred}{2}{default} 警告!",
"sa_player_warn_message_perm": "您因 {lightred}{0}{default} 被 {lightred}{1}{default} 永久警告!",
"sa_admin_ban_message_time": "管理员{lightred}{0}{default}因为{lightred}{2}{default}的原因禁止了{lightred}{1}{default} {lightred}{3}{default}分钟!",
"sa_admin_ban_message_perm": "管理员{lightred}{0}{default}因为{lightred}{2}{default}的原因永久禁止了{lightred}{1}{default}",
"sa_admin_kick_message": "管理员{lightred}{0}{default}因为{lightred}{2}{default}的原因踢出了{lightred}{1}{default}",
@@ -76,6 +79,8 @@
"sa_admin_mute_message_perm": "管理员{lightred}{0}{default}因为{lightred}{2}{default}的原因永久禁声了{lightred}{1}{default}",
"sa_admin_silence_message_time": "管理员{lightred}{0}{default}因为{lightred}{2}{default}的原因禁止了{lightred}{1}{default} {lightred}{3}{default}分钟的发言!",
"sa_admin_silence_message_perm": "管理员{lightred}{0}{default}因为{lightred}{2}{default}的原因永久禁止了{lightred}{1}{default}的发言!",
"sa_admin_warn_message_time": "管理员 {lightred}{0}{default} 警告了 {lightred}{1}{default} {lightred}{2}{default} 因为 {lightred}{3}{default} 分钟!",
"sa_admin_warn_message_perm": "管理员 {lightred}{0}{default} 永久警告了 {lightred}{1}{default} 因为 {lightred}{2}{default}!",
"sa_admin_give_message": "管理员{lightred}{0}{default}给了{lightred}{1}{default} {lightred}{2}{default}",
"sa_admin_strip_message": "管理员{lightred}{0}{default}拿走了玩家{lightred}{1}{default}的所有武器!",
"sa_admin_hp_message": "管理员{lightred}{0}{default}改变了{lightred}{1}{default}的HP数值",
@@ -101,5 +106,5 @@
"sa_adminchat_template_admin": "{LIME}(管理员) {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}`"
}