mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-02-17 18:39:07 +00:00
1.2.2a UPDATE
- Fixed css_addban, css_addmute - New command `css_hp` - New command `css_god` - New command `css_speed`
This commit is contained in:
@@ -22,15 +22,16 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
public static IStringLocalizer? _localizer;
|
||||
public static ConcurrentBag<int> gaggedPlayers = new ConcurrentBag<int>();
|
||||
public static ConcurrentBag<int> mutedPlayers = new ConcurrentBag<int>();
|
||||
public static Dictionary<string, int> answers = new Dictionary<string, int>();
|
||||
public static Dictionary<string, int> voteAnswers = new Dictionary<string, int>();
|
||||
public static List<int> GodPlayers = new List<int>();
|
||||
public static bool TagsDetected = false;
|
||||
public static bool VoteInProgress = false;
|
||||
public static bool voteInProgress = false;
|
||||
|
||||
internal string dbConnectionString = string.Empty;
|
||||
public override string ModuleName => "CS2-SimpleAdmin";
|
||||
public override string ModuleDescription => "";
|
||||
public override string ModuleAuthor => "daffyy";
|
||||
public override string ModuleVersion => "1.2.1a";
|
||||
public override string ModuleVersion => "1.2.2a";
|
||||
|
||||
public CS2_SimpleAdminConfig Config { get; set; } = new();
|
||||
|
||||
@@ -105,10 +106,11 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
|
||||
connection.Close();
|
||||
}
|
||||
|
||||
}
|
||||
catch (MySqlException ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogError("Unable to connect to database!");
|
||||
Logger.LogDebug(ex.Message);
|
||||
throw new Exception("[CS2-SimpleAdmin] Unable to connect to Database!" + ex.Message);
|
||||
}
|
||||
|
||||
@@ -944,15 +946,16 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
}
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
await _banManager.AddBanBySteamid(steamid, adminInfo, reason, time);
|
||||
});
|
||||
|
||||
AddTimer(Config.KickTime, () => Helper.KickPlayer((ushort)player.UserId!));
|
||||
}
|
||||
}
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
await _banManager.AddBanBySteamid(steamid, adminInfo, reason, time);
|
||||
});
|
||||
|
||||
command.ReplyToCommand($"Banned player with steamid {steamid}.");
|
||||
}
|
||||
|
||||
@@ -1017,16 +1020,16 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
}
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
await _banManager.AddBanByIp(ipAddress, adminInfo, reason, time);
|
||||
});
|
||||
|
||||
AddTimer(Config.KickTime, () => Helper.KickPlayer((ushort)player.UserId!, "Banned"));
|
||||
}
|
||||
}
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
await _banManager.AddBanByIp(ipAddress, adminInfo, reason, time);
|
||||
});
|
||||
|
||||
command.ReplyToCommand($"Banned player with IP address {ipAddress}.");
|
||||
}
|
||||
|
||||
@@ -1086,7 +1089,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
}
|
||||
|
||||
// check if item is valid
|
||||
if (!weaponName.Contains("weapon_") || !weaponName.Contains("item_"))
|
||||
if (!weaponName.Contains("weapon_") && !weaponName.Contains("item_"))
|
||||
{
|
||||
command.ReplyToCommand($"{weaponName} is not a valid item.");
|
||||
return;
|
||||
@@ -1104,7 +1107,6 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
|
||||
playersToTarget.ForEach(player =>
|
||||
{
|
||||
//give the weapon to player and announce it
|
||||
player.GiveNamedItem(weaponName);
|
||||
StringBuilder sb = new(_localizer!["sa_prefix"]);
|
||||
sb.Append(_localizer["sa_admin_give_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName, weaponName]);
|
||||
@@ -1112,6 +1114,73 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
});
|
||||
}
|
||||
|
||||
[ConsoleCommand("css_hp")]
|
||||
[RequiresPermissions("@css/slay")]
|
||||
[CommandHelper(minArgs: 1, usage: "<#userid or name> <health>", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
|
||||
public void OnHpCommand(CCSPlayerController? caller, CommandInfo command)
|
||||
{
|
||||
int health = 100;
|
||||
int.TryParse(command.GetArg(2), out health);
|
||||
|
||||
TargetResult? targets = GetTarget(command);
|
||||
if (targets == null) return;
|
||||
List<CCSPlayerController> playersToTarget = targets!.Players.Where(player => caller!.CanTarget(player) && player != null && player.IsValid && player.PawnIsAlive).ToList();
|
||||
|
||||
playersToTarget.ForEach(player =>
|
||||
{
|
||||
player.SetHp(health);
|
||||
|
||||
StringBuilder sb = new(_localizer!["sa_prefix"]);
|
||||
sb.Append(_localizer["sa_admin_hp_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]);
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
});
|
||||
}
|
||||
|
||||
[ConsoleCommand("css_speed")]
|
||||
[RequiresPermissions("@css/slay")]
|
||||
[CommandHelper(minArgs: 1, usage: "<#userid or name> <speed>", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
|
||||
public void OnSpeedCommand(CCSPlayerController? caller, CommandInfo command)
|
||||
{
|
||||
double speed = 1.0;
|
||||
double.TryParse(command.GetArg(2), out speed);
|
||||
|
||||
TargetResult? targets = GetTarget(command);
|
||||
if (targets == null) return;
|
||||
List<CCSPlayerController> playersToTarget = targets!.Players.Where(player => caller!.CanTarget(player) && player != null && player.IsValid && player.PawnIsAlive).ToList();
|
||||
|
||||
playersToTarget.ForEach(player =>
|
||||
{
|
||||
player.Speed = (float)speed;
|
||||
player.PlayerPawn.Value!.Speed = (float)speed;
|
||||
|
||||
StringBuilder sb = new(_localizer!["sa_prefix"]);
|
||||
sb.Append(_localizer["sa_admin_speed_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]);
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
});
|
||||
}
|
||||
|
||||
[ConsoleCommand("css_god")]
|
||||
[RequiresPermissions("@css/cheats")]
|
||||
[CommandHelper(minArgs: 1, usage: "<#userid or name>", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
|
||||
public void OnGodCommand(CCSPlayerController? caller, CommandInfo command)
|
||||
{
|
||||
TargetResult? targets = GetTarget(command);
|
||||
if (targets == null) return;
|
||||
List<CCSPlayerController> playersToTarget = targets!.Players.Where(player => caller!.CanTarget(player) && player != null && player.IsValid && player.PawnIsAlive).ToList();
|
||||
|
||||
playersToTarget.ForEach(player =>
|
||||
{
|
||||
if (!GodPlayers.Contains((int)player.Index))
|
||||
GodPlayers.Add((int)player.Index);
|
||||
else
|
||||
GodPlayers.Remove((int)player.Index);
|
||||
|
||||
StringBuilder sb = new(_localizer!["sa_prefix"]);
|
||||
sb.Append(_localizer["sa_admin_god_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName]);
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
});
|
||||
}
|
||||
|
||||
[ConsoleCommand("css_slap")]
|
||||
[RequiresPermissions("@css/slay")]
|
||||
[CommandHelper(minArgs: 1, usage: "<#userid or name> [damage]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
|
||||
@@ -1193,7 +1262,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
if (command.GetArg(1) == null || command.GetArg(1).Length < 0 || command.ArgCount < 2)
|
||||
return;
|
||||
|
||||
answers.Clear();
|
||||
voteAnswers.Clear();
|
||||
|
||||
string question = command.GetArg(1);
|
||||
int answersCount = command.ArgCount;
|
||||
@@ -1202,7 +1271,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
|
||||
for (int i = 2; i <= answersCount - 1; i++)
|
||||
{
|
||||
answers.Add(command.GetArg(i), 0);
|
||||
voteAnswers.Add(command.GetArg(i), 0);
|
||||
voteMenu.AddMenuOption(command.GetArg(i), Helper.handleVotes);
|
||||
}
|
||||
|
||||
@@ -1211,7 +1280,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
sb.Append(_localizer["sa_admin_vote_message", caller == null ? "Console" : caller.PlayerName, question]);
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
|
||||
VoteInProgress = true;
|
||||
voteInProgress = true;
|
||||
|
||||
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && !p.IsBot && !p.IsHLTV))
|
||||
{
|
||||
@@ -1225,14 +1294,14 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
||||
sb.Append(_localizer["sa_admin_vote_message_results", question]);
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
|
||||
foreach (KeyValuePair<string, int> kvp in answers)
|
||||
foreach (KeyValuePair<string, int> kvp in voteAnswers)
|
||||
{
|
||||
sb = new(_localizer!["sa_prefix"]);
|
||||
sb.Append(_localizer["sa_admin_vote_message_results_answer", kvp.Key, kvp.Value]);
|
||||
Server.PrintToChatAll(sb.ToString());
|
||||
}
|
||||
answers.Clear();
|
||||
VoteInProgress = false;
|
||||
voteAnswers.Clear();
|
||||
voteInProgress = false;
|
||||
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
|
||||
|
||||
404
Events.cs
404
Events.cs
@@ -6,255 +6,283 @@ using CounterStrikeSharp.API.Modules.Entities;
|
||||
using System.Text;
|
||||
using static CounterStrikeSharp.API.Core.Listeners;
|
||||
|
||||
namespace CS2_SimpleAdmin
|
||||
namespace CS2_SimpleAdmin;
|
||||
public partial class CS2_SimpleAdmin
|
||||
{
|
||||
public partial class CS2_SimpleAdmin
|
||||
private void registerEvents()
|
||||
{
|
||||
private void registerEvents()
|
||||
{
|
||||
RegisterListener<OnClientAuthorized>(OnClientAuthorized);
|
||||
RegisterListener<OnClientDisconnect>(OnClientDisconnect);
|
||||
RegisterListener<OnMapStart>(OnMapStart);
|
||||
AddCommandListener("say", OnCommandSay);
|
||||
AddCommandListener("say_team", OnCommandTeamSay);
|
||||
AddCommandListener("callvote", OnCommandCallVote);
|
||||
}
|
||||
private HookResult OnCommandSay(CCSPlayerController? player, CommandInfo info)
|
||||
{
|
||||
if (player == null || !player.IsValid || info.GetArg(1).Length == 0) return HookResult.Continue;
|
||||
RegisterListener<OnClientAuthorized>(OnClientAuthorized);
|
||||
RegisterListener<OnClientDisconnect>(OnClientDisconnect);
|
||||
RegisterListener<OnMapStart>(OnMapStart);
|
||||
RegisterEventHandler<EventPlayerHurt>(OnPlayerHurt);
|
||||
RegisterEventHandler<EventRoundStart>(OnRoundStart);
|
||||
AddCommandListener("say", OnCommandSay);
|
||||
AddCommandListener("say_team", OnCommandTeamSay);
|
||||
AddCommandListener("callvote", OnCommandCallVote);
|
||||
}
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
return HookResult.Handled;
|
||||
}
|
||||
private HookResult OnRoundStart(EventRoundStart @event, GameEventInfo info)
|
||||
{
|
||||
GodPlayers.Clear();
|
||||
return HookResult.Continue;
|
||||
}
|
||||
|
||||
return HookResult.Continue;
|
||||
private HookResult OnCommandSay(CCSPlayerController? player, CommandInfo info)
|
||||
{
|
||||
if (player == null || !player.IsValid || info.GetArg(1).Length == 0) return HookResult.Continue;
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
return HookResult.Handled;
|
||||
}
|
||||
|
||||
private HookResult OnCommandTeamSay(CCSPlayerController? player, CommandInfo info)
|
||||
return HookResult.Continue;
|
||||
}
|
||||
|
||||
private HookResult OnCommandTeamSay(CCSPlayerController? player, CommandInfo info)
|
||||
{
|
||||
if (player == null || !player.IsValid || info.GetArg(1).Length == 0) return HookResult.Continue;
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
if (player == null || !player.IsValid || info.GetArg(1).Length == 0) return HookResult.Continue;
|
||||
return HookResult.Handled;
|
||||
}
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
if (info.GetArg(1).StartsWith("@"))
|
||||
{
|
||||
StringBuilder sb = new();
|
||||
|
||||
if (AdminManager.PlayerHasPermissions(player, "@css/chat"))
|
||||
{
|
||||
return HookResult.Handled;
|
||||
}
|
||||
|
||||
if (info.GetArg(1).StartsWith("@"))
|
||||
{
|
||||
StringBuilder sb = new();
|
||||
|
||||
if (AdminManager.PlayerHasPermissions(player, "@css/chat"))
|
||||
sb.Append(_localizer!["sa_adminchat_template_admin", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
|
||||
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && !p.IsBot && !p.IsHLTV && AdminManager.PlayerHasPermissions(p, "@css/chat")))
|
||||
{
|
||||
sb.Append(_localizer!["sa_adminchat_template_admin", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
|
||||
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && !p.IsBot && !p.IsHLTV && AdminManager.PlayerHasPermissions(p, "@css/chat")))
|
||||
{
|
||||
p.PrintToChat(sb.ToString());
|
||||
}
|
||||
p.PrintToChat(sb.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(_localizer!["sa_adminchat_template_player", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
|
||||
player.PrintToChat(sb.ToString());
|
||||
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && !p.IsBot && !p.IsHLTV && AdminManager.PlayerHasPermissions(p, "@css/chat")))
|
||||
{
|
||||
p.PrintToChat(sb.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
return HookResult.Handled;
|
||||
}
|
||||
|
||||
return HookResult.Continue;
|
||||
}
|
||||
|
||||
private HookResult OnCommandCallVote(CCSPlayerController? player, CommandInfo info)
|
||||
{
|
||||
string reason = info.GetArg(1);
|
||||
|
||||
if (reason == "kick" || reason == "ban")
|
||||
else
|
||||
{
|
||||
int.TryParse(info.GetArg(2), out int target);
|
||||
if (target > 0)
|
||||
sb.Append(_localizer!["sa_adminchat_template_player", player.PlayerName, info.GetArg(1).Remove(0, 1)]);
|
||||
player.PrintToChat(sb.ToString());
|
||||
foreach (var p in Utilities.GetPlayers().Where(p => p.IsValid && !p.IsBot && !p.IsHLTV && AdminManager.PlayerHasPermissions(p, "@css/chat")))
|
||||
{
|
||||
if (!player!.CanTarget(Utilities.GetPlayerFromUserid(target)))
|
||||
return HookResult.Handled;
|
||||
p.PrintToChat(sb.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
return HookResult.Continue;
|
||||
return HookResult.Handled;
|
||||
}
|
||||
|
||||
private void OnClientAuthorized(int playerSlot, SteamID steamID)
|
||||
return HookResult.Continue;
|
||||
}
|
||||
|
||||
private HookResult OnCommandCallVote(CCSPlayerController? player, CommandInfo info)
|
||||
{
|
||||
string reason = info.GetArg(1);
|
||||
|
||||
if (reason == "kick" || reason == "ban")
|
||||
{
|
||||
CCSPlayerController? player = Utilities.GetPlayerFromSlot(playerSlot);
|
||||
|
||||
if (player == null || !player.IsValid || player.IsBot || player.IsHLTV)
|
||||
return;
|
||||
|
||||
if (player.AuthorizedSteamID == null)
|
||||
int.TryParse(info.GetArg(2), out int target);
|
||||
if (target > 0)
|
||||
{
|
||||
AddTimer(3.0f, () =>
|
||||
{
|
||||
OnClientAuthorized(playerSlot, steamID);
|
||||
});
|
||||
return;
|
||||
if (!player!.CanTarget(Utilities.GetPlayerFromUserid(target)))
|
||||
return HookResult.Handled;
|
||||
}
|
||||
}
|
||||
|
||||
PlayerInfo playerInfo = new PlayerInfo
|
||||
return HookResult.Continue;
|
||||
}
|
||||
|
||||
private void OnClientAuthorized(int playerSlot, SteamID steamID)
|
||||
{
|
||||
CCSPlayerController? player = Utilities.GetPlayerFromSlot(playerSlot);
|
||||
|
||||
if (player == null || !player.IsValid || player.IsBot || player.IsHLTV)
|
||||
return;
|
||||
|
||||
if (player.AuthorizedSteamID == null)
|
||||
{
|
||||
AddTimer(3.0f, () =>
|
||||
{
|
||||
UserId = player.UserId,
|
||||
Index = (int)player.Index,
|
||||
SteamId = player?.AuthorizedSteamID?.SteamId64.ToString(),
|
||||
Name = player?.PlayerName,
|
||||
IpAddress = player?.IpAddress?.Split(":")[0]
|
||||
};
|
||||
OnClientAuthorized(playerSlot, steamID);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
Task.Run(async () =>
|
||||
PlayerInfo playerInfo = new PlayerInfo
|
||||
{
|
||||
UserId = player.UserId,
|
||||
Index = (int)player.Index,
|
||||
SteamId = player?.AuthorizedSteamID?.SteamId64.ToString(),
|
||||
Name = player?.PlayerName,
|
||||
IpAddress = player?.IpAddress?.Split(":")[0]
|
||||
};
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
if (player == null || !player.IsValid) return;
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
bool isBanned = await _banManager.IsPlayerBanned(playerInfo);
|
||||
|
||||
MuteManager _muteManager = new(dbConnectionString);
|
||||
List<dynamic> activeMutes = await _muteManager.IsPlayerMuted(playerInfo.SteamId!);
|
||||
|
||||
Server.NextFrame(() =>
|
||||
{
|
||||
if (player == null || !player.IsValid) return;
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
bool isBanned = await _banManager.IsPlayerBanned(playerInfo);
|
||||
|
||||
MuteManager _muteManager = new(dbConnectionString);
|
||||
List<dynamic> activeMutes = await _muteManager.IsPlayerMuted(playerInfo.SteamId!);
|
||||
|
||||
Server.NextFrame(() =>
|
||||
if (isBanned)
|
||||
{
|
||||
if (player == null || !player.IsValid) return;
|
||||
if (isBanned)
|
||||
{
|
||||
Helper.KickPlayer((ushort)player.UserId!, "Banned");
|
||||
return;
|
||||
}
|
||||
Helper.KickPlayer((ushort)player.UserId!, "Banned");
|
||||
return;
|
||||
}
|
||||
|
||||
if (activeMutes.Count > 0)
|
||||
if (activeMutes.Count > 0)
|
||||
{
|
||||
foreach (var mute in activeMutes)
|
||||
{
|
||||
foreach (var mute in activeMutes)
|
||||
string muteType = mute.type;
|
||||
TimeSpan duration = mute.ends - mute.created;
|
||||
int durationInSeconds = (int)duration.TotalSeconds;
|
||||
|
||||
if (muteType == "GAG")
|
||||
{
|
||||
string muteType = mute.type;
|
||||
TimeSpan duration = mute.ends - mute.created;
|
||||
int durationInSeconds = (int)duration.TotalSeconds;
|
||||
// Chat mute
|
||||
if (!gaggedPlayers.Any(index => index == player.Index))
|
||||
gaggedPlayers.Add((int)player.Index);
|
||||
|
||||
if (muteType == "GAG")
|
||||
if (TagsDetected)
|
||||
NativeAPI.IssueServerCommand($"css_tag_mute {player.Index}");
|
||||
|
||||
if (duration.Minutes >= 0 && duration.Minutes <= 30)
|
||||
{
|
||||
// Chat mute
|
||||
if (!gaggedPlayers.Any(index => index == player.Index))
|
||||
gaggedPlayers.Add((int)player.Index);
|
||||
|
||||
if (TagsDetected)
|
||||
NativeAPI.IssueServerCommand($"css_tag_mute {player.Index}");
|
||||
|
||||
if (duration.Minutes >= 0 && duration.Minutes <= 30)
|
||||
AddTimer(durationInSeconds, () =>
|
||||
{
|
||||
AddTimer(durationInSeconds, () =>
|
||||
if (player == null || !player.IsValid || player.AuthorizedSteamID == null) return;
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
if (player == null || !player.IsValid || player.AuthorizedSteamID == null) return;
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
if (gaggedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
if (gaggedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
gaggedPlayers.Add(removedItem);
|
||||
}
|
||||
gaggedPlayers.Add(removedItem);
|
||||
}
|
||||
}
|
||||
|
||||
if (TagsDetected)
|
||||
NativeAPI.IssueServerCommand($"css_tag_unmute {player.Index}");
|
||||
if (TagsDetected)
|
||||
NativeAPI.IssueServerCommand($"css_tag_unmute {player.Index}");
|
||||
|
||||
MuteManager _muteManager = new(dbConnectionString);
|
||||
_ = _muteManager.UnmutePlayer(player.AuthorizedSteamID.SteamId64.ToString(), 0);
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
CCSPlayerController currentPlayer = player;
|
||||
|
||||
if (mute.duration == 0 || durationInSeconds >= 1800) continue;
|
||||
|
||||
await Task.Delay(TimeSpan.FromSeconds(durationInSeconds));
|
||||
|
||||
if (currentPlayer != null && currentPlayer.IsValid)
|
||||
{
|
||||
NativeAPI.IssueServerCommand($"css_tag_unmute {currentPlayer.Index.ToString()}");
|
||||
await UnmutePlayer(currentPlayer.AuthorizedSteamID.SteamId64.ToString(), 0);
|
||||
}
|
||||
*/
|
||||
MuteManager _muteManager = new(dbConnectionString);
|
||||
_ = _muteManager.UnmutePlayer(player.AuthorizedSteamID.SteamId64.ToString(), 0);
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
}
|
||||
else
|
||||
|
||||
|
||||
/*
|
||||
CCSPlayerController currentPlayer = player;
|
||||
|
||||
if (mute.duration == 0 || durationInSeconds >= 1800) continue;
|
||||
|
||||
await Task.Delay(TimeSpan.FromSeconds(durationInSeconds));
|
||||
|
||||
if (currentPlayer != null && currentPlayer.IsValid)
|
||||
{
|
||||
// Voice mute
|
||||
player.VoiceFlags = VoiceFlags.Muted;
|
||||
NativeAPI.IssueServerCommand($"css_tag_unmute {currentPlayer.Index.ToString()}");
|
||||
await UnmutePlayer(currentPlayer.AuthorizedSteamID.SteamId64.ToString(), 0);
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
// Voice mute
|
||||
player.VoiceFlags = VoiceFlags.Muted;
|
||||
|
||||
if (duration.Minutes >= 0 && duration.Minutes <= 30)
|
||||
if (duration.Minutes >= 0 && duration.Minutes <= 30)
|
||||
{
|
||||
AddTimer(durationInSeconds, () =>
|
||||
{
|
||||
AddTimer(durationInSeconds, () =>
|
||||
if (player == null || !player.IsValid || player.AuthorizedSteamID == null) return;
|
||||
|
||||
if (mutedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
if (player == null || !player.IsValid || player.AuthorizedSteamID == null) return;
|
||||
|
||||
if (mutedPlayers.Contains((int)player.Index))
|
||||
if (mutedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
if (mutedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
mutedPlayers.Add(removedItem);
|
||||
}
|
||||
mutedPlayers.Add(removedItem);
|
||||
}
|
||||
}
|
||||
|
||||
player.VoiceFlags = VoiceFlags.Normal;
|
||||
player.VoiceFlags = VoiceFlags.Normal;
|
||||
|
||||
//MuteManager _muteManager = new(dbConnectionString);
|
||||
//_ = _muteManager.UnmutePlayer(player.AuthorizedSteamID.SteamId64.ToString(), 1);
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
}
|
||||
//MuteManager _muteManager = new(dbConnectionString);
|
||||
//_ = _muteManager.UnmutePlayer(player.AuthorizedSteamID.SteamId64.ToString(), 1);
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void OnClientDisconnect(int playerSlot)
|
||||
{
|
||||
CCSPlayerController? player = Utilities.GetPlayerFromSlot(playerSlot);
|
||||
|
||||
if (player == null || !player.IsValid || player.IsBot || player.IsHLTV) return;
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
if (gaggedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
gaggedPlayers.Add(removedItem);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnClientDisconnect(int playerSlot)
|
||||
if (mutedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
CCSPlayerController? player = Utilities.GetPlayerFromSlot(playerSlot);
|
||||
|
||||
if (player == null || !player.IsValid || player.IsBot || player.IsHLTV) return;
|
||||
|
||||
if (gaggedPlayers.Contains((int)player.Index))
|
||||
if (mutedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
if (gaggedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
gaggedPlayers.Add(removedItem);
|
||||
}
|
||||
mutedPlayers.Add(removedItem);
|
||||
}
|
||||
|
||||
if (mutedPlayers.Contains((int)player.Index))
|
||||
{
|
||||
if (mutedPlayers.TryTake(out int removedItem) && removedItem != (int)player.Index)
|
||||
{
|
||||
mutedPlayers.Add(removedItem);
|
||||
}
|
||||
}
|
||||
|
||||
if (TagsDetected)
|
||||
NativeAPI.IssueServerCommand($"css_tag_unmute {player!.Index.ToString()}");
|
||||
}
|
||||
|
||||
private void OnMapStart(string mapName)
|
||||
if (GodPlayers.Contains((int)player.Index))
|
||||
{
|
||||
AddTimer(120.0f, () =>
|
||||
{
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
_ = _banManager.ExpireOldBans();
|
||||
MuteManager _muteManager = new(dbConnectionString);
|
||||
_ = _muteManager.ExpireOldMutes();
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.REPEAT | CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
GodPlayers.Remove((int)player.Index);
|
||||
}
|
||||
|
||||
string? path = Path.GetDirectoryName(ModuleDirectory);
|
||||
if (Directory.Exists(path + "/CS2-Tags"))
|
||||
{
|
||||
TagsDetected = true;
|
||||
}
|
||||
if (TagsDetected)
|
||||
NativeAPI.IssueServerCommand($"css_tag_unmute {player!.Index.ToString()}");
|
||||
}
|
||||
|
||||
private void OnMapStart(string mapName)
|
||||
{
|
||||
AddTimer(120.0f, () =>
|
||||
{
|
||||
BanManager _banManager = new(dbConnectionString);
|
||||
_ = _banManager.ExpireOldBans();
|
||||
MuteManager _muteManager = new(dbConnectionString);
|
||||
_ = _muteManager.ExpireOldMutes();
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.REPEAT | CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
|
||||
string? path = Path.GetDirectoryName(ModuleDirectory);
|
||||
if (Directory.Exists(path + "/CS2-Tags"))
|
||||
{
|
||||
TagsDetected = true;
|
||||
}
|
||||
}
|
||||
|
||||
private HookResult OnPlayerHurt(EventPlayerHurt @event, GameEventInfo info)
|
||||
{
|
||||
CCSPlayerController? player = @event.Userid;
|
||||
|
||||
if (player == null || !player.IsValid)
|
||||
return HookResult.Continue;
|
||||
|
||||
if (GodPlayers.Contains((int)player.Index) && player.PawnIsAlive)
|
||||
{
|
||||
player.Health = 100;
|
||||
player.PlayerPawn.Value!.Health = 100;
|
||||
}
|
||||
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,8 +102,8 @@ namespace CS2_SimpleAdmin
|
||||
|
||||
internal static void handleVotes(CCSPlayerController player, ChatMenuOption option)
|
||||
{
|
||||
if (CS2_SimpleAdmin.VoteInProgress)
|
||||
CS2_SimpleAdmin.answers[option.Text]++;
|
||||
if (CS2_SimpleAdmin.voteInProgress)
|
||||
CS2_SimpleAdmin.voteAnswers[option.Text]++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,34 @@ public static class PlayerUtils
|
||||
return AdminManager.CanPlayerTarget(controller, target);
|
||||
}
|
||||
|
||||
public static void SetHp(this CCSPlayerController controller, int health = 100)
|
||||
{
|
||||
if (health <= 0 || !controller.PawnIsAlive || controller.PlayerPawn.Value == null) return;
|
||||
|
||||
controller.Health = health;
|
||||
controller.PlayerPawn.Value.Health = health;
|
||||
|
||||
if (health > 100)
|
||||
{
|
||||
controller.MaxHealth = health;
|
||||
controller.PlayerPawn.Value.MaxHealth = health;
|
||||
}
|
||||
|
||||
var weaponServices = controller.PlayerPawn.Value!.WeaponServices;
|
||||
if (weaponServices == null) return;
|
||||
|
||||
controller.GiveNamedItem("weapon_healthshot");
|
||||
|
||||
foreach (var weapon in weaponServices.MyWeapons)
|
||||
{
|
||||
if (weapon != null && weapon.IsValid && weapon.Value!.DesignerName == "weapon_healthshot")
|
||||
{
|
||||
weapon.Value.Remove();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Bury(this CBasePlayerPawn pawn, float depth = 10f)
|
||||
{
|
||||
var newPos = new Vector(pawn.AbsOrigin!.X, pawn.AbsOrigin.Y,
|
||||
|
||||
@@ -24,6 +24,9 @@ Manage your Counter-Strike 2 server by simple commands :)
|
||||
- css_addmute <steamid> [time in minutes/0 perm] [reason] - Mute player via steamid64 // @css/chat
|
||||
- css_unmute <steamid or name> - Unmute player // @css/chat
|
||||
- css_give <#userid or name> <weapon> - Give weapon to player // @css/cheats
|
||||
- css_hp <#userid or name> [health] - Set player health // @css/slay
|
||||
- css_speed <#userid or name> [speed] - Set player speed // @css/slay
|
||||
- css_god <#userid or name> - Toggle godmode for player // @css/cheats
|
||||
- css_slay <#userid or name> - Kill player // @css/slay
|
||||
- css_slap <#userid or name> [damage] - Slap player // @css/slay
|
||||
- css_team <#userid or name> [<ct/tt/spec>] - Change player team // @css/kick
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"sa_prefix": "{lightred}[SA] {default}",
|
||||
"sa_adminhelp": "{GREEN}[ CS2-SimpleAdmin HELP ]{DEFAULT}\n- css_who <#userid or name> - Display informations about player\n- css_players - Display player list\n- css_ban <#userid or name> [time in minutes/0 perm] [reason] - Ban player\n- css_addban <steamid> [time in minutes/0 perm] [reason] - Ban player via steamid64\n- css_banip <ip> [time in minutes/0 perm] [reason] - Ban player via IP address\n- css_unban <steamid or name or ip> - Unban player\n- css_kick <#userid or name> [reason] - Kick player\n- css_gag <#userid or name> [time in minutes/0 perm] [reason] - Gag player\n- css_addgag <steamid> [time in minutes/0 perm] [reason] - Gag player via steamid64\n- css_unmute <steamid or name> - Ungag player\n- css_mute <#userid or name> [time in minutes/0 perm] [reason] - Mute player\n- css_addmute <steamid> [time in minutes/0 perm] [reason] - Mute player via steamid64\n- css_give <#userid or name> <weapon> - Give player a weapon\n- css_slay <#userid or name> - Kill player\n- css_slap <#userid or name> [damage] - Slap player\n- css_vote <'Question?'> ['Answer1'] ['Answer2'] ... - Create vote\n- css_map <mapname> - Change map\n- css_wsmap <name or id> - Change workshop map\n- css_asay <message> - Say message to all admins\n- css_say <message> - Say message as admin in chat\n- css_psay <#userid or name> <message> - Sends private message to player\n- css_csay <message> - Say message as admin in center\n- css_hsay <message> - Say message as admin in hud\n- css_noclip <#userid or name> - Toggle noclip for player\n- css_freeze <#userid or name> [duration] - Freeze player\n- css_unfreeze <#userid or name> - Unfreeze player\n- css_respawn <#userid or name> - Respawn player\n- css_cvar <cvar> <value> - Change cvar value\n- css_rcon <command> - Run command as server",
|
||||
"sa_adminhelp": "{GREEN}[ CS2-SimpleAdmin HELP ]{DEFAULT}\n- css_who <#userid or name> - Display informations about player\n- css_players - Display player list\n- css_ban <#userid or name> [time in minutes/0 perm] [reason] - Ban player\n- css_addban <steamid> [time in minutes/0 perm] [reason] - Ban player via steamid64\n- css_banip <ip> [time in minutes/0 perm] [reason] - Ban player via IP address\n- css_unban <steamid or name or ip> - Unban player\n- css_kick <#userid or name> [reason] - Kick player\n- css_gag <#userid or name> [time in minutes/0 perm] [reason] - Gag player\n- css_addgag <steamid> [time in minutes/0 perm] [reason] - Gag player via steamid64\n- css_unmute <steamid or name> - Ungag player\n- css_mute <#userid or name> [time in minutes/0 perm] [reason] - Mute player\n- css_addmute <steamid> [time in minutes/0 perm] [reason] - Mute player via steamid64\n- css_give <#userid or name> <weapon> - Give player a weapon\n- css_hp <#userid or name> [health] - Set player health\n- css_god <#userid or name> - Toggle player godmode\n- css_slay <#userid or name> - Kill player\n- css_slap <#userid or name> [damage] - Slap player\n- css_vote <'Question?'> ['Answer1'] ['Answer2'] ... - Create vote\n- css_map <mapname> - Change map\n- css_wsmap <name or id> - Change workshop map\n- css_asay <message> - Say message to all admins\n- css_say <message> - Say message as admin in chat\n- css_psay <#userid or name> <message> - Sends private message to player\n- css_csay <message> - Say message as admin in center\n- css_hsay <message> - Say message as admin in hud\n- css_noclip <#userid or name> - Toggle noclip for player\n- css_freeze <#userid or name> [duration] - Freeze player\n- css_unfreeze <#userid or name> - Unfreeze player\n- css_respawn <#userid or name> - Respawn player\n- css_cvar <cvar> <value> - Change cvar value\n- css_rcon <command> - Run command as server",
|
||||
"sa_player_ban_message_time": "You have been banned for {lightred}{0}{default} for {lightred}{1}{default} minutes by {lightred}{2}{default}!",
|
||||
"sa_player_ban_message_perm": "You have been banned permanently for {lightred}{0}{default} by {lightred}{1}{default}!",
|
||||
"sa_player_kick_message": "You have been kicked for {lightred}{0}{default} by {lightred}{1}{default}!",
|
||||
@@ -15,7 +15,10 @@
|
||||
"sa_admin_gag_message_perm": "Admin {lightred}{0}{default} gagged {lightred}{1}{default} permanently for {lightred}{2}{default}!",
|
||||
"sa_admin_mute_message_time": "Admin {lightred}{0}{default} muted {lightred}{1}{default} for {lightred}{2}{default} for {lightred}{3}{default} minutes!",
|
||||
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} muted {lightred}{1}{default} permanently for {lightred}{2}{default}!",
|
||||
"sa_admin_give_message": "Admin {lightred}{0}{default} gave {lightred}{1}{default} a {lightred}{WE{default}APON}!",
|
||||
"sa_admin_give_message": "Admin {lightred}{0}{default} gave {lightred}{1}{default} a {lightred}{2}{default}!",
|
||||
"sa_admin_hp_message": "Admin {lightred}{0}{default} changed {lightred}{1}{default} hp amount{default}!",
|
||||
"sa_admin_speed_message": "Admin {lightred}{0}{default} changed speed for {lightred}{1}{default}!",
|
||||
"sa_admin_god_message": "Admin {lightred}{0}{default} changed god mode for {lightred}{1}{default}!",
|
||||
"sa_admin_slay_message": "Admin {lightred}{0}{default} slayed {lightred}{1}{default}!",
|
||||
"sa_admin_slap_message": "Admin {lightred}{0}{default} slapped {lightred}{1}{default}!",
|
||||
"sa_admin_changemap_message": "Admin {lightred}{0}{default} changed map to {lightred}{1}{default}!",
|
||||
|
||||
37
lang/lv.json
Normal file
37
lang/lv.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"sa_prefix": "{lightred}[SA] {default}",
|
||||
"sa_adminhelp": "{GREEN}[ CS2-SimpleAdmins Palīdzība ]{DEFAULT}\n- css_who <#userid vai vārds> - Parāda informāciju par spēlētājiem\n- css_players - Parāda spēlētāju sarakstu\n- css_ban <#userid vai vārds> [laiks minūtēs/0 uz mūžu] [iemesls] - liedz pieeju spēlētājam pievienoties serverim\n- css_addban <steamid> [laiks minūtēs/0 uz mūžu] [iemesls] - liedz pieeju spēlētājam pievienoties serverim izmantojot steamid64\n- css_banip <ip> [laiks minūtēs/0 uz mūžu] [iemesls] - liedz spēlētājam pievienoties serverim izmantojot IP adresi\n- css_unban <steamid vai vārds vai ip> - noņem spēlētāja liegumu pievienoties serverim\n- css_kick <#userid vai vārds> [iemesls] - izmet spēlētāju no servera\n- css_gag <#userid vai vārds> [laiks minūtēs/0 uz mūžu] [iemesls] - liedz pieeju spēlētājam čatot\n- css_addgag <steamid> [laiks minūtēs/0 uz mūžu] [iemesls] - liedz spēlētājam pieeju čatot izmantojot steamid64\n- css_unmute <steamid vai vārds> - noņem spēlētāja liegumu izmantot balss čatu\n- css_mute <#userid vai vārds> [laiks minūtēs/0 uz mūžu] [iemesls] - liedz iespēju izmantot balss čatu\n- css_addmute <steamid> [laiks minūtēs/0 uz mūžu] [iemesls] - Liedz iespēju izmantot balss čatu izmantojot steamid64\n- css_give <#userid vai vārds> <ierocis> - Atļauj iedot jebkādu ieroci spēlētājam\n- css_slay <#userid vai vārds> - Nonāvē spēlētāju\n- css_slap <#userid vai vārds> [damage] - ieper spēlētāju\n- css_vote <'Jautājums?'> ['Atbilde1'] ['Atbilde2'] ... - Sāk balsošanu\n- css_map <kartes nosaukums> - Maina karti\n- css_wsmap <nosaukums vai id> - Maina Workshop karti\n- css_asay <ziņa> - Nosūta paziņojumu visiem adminiem\n- css_say <ziņa> - Say parāda paziņojumu no admina čatā\n- css_psay <#userid vai vārds> <ziņa> - Nosūta privātu ziņu spēlētājam\n- css_csay <ziņa> - Parāda paziņojumu no admina pa vidu ekrānam\n- css_hsay <ziņa> - Parāda paziņojumu no admina hud logā\n- css_noclip <#userid vai vārds> - Ieslēdz noclip spēlētājam\n- css_freeze <#userid vai vārds> [ilgums] - Sasaldē spēlētāju\n- css_unfreeze <#userid vai vārds> - atkausē spēlētāju\n- css_respawn <#userid vai vārds> - Atdzīvina spēlētāju\n- css_cvar <cvar> <vērtība> - Nomaina cvar vērtību\n- css_rcon <komanda> - Palaist komandu kā serverim",
|
||||
"sa_player_ban_message_time": "Tu tiki banots par {lightred}{0}{default} uz {lightred}{1}{default} minūtēm. Pieeju liedza Admins: {lightred}{2}{default}!",
|
||||
"sa_player_ban_message_perm": "Tu tiki banots uz mūžu par {lightred}{0}{default} Pieeju liedza Admins: {lightred}{1}{default}!",
|
||||
"sa_player_kick_message": "Tu tiki izmests par {lightred}{0}{default} Tevi izmeta Admins: {lightred}{1}{default}!",
|
||||
"sa_player_gag_message_time": "Tev tika liegta pieeja čatam par {lightred}{0}{default} uz {lightred}{1}{default} minūtēm. Pieeju liedza Admins: {lightred}{2}{default}!",
|
||||
"sa_player_gag_message_perm": "Tev tika liegta pieeja čatam uz mūžu par {lightred}{0}{default} Pieeju liedza Admins: {lightred}{1}{default}!",
|
||||
"sa_player_mute_message_time": "Tev tika liegta pieeja balss čatam par {lightred}{0}{default} uz {lightred}{1}{default} minūtēm. Pieeju Liedza Admins: {lightred}{2}{default}!",
|
||||
"sa_player_mute_message_perm": "Tev tika liegta pieeja balss čatam uz mūžu par{lightred}{0}{default} Pieeju liedza Admins: {lightred}{1}{default}!",
|
||||
"sa_admin_ban_message_time": "Admins {lightred}{0}{default} liedza pieeju serverim {lightred}{1}{default} par {lightred}{2}{default} uz {lightred}{3}{default} minūtēm!",
|
||||
"sa_admin_ban_message_perm": "Admins {lightred}{0}{default} liedza pieeju serverim {lightred}{1}{default} uz mūžu par {lightred}{2}{default}!",
|
||||
"sa_admin_kick_message": "Admins {lightred}{0}{default} izmeta {lightred}{1}{default} par {lightred}{2}{default}!",
|
||||
"sa_admin_gag_message_time": "Admins {lightred}{0}{default} liedza pieeju čatam {lightred}{1}{default} par {lightred}{2}{default} uz {lightred}{3}{default} minūtēm!",
|
||||
"sa_admin_gag_message_perm": "Admins {lightred}{0}{default} liedza pieeju čatam {lightred}{1}{default} uz mūžu par {lightred}{2}{default}!",
|
||||
"sa_admin_mute_message_time": "Admins {lightred}{0}{default} liedza pieeju balss čatam {lightred}{1}{default} par {lightred}{2}{default} uz {lightred}{3}{default} minūtēm!",
|
||||
"sa_admin_mute_message_perm": "Admins {lightred}{0}{default} liedza pieeju balss čatam {lightred}{1}{default} uz mūžu par {lightred}{2}{default}!",
|
||||
"sa_admin_give_message": "Admins {lightred}{0}{default} iedeva {lightred}{1}{default} {lightred}{2}{default}!",
|
||||
"sa_admin_hp_message": "Admins {lightred}{0}{default} mainīja {lightred}{1}{default} ZS apjomu{default}!",
|
||||
"sa_admin_speed_message": "Admins {lightred}{0}{default} mainīja {lightred}{1}{default} ātrumu{default}!",
|
||||
"sa_admin_god_message": "Admins {lightred}{0}{default} mainīja dieva režīmu priekš {lightred}{1}{default}!",
|
||||
"sa_admin_slay_message": "Admins {lightred}{0}{default} nonāvēja {lightred}{1}{default}!",
|
||||
"sa_admin_slap_message": "Admins {lightred}{0}{default} iepērā {lightred}{1}{default}!",
|
||||
"sa_admin_changemap_message": "Admins {lightred}{0}{default} nomainīja karti uz {lightred}{1}{default}!",
|
||||
"sa_admin_noclip_message": "Admins {lightred}{0}{default} uzlika noclip spēlētājam {lightred}{1}{default}!",
|
||||
"sa_admin_freeze_message": "Admins {lightred}{0}{default} sasaldēja {lightred}{1}{default}!",
|
||||
"sa_admin_unfreeze_message": "Admins{lightred}{0}{default} atkausēja {lightred}{1}{default}!",
|
||||
"sa_admin_respawn_message": "Admins {lightred}{0}{default} atdzīvināja {lightred}{1}{default}!",
|
||||
"sa_admin_team_message": "Admins {lightred}{0}{default} pārvietoja {lightred}{1}{default} uz {lightred}{2}{default}!",
|
||||
"sa_admin_vote_menu_title": "{lime}Balsošana par {gold}{0}",
|
||||
"sa_admin_vote_message": "Admins {lightred}{0}{default} sāka balsošanu par {lightred}{1}{default}",
|
||||
"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_adminsay_prefix": "{RED}ADMINS: {lightred}{0}{default}",
|
||||
"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}"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"sa_prefix": "{lightred}[SA] {default}",
|
||||
"sa_adminhelp": "{GREEN}[ CS2-SimpleAdmin HELP ]{DEFAULT}\n- css_who <#userid or name> - Display informations about player\n- css_players - Display player list\n- css_ban <#userid or name> [time in minutes/0 perm] [reason] - Ban player\n- css_addban <steamid> [time in minutes/0 perm] [reason] - Ban player via steamid64\n- css_banip <ip> [time in minutes/0 perm] [reason] - Ban player via IP address\n- css_unban <steamid or name or ip> - Unban player\n- css_kick <#userid or name> [reason] - Kick player\n- css_gag <#userid or name> [time in minutes/0 perm] [reason] - Gag player\n- css_addgag <steamid> [time in minutes/0 perm] [reason] - Gag player via steamid64\n- css_unmute <steamid or name> - Ungag player\n- css_mute <#userid or name> [time in minutes/0 perm] [reason] - Mute player\n- css_addmute <steamid> [time in minutes/0 perm] [reason] - Mute player via steamid64\n- css_give <#userid or name> <weapon> - Give player a weapon\n- css_slay <#userid or name> - Kill player\n- css_slap <#userid or name> [damage] - Slap player\n- css_vote <'Question?'> ['Answer1'] ['Answer2'] ... - Create vote\n- css_map <mapname> - Change map\n- css_wsmap <name or id> - Change workshop map\n- css_asay <message> - Say message to all admins\n- css_say <message> - Say message as admin in chat\n- css_psay <#userid or name> <message> - Sends private message to player\n- css_csay <message> - Say message as admin in center\n- css_hsay <message> - Say message as admin in hud\n- css_noclip <#userid or name> - Toggle noclip for player\n- css_freeze <#userid or name> [duration] - Freeze player\n- css_unfreeze <#userid or name> - Unfreeze player\n- css_respawn <#userid or name> - Respawn player\n- css_cvar <cvar> <value> - Change cvar value\n- css_rcon <command> - Run command as server",
|
||||
"sa_adminhelp": "{GREEN}[ CS2-SimpleAdmin HELP ]{DEFAULT}\n- css_who <#userid or name> - Display informations about player\n- css_players - Display player list\n- css_ban <#userid or name> [time in minutes/0 perm] [reason] - Ban player\n- css_addban <steamid> [time in minutes/0 perm] [reason] - Ban player via steamid64\n- css_banip <ip> [time in minutes/0 perm] [reason] - Ban player via IP address\n- css_unban <steamid or name or ip> - Unban player\n- css_kick <#userid or name> [reason] - Kick player\n- css_gag <#userid or name> [time in minutes/0 perm] [reason] - Gag player\n- css_addgag <steamid> [time in minutes/0 perm] [reason] - Gag player via steamid64\n- css_unmute <steamid or name> - Ungag player\n- css_mute <#userid or name> [time in minutes/0 perm] [reason] - Mute player\n- css_addmute <steamid> [time in minutes/0 perm] [reason] - Mute player via steamid64\n- css_give <#userid or name> <weapon> - Give player a weapon\n- css_hp <#userid or name> [health] - Set player health\n- css_god <#userid or name> - Toggle player godmode\n- css_slay <#userid or name> - Kill player\n- css_slap <#userid or name> [damage] - Slap player\n- css_vote <'Question?'> ['Answer1'] ['Answer2'] ... - Create vote\n- css_map <mapname> - Change map\n- css_wsmap <name or id> - Change workshop map\n- css_asay <message> - Say message to all admins\n- css_say <message> - Say message as admin in chat\n- css_psay <#userid or name> <message> - Sends private message to player\n- css_csay <message> - Say message as admin in center\n- css_hsay <message> - Say message as admin in hud\n- css_noclip <#userid or name> - Toggle noclip for player\n- css_freeze <#userid or name> [duration] - Freeze player\n- css_unfreeze <#userid or name> - Unfreeze player\n- css_respawn <#userid or name> - Respawn player\n- css_cvar <cvar> <value> - Change cvar value\n- css_rcon <command> - Run command as server",
|
||||
"sa_player_ban_message_time": "Zostałeś zbanowany za {lightred}{0}{default} na {lightred}{1}{default} minut przez {lightred}{2}{default}!",
|
||||
"sa_player_ban_message_perm": "Zostałeś zbanowany na zawsze za {lightred}{0}{default} przez {lightred}{1}{default}!",
|
||||
"sa_player_kick_message": "Zostałeś wyrzucony za {lightred}{0}{default} przez {lightred}{1}{default}!",
|
||||
@@ -15,7 +15,10 @@
|
||||
"sa_admin_gag_message_perm": "Admin {lightred}{0}{default} zakneblował {lightred}{1}{default} na zawsze za {lightred}{2}{default}!",
|
||||
"sa_admin_mute_message_time": "Admin {lightred}{0}{default} uciszył {lightred}{1}{default} za {lightred}{2}{default} na {lightred}{3}{default} minut!",
|
||||
"sa_admin_mute_message_perm": "Admin {lightred}{0}{default} uciszył {lightred}{1}{default} na zawsze za {lightred}{2}{default}!",
|
||||
"sa_admin_give_message": "Admin {lightred}{0}{default} dał {lightred}{1}{default} przedmiot {lightred}{WE{default}APON}!",
|
||||
"sa_admin_give_message": "Admin {lightred}{0}{default} dał {lightred}{1}{default} przedmiot {lightred}{2}{default}!",
|
||||
"sa_admin_hp_message": "Admin {lightred}{0}{default} zmienił ilość hp dla {lightred}{1}{default}!",
|
||||
"sa_admin_speed_message": "Admin {lightred}{0}{default} zmienił prędkość dla {lightred}{1}{default}!",
|
||||
"sa_admin_god_message": "Admin {lightred}{0}{default} zmienił tryb Boga dla {lightred}{1}{default}!",
|
||||
"sa_admin_slay_message": "Admin {lightred}{0}{default} zgładził {lightred}{1}{default}!",
|
||||
"sa_admin_slap_message": "Admin {lightred}{0}{default} uderzył {lightred}{1}{default}!",
|
||||
"sa_admin_changemap_message": "Admin {lightred}{0}{default} zmienił mapę na {lightred}{1}{default}!",
|
||||
|
||||
Reference in New Issue
Block a user