mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-02-19 02:51:51 +00:00
Change team down
This commit is contained in:
@@ -1627,39 +1627,46 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool kill = command.GetArg(3)?.ToLower().Equals("-k") ?? false;
|
||||||
|
|
||||||
playersToTarget.ForEach(player =>
|
playersToTarget.ForEach(player =>
|
||||||
{
|
{
|
||||||
if (!teamName.Equals("swap"))
|
ChangeTeam(caller, player, _teamName, teamNum, kill);
|
||||||
{
|
});
|
||||||
if (player.PawnIsAlive && teamNum != CsTeam.Spectator && !command.GetArg(3).ToLower().Equals("-k"))
|
}
|
||||||
player.SwitchTeam(teamNum);
|
|
||||||
else
|
public void ChangeTeam(CCSPlayerController? caller, CCSPlayerController player, string teamName, CsTeam teamNum, bool kill)
|
||||||
player.ChangeTeam(teamNum);
|
{
|
||||||
}
|
if (!teamName.Equals("swap"))
|
||||||
|
{
|
||||||
|
if (player.PawnIsAlive && teamNum != CsTeam.Spectator && !kill)
|
||||||
|
player.SwitchTeam(teamNum);
|
||||||
else
|
else
|
||||||
|
player.ChangeTeam(teamNum);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (player.TeamNum != (byte)CsTeam.Spectator)
|
||||||
{
|
{
|
||||||
if (player.TeamNum != (byte)CsTeam.Spectator)
|
teamNum = (CsTeam)player.TeamNum == CsTeam.Terrorist ? CsTeam.CounterTerrorist : CsTeam.Terrorist;
|
||||||
|
teamName = teamNum == CsTeam.Terrorist ? "TT" : "CT";
|
||||||
|
if (player.PawnIsAlive && !kill)
|
||||||
{
|
{
|
||||||
CsTeam teamNum = (CsTeam)player.TeamNum == CsTeam.Terrorist ? CsTeam.CounterTerrorist : CsTeam.Terrorist;
|
player.SwitchTeam(teamNum);
|
||||||
_teamName = teamNum == CsTeam.Terrorist ? "TT" : "CT";
|
}
|
||||||
if (player.PawnIsAlive && !command.GetArg(3).ToLower().Equals("-k"))
|
else
|
||||||
{
|
{
|
||||||
player.SwitchTeam(teamNum);
|
player.ChangeTeam(teamNum);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
player.ChangeTeam(teamNum);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (caller == null || caller != null && caller.UserId != null && !silentPlayers.Contains((ushort)caller.UserId))
|
if (caller == null || caller != null && caller.UserId != null && !silentPlayers.Contains((ushort)caller.UserId))
|
||||||
{
|
{
|
||||||
StringBuilder sb = new(_localizer!["sa_prefix"]);
|
StringBuilder sb = new(_localizer!["sa_prefix"]);
|
||||||
sb.Append(_localizer["sa_admin_team_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName, _teamName]);
|
sb.Append(_localizer["sa_admin_team_message", caller == null ? "Console" : caller.PlayerName, player.PlayerName, teamName]);
|
||||||
Server.PrintToChatAll(sb.ToString());
|
Server.PrintToChatAll(sb.ToString());
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConsoleCommand("css_vote")]
|
[ConsoleCommand("css_vote")]
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ namespace CS2_SimpleAdmin.Menus
|
|||||||
{
|
{
|
||||||
public static class DurationMenu
|
public static class DurationMenu
|
||||||
{
|
{
|
||||||
|
// TODO: Localize
|
||||||
public static Tuple<string, int>[] _durations = new[]
|
public static Tuple<string, int>[] _durations = new[]
|
||||||
{
|
{
|
||||||
new Tuple<string, int>("1 minute", 1),
|
new Tuple<string, int>("1 minute", 1),
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ namespace CS2_SimpleAdmin.Menus
|
|||||||
bool hasBan = AdminManager.PlayerHasPermissions(admin, "@css/ban");
|
bool hasBan = AdminManager.PlayerHasPermissions(admin, "@css/ban");
|
||||||
bool hasChat = AdminManager.PlayerHasPermissions(admin, "@css/chat");
|
bool hasChat = AdminManager.PlayerHasPermissions(admin, "@css/chat");
|
||||||
|
|
||||||
|
// TODO: Localize options
|
||||||
// options added in order
|
// options added in order
|
||||||
options.Add(new ChatMenuOptionData("Who Is", () => PlayersMenu.OpenMenu(admin, "Who is", WhoIs)));
|
options.Add(new ChatMenuOptionData("Who Is", () => PlayersMenu.OpenMenu(admin, "Who is", WhoIs)));
|
||||||
|
|
||||||
@@ -55,7 +56,7 @@ namespace CS2_SimpleAdmin.Menus
|
|||||||
|
|
||||||
if (hasKick)
|
if (hasKick)
|
||||||
{
|
{
|
||||||
options.Add(new ChatMenuOptionData("Force Team", () => PlayersMenu.OpenMenu(admin, "Force Team", ForceTeam)));
|
options.Add(new ChatMenuOptionData("Force Team", () => PlayersMenu.OpenMenu(admin, "Force Team", ForceTeamMenu)));
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (ChatMenuOptionData menuOptionData in options)
|
foreach (ChatMenuOptionData menuOptionData in options)
|
||||||
@@ -137,6 +138,7 @@ namespace CS2_SimpleAdmin.Menus
|
|||||||
|
|
||||||
private static void GagMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
private static void GagMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
||||||
{
|
{
|
||||||
|
// TODO: Localize and make options in config?
|
||||||
CenterHtmlMenu menu = new CenterHtmlMenu($"Gag {player.PlayerName}");
|
CenterHtmlMenu menu = new CenterHtmlMenu($"Gag {player.PlayerName}");
|
||||||
List<string> options = new()
|
List<string> options = new()
|
||||||
{
|
{
|
||||||
@@ -163,6 +165,7 @@ namespace CS2_SimpleAdmin.Menus
|
|||||||
|
|
||||||
private static void MuteMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
private static void MuteMenu(CCSPlayerController admin, CCSPlayerController player, int duration)
|
||||||
{
|
{
|
||||||
|
// TODO: Localize and make options in config?
|
||||||
CenterHtmlMenu menu = new CenterHtmlMenu($"Mute {player.PlayerName}");
|
CenterHtmlMenu menu = new CenterHtmlMenu($"Mute {player.PlayerName}");
|
||||||
List<string> options = new()
|
List<string> options = new()
|
||||||
{
|
{
|
||||||
@@ -189,7 +192,26 @@ namespace CS2_SimpleAdmin.Menus
|
|||||||
CS2_SimpleAdmin.Instance.Mute(admin, player, duration, reason);
|
CS2_SimpleAdmin.Instance.Mute(admin, player, duration, reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ForceTeam(CCSPlayerController admin, CCSPlayerController player)
|
private static void ForceTeamMenu(CCSPlayerController admin, CCSPlayerController player)
|
||||||
|
{
|
||||||
|
// TODO: Localize
|
||||||
|
CenterHtmlMenu menu = new CenterHtmlMenu($"Force {player.PlayerName}'s Team");
|
||||||
|
List<ChatMenuOptionData> options = new();
|
||||||
|
options.Add(new ChatMenuOptionData("CT", () => ForceTeam(admin, player, "ct")));
|
||||||
|
options.Add(new ChatMenuOptionData("T", () => ForceTeam(admin, player, "t")));
|
||||||
|
options.Add(new ChatMenuOptionData("Swap", () => ForceTeam(admin, player, "swap")));
|
||||||
|
options.Add(new ChatMenuOptionData("Spectator", () => ForceTeam(admin, player, "spec")));
|
||||||
|
|
||||||
|
foreach (ChatMenuOptionData menuOptionData in options)
|
||||||
|
{
|
||||||
|
string menuName = menuOptionData.name;
|
||||||
|
menu.AddMenuOption(menuName, (_, _) => { menuOptionData.action?.Invoke(); }, menuOptionData.disabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuManager.OpenCenterHtmlMenu(CS2_SimpleAdmin.Instance, admin, menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ForceTeam(CCSPlayerController admin, CCSPlayerController player, string teamName)
|
||||||
{
|
{
|
||||||
// TODO: ForceTeam
|
// TODO: ForceTeam
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user