protected override bool ExecuteParent(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (sender.CheckPermission("ATC.main")) { if (arguments.Count == 0) { response = "You need to enter an argument\n<b>forcenextteam</b>\n<b>forceteam</b>\n<b>teamsalive</b>\n<b>reload</b>"; return(true); } else if (arguments.Contains("reload")) { if (sender.CheckPermission("ATC.reload")) { Instance.Config.LoadConfigs(); response = "Done"; return(true); } else { response = Instance.Translation.NoPermissions; return(false); } } else { response = "Invalid argument"; return(false); } } response = Instance.Translation.NoPermissions; return(false); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("035.spawnitem")) { response = "Insufficient permission. Required: 035.spawnitem"; return(false); } if (arguments.Count != 1) { response = "Syntax: 035 item <Amount>"; return(false); } if (!int.TryParse(arguments.At(0), out int amount)) { response = $"Could not parse \"{arguments.At(0)}\" as a number."; return(false); } StringBuilder stringBuilder = StringBuilderPool.Shared.Rent().AppendLine("Spawned Items:"); foreach (Pickup item in API.SpawnItems(amount)) { stringBuilder.AppendLine($"ItemType: {item.itemId} - Position: {item.transform.position}"); } response = StringBuilderPool.Shared.ToStringReturn(stringBuilder); return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (sender.CheckPermission("images.ibc") && arguments.Array != null && arguments.Array.Length > 1 && (arguments.Array[1].Trim().ToLower() == "reset" || arguments.Array[1].Trim().ToLower() == "none")) { foreach (var player in Player.List) { player.ClearBroadcasts(); } response = "Reset broadcasts."; return(true); } HandleCommandObject obj = Util.HandleCommand(arguments, sender, out response, true, "ibroadcast", "images.ibc"); if (obj == null) { return(true); } Timing.KillCoroutines(Images.Singleton.BroadcastHandle); Images.Singleton.BroadcastHandle = Timing.RunCoroutine(ShowBroadcast(obj)); Images.Singleton.Coroutines.Add(Images.Singleton.BroadcastHandle); response = "Creating image and displaying broadcast."; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("di.playerlist")) { response = string.Format(Language.NotEnoughPermissions, "di.playerlist"); return(false); } StringBuilder message = StringBuilderPool.Shared.Rent(); if (Player.Dictionary.Count == 0) { message.Append(Language.NoPlayersOnline); } else { foreach (Player player in Player.List) { message.Append(player.Nickname).Append(" - ").Append(player.UserId).AppendLine(); } } response = message.ToString(); StringBuilderPool.Shared.Return(message); return(true); }
/// <inheritdoc /> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(RequiredPermission)) { response = $"Insufficient permission. Required: {RequiredPermission}"; return(false); } Player player = Player.Get((sender as PlayerCommandSender)?.ReferenceHub); if (arguments.Count > 0) { if (!(Player.Get(arguments.At(0)) is Player ply)) { response = "Could not find the referenced user."; return(false); } player = ply; } if (Scp457.Get(player) != null) { response = $"{player.Nickname} is already a Scp457!"; return(false); } Scp457.Spawn(player); response = $"Spawned {player.Nickname} as a Scp457."; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("953.spawn")) { response = "Insufficient permission. Required: 953.spawn"; return(false); } if (arguments.Count != 1) { response = "Syntax: spawn953 <Player>"; return(false); } Player player = Player.Get(arguments.At(0)); if (player == null) { response = $"Unable to find a user from '{arguments.At(0)}'."; return(false); } player.GameObject.AddComponent <Scp953Component>(); response = $"Set {player.Nickname} to a Scp935."; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(Plugin.Singleton.Config.RequiredPermissions)) { response = "You are not permitted to run this command."; return(false); } string msg = string.Empty; foreach (Dictionary <Type, ICommand> collection in Plugin.Singleton.Commands.Values) { foreach (ICommand command in collection.Values) { if (command.Command == "add" || command.Command == "remove" || command.Command == "update" || command.Command == "list" && !msg.Contains($"{command.Description}")) { msg += $"{command.Command} - {command.Description}\n"; } } } response = msg; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(Plugin.Singleton.PermissionString)) { response = "You are not permitted to run this command."; return(false); } RoleType role = RoleType.Scp93953; if (arguments.Array != null && arguments.Array.Length > 2) { try { role = (RoleType)Enum.Parse(typeof(RoleType), arguments.Array[2], true); } catch (Exception) { Log.Warn($"Enable Command: Unable to parse {arguments.Array[2]}, not a valid role. Using default role."); } } Plugin.Singleton.Methods.EnableGamemode(role, arguments.Array != null && arguments.Array.Any(a => a == "-f" || a == "force")); response = "The gamemode has been enabled."; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("tg.load")) { response = "Permission denied. Required: tg.load"; return(false); } string directory = "Recordings"; if (arguments.Count >= 1) { directory = arguments.At(0); } string fullDirectory = Path.Combine(TestingGrounds.RecordingsDirectory, directory); if (!File.Exists(fullDirectory)) { response = "The specified file does not exist."; return(false); } Methods.CoroutineHandles.Add(Timing.RunCoroutine(Methods.PlayRecording(fullDirectory))); response = "Playing.."; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("scputils.whitelist")) { response = "<color=red> You need a higher administration level to use this command!</color>"; return(false); } else if (arguments.Count < 1) { response = $"<color=yellow>Usage: {Command} <player name/id></color>"; return(false); } else { string target = arguments.Array[1]; Player databasePlayer = target.GetDatabasePlayer(); if (databasePlayer == null) { response = "<color=yellow>Player not found on Database or Player is loading data!</color>"; return(false); } databasePlayer.ASNWhitelisted = false; Database.LiteDatabase.GetCollection <Player>().Update(databasePlayer); response = "Player has been removed from whitelist!"; return(true); } }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(RequiredPermission)) { response = $"{RequiredPermission}の権限がありません。"; return(false); } var builder = StringBuilderPool.Shared.Rent(); foreach (var identity in UnityEngine.Object.FindObjectsOfType <NetworkIdentity>()) { builder.AppendLine($"{identity.transform.name} (layer{identity.transform.gameObject.layer})"); builder.AppendLine($" Components:"); foreach (var i in identity.transform.gameObject.GetComponents <Component>()) { builder.AppendLine($" {i?.name}:{i?.GetType()}"); } builder.AppendLine($" ComponentsInChildren:"); foreach (var j in identity.transform.gameObject.GetComponentsInChildren <Component>()) { builder.AppendLine($" {j?.name}:{j?.GetType()}"); } builder.AppendLine($" ComponentsInParent:"); foreach (var k in identity.transform.gameObject.GetComponentsInParent <Component>()) { builder.AppendLine($" {k?.name}:{k?.GetType()}"); } } builder.AppendLine("---------END OF LIST----------"); response = builder.ToString(); StringBuilderPool.Shared.Return(builder); return(true); }
/// <inheritdoc/> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("sh.spawnteam")) { response = "You don't have permission to execute this command. Required permission: sh.spawnteam"; return(false); } else { uint validPlayers = 0; foreach (Player player in Player.List.Where(x => x.Team == Team.RIP && !x.IsOverwatchEnabled)) { validPlayers++; } if (arguments.Count == 0) { uint maxSquad = UIURescueSquad.Instance.Config.SpawnManager.MaxSquad; if (validPlayers >= maxSquad) { EventHandlers.IsSpawnable = true; Respawn.ForceWave(SpawnableTeamType.NineTailedFox); EventHandlers.IsSpawnable = false; response = $"UIU Rescue Squad team has been successfully spawned with {maxSquad} players!"; return(true); } else { response = $"There is not enough Spectators to spawn UIU Rescue Squad with {maxSquad} players. Required {maxSquad - validPlayers} more."; return(false); } } else { if (!uint.TryParse(arguments.At(0), out uint num) || num == 0) { response = $"\"{arguments.At(0)}\" is not a valid number."; return(false); } if (validPlayers >= num) { EventHandlers.IsSpawnable = true; EventHandlers.MaxPlayers = num; Respawn.ForceWave(SpawnableTeamType.NineTailedFox); EventHandlers.IsSpawnable = false; response = $"UIU Rescue Squad team with {num} players has been spawned."; return(true); } else { response = $"There is not enough Spectators to spawn UIU Rescue Squad with {num} players. Required {num - validPlayers} more."; return(false); } } } }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("scputils.playerdelete")) { response = "<color=red> You need a higher administration level to use this command!</color>"; return(false); } else if (arguments.Count < 1) { response = $"<color=red>Usage: {Command} <player name/id> (You will delete the player from the database)</color>"; return(false); } else { string target = arguments.Array[1].ToString(); Player databasePlayer = target.GetDatabasePlayer(); if (databasePlayer == null) { response = "<color=yellow>Player not found on Database or Player is loading data!</color>"; return(false); } databasePlayer.Reset(); Database.LiteDatabase.GetCollection <Player>().Delete(databasePlayer.Id); response = $"{target} has been deleted from the database!"; return(true); } }
/// <inheritdoc/> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("ep.removegroup")) { response = "You can't add a new group, you don't have \"ep.removegroup\" permission."; return(false); } if (arguments.Count == 1) { Permissions.Reload(); if (!Permissions.Groups.ContainsKey(arguments.At(0))) { response = $"Group {arguments.At(0)} does not exists."; return(false); } Permissions.Groups.Remove(arguments.At(0)); Permissions.Save(); Permissions.Reload(); response = $"Group {arguments.At(0)} has been removed."; return(true); } else { response = "EP GROUPS REMOVE <NAME>"; return(false); } }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("di.stafflist")) { response = string.Format(Language.NotEnoughPermissions, "di.stafflist"); return(false); } StringBuilder message = StringBuilderPool.Shared.Rent(); foreach (Player player in Player.List) { if (player.RemoteAdminAccess) { message.Append(player.Nickname).Append(" - ").Append(player?.GroupName).AppendLine(); } } if (message.Length == 0) { message.Append(Language.NoStaffOnline); } response = message.ToString(); StringBuilderPool.Shared.Return(message); return(true); }
/// <inheritdoc/> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("customitems.list.registered")) { response = "Permission Denied, required: customitems.list.registered"; return(false); } if (arguments.Count != 0) { response = "list registered"; return(false); } if (CustomItem.Registered.Count == 0) { response = "There are no custom items currently on this server."; return(false); } StringBuilder message = StringBuilderPool.Shared.Rent().AppendLine(); message.Append("[Registered custom items (").Append(CustomItem.Registered.Count).AppendLine(")]"); foreach (CustomItem customItem in CustomItem.Registered) { message.Append('[').Append(customItem.Id).Append(". ").Append(customItem.Name).Append(" (").Append(customItem.Type).Append(')').AppendLine("]"); } response = StringBuilderPool.Shared.ToStringReturn(message); return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { Player player; if (!sender.CheckPermission("spawn999")) { response = "You don't have enough permissions."; return(false); } else if (arguments.Count != 1 || !int.TryParse(arguments.At(0), out int id)) { response = "Command failed, incorrect arguments."; return(false); } else if ((player = Player.Get(id)) == null) { response = $"Player with id {id} can't be found."; return(false); } else if (Scp999Manager.IsScp999(player)) { response = "Player is already SCP-999."; return(false); } else { Scp999Manager.MakeScp999(player); response = $"Ok, {player.Nickname} is SCP-999 now."; return(true); } }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (arguments.Count != 0) { response = string.Format(DiscordIntegration.Language.InvalidParametersError, 0); return(false); } if (!sender.CheckPermission("di.reload.syncedroles")) { response = string.Format(DiscordIntegration.Language.NotEnoughPermissions, "di.reload.syncedroles"); return(false); } if (!DiscordIntegration.Network.IsConnected) { response = DiscordIntegration.Language.BotIsNotConnectedError; return(false); } DiscordIntegration.Instance.SyncedUsersCache.Clear(); _ = DiscordIntegration.Network.SendAsync(new RemoteCommand("loadSyncedRoles", sender.GetCompatible())); response = DiscordIntegration.Language.ReloadSyncedRolesSuccess; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("scputils.dupeip")) { response = "<color=red> You need a higher administration level to use this command!</color>"; return(false); } if (arguments.Count != 1) { response = $"<color=yellow>Usage: {Command} <player name/id></color>"; return(false); } string targetName = arguments.Array[1]; Player databasePlayer = targetName.GetDatabasePlayer(); if (databasePlayer == null) { response = "<color=yellow>Player not found on Database or Player is loading data!</color>"; return(false); } StringBuilder message = new StringBuilder($"<color=green>[Accounts associated with the same IP ({databasePlayer.Ip} - {databasePlayer.Name} {databasePlayer.Id}@{databasePlayer.Authentication})]</color>").AppendLine(); foreach (var ips in Database.LiteDatabase.GetCollection <Player>().FindAll().Where(ip => ip.Ip == databasePlayer.Ip).ToList()) { message.AppendLine(); message.Append( $"Player: <color=yellow>{ips.Name} ({ips.Id}{ips.Authentication})</color>\nFirst Join: <color=yellow>{ips.FirstJoin}</color>\nIsRestricted: <color=yellow>{ips.IsRestricted()}</color>\nIsBanned: <color=yellow>{ips.IsBanned()}</color>\nTotal played as SCP: <color=yellow>{ips.TotalScpGamesPlayed}</color>\nTotal suicide: <color=yellow>{ips.ScpSuicideCount}</color>") .AppendLine(); } response = message.ToString(); return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { Player player; if (!sender.CheckPermission("manager.spawn")) { response = "You don't have enough permissions."; return(false); } else if (arguments.Count != 1 || !int.TryParse(arguments.At(0), out int id)) { response = "Incorrect arguments. Try: spawnmanager"; return(false); } else if ((player = Player.Get(id)) == null) { response = $"Player with the id {id} can't be found."; return(false); } else if (EventHandlers.manager.Count != 0) { response = "There is already a Manager in this facility!"; return(false); } else { Timing.CallDelayed(1f, delegate() { EventHandlers.spawnmanager(player); }); } response = $"Done, {player.Nickname} is now the Manager!!"; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (arguments.Count != 1) { response = string.Format(DiscordIntegration.Language.InvalidParametersError, 1); return(false); } if (!sender.CheckPermission("di.remove.role")) { response = string.Format(DiscordIntegration.Language.NotEnoughPermissions, "di.remove.role"); return(false); } if (!DiscordIntegration.Network.IsConnected) { response = DiscordIntegration.Language.BotIsNotConnectedError; return(false); } if (!arguments.At(0).IsValidDiscordRoleId()) { response = string.Format(DiscordIntegration.Language.InvalidDiscordRoleIdError, arguments.At(0)); return(false); } _ = DiscordIntegration.Network.SendAsync(new RemoteCommand("removeRole", arguments.At(0), sender.GetCompatible())); response = DiscordIntegration.Language.RemoveRoleCommandSuccess; return(false); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(Plugin.Singleton.Config.RequiredPermissions)) { response = "You are not permitted to run this command."; return(false); } if (Plugin.Singleton.QueueHandler.Queue.Count == 0) { response = "There are no currently queued gamemodes."; return(true); } string msg = string.Empty; int counter = 1; foreach (Tuple <IPlugin <IConfig>, string> plugin in Plugin.Singleton.QueueHandler.Queue) { msg += $"{counter}: {plugin.Item1.Name}\n"; counter++; } response = msg; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("scputils.handlebadges")) { response = "<color=red> You need a higher administration level to use this command!</color>"; return(false); } else if (arguments.Count < 1) { response = $"<color=red>Usage: {Command} <player name/id></color>"; return(false); } else { string target = arguments.Array[1].ToString(); Player databasePlayer = target.GetDatabasePlayer(); if (databasePlayer == null) { response = "<color=yellow>Player not found on Database or Player is loading data!</color>"; return(false); } databasePlayer.PreviousBadge = ""; Database.LiteDatabase.GetCollection <Player>().Update(databasePlayer); response = $"{target}'s previous badge removed!"; return(true); } }
/// <inheritdoc/> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("ep.addgroup")) { response = "You can't add a new group, you don't have \"ep.addgroup\" permission."; return(false); } if (arguments.Count == 1) { Permissions.Reload(); if (Permissions.Groups.ContainsKey(arguments.At(0))) { response = $"Group {arguments.At(0)} already exists."; return(false); } Permissions.Groups.Add(arguments.At(0), new Features.Group()); Permissions.Save(); response = $"Group {arguments.At(0)} has been added."; return(true); } else { response = "EP GROUPS ADD <NAME>"; return(false); } }
/// <inheritdoc/> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("customitems.list.insideinventories")) { response = "Permission Denied, required: customitems.list.insideinventories"; return(false); } if (arguments.Count != 0) { response = "list insideinventories"; return(false); } StringBuilder message = StringBuilderPool.Shared.Rent(); int count = 0; foreach (CustomItem customItem in CustomItem.Registered) { if (customItem.InsideInventories.Count == 0) { continue; } message.AppendLine() .Append('[').Append(customItem.Id).Append(". ").Append(customItem.Name).Append(" (").Append(customItem.Type).Append(')') .Append(" {").Append(customItem.InsideInventories.Count).AppendLine("}]").AppendLine(); count += customItem.InsideInventories.Count; foreach (int insideInventory in customItem.InsideInventories) { Player owner = Player.List.FirstOrDefault(player => player.Inventory.items.Any(item => item.uniq == insideInventory)); message.Append(insideInventory).Append(". "); if (owner == null) { message.AppendLine("Nobody"); } else { message.Append(owner.Nickname).Append(" (").Append(owner.UserId).Append(") (").Append(owner.Id).Append(") [").Append(owner.Role).AppendLine("]"); } } } if (message.Length == 0) { message.Append("There are no custom items inside inventories."); } else { message.Insert(0, Environment.NewLine + "[Custom items inside inventories (" + count + ")]" + Environment.NewLine); } response = StringBuilderPool.Shared.ToStringReturn(message); return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(RequiredPermission)) { response = $"{RequiredPermission}の権限がありません。"; return(false); } var stringBuilder = StringBuilderPool.Shared.Rent(); stringBuilder.AppendLine("[稼働中のCoroutine]"); stringBuilder.AppendLine($"FixedUpdate:{Timing.Instance.FixedUpdateCoroutines}"); stringBuilder.AppendLine($"Update:{Timing.Instance.UpdateCoroutines}"); stringBuilder.AppendLine($"LateUpdate:{Timing.Instance.LateUpdateCoroutines}"); stringBuilder.AppendLine($"SlowUpdate:{Timing.Instance.SlowUpdateCoroutines}"); stringBuilder.AppendLine($"RealtimeUpdate:{Timing.Instance.RealtimeUpdateCoroutines}"); stringBuilder.AppendLine($"EditorUpdate:{Timing.Instance.EditorUpdateCoroutines}"); stringBuilder.AppendLine($"EditorSlowUpdate:{Timing.Instance.EditorSlowUpdateCoroutines}"); stringBuilder.AppendLine($"EndOfFrameUpdate:{Timing.Instance.EndOfFrameCoroutines}"); stringBuilder.AppendLine($"ManualTimeframeCoroutines:{Timing.Instance.ManualTimeframeCoroutines}"); response = stringBuilder.ToString(); StringBuilderPool.Shared.Return(stringBuilder); return(true); }
/// <inheritdoc /> public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(RequiredPermission)) { response = $"Insufficient permission. Required: {RequiredPermission}"; return(false); } if (arguments.Count < 1) { response = "Usage: \"lights <duration> [HczOnly?]\""; return(false); } if (!float.TryParse(arguments.At(0), out float duration)) { response = $"Could not parse \"{arguments.At(0)}\" as a duration."; return(false); } bool hczOnly = false; if (arguments.Count > 1) { hczOnly = Plugin.Instance.Config.Command.AcceptedArguments.Contains(arguments.At(1), StringComparison.OrdinalIgnoreCase); } int shortDuration = (int)duration; Plugin.EventHandlers.TurnOffLights(duration, hczOnly); response = $"The lights have been turned off for {shortDuration} {(shortDuration == 1 ? "second" : "seconds")} {(hczOnly ? "in heavy containment" : "facility-wide")}."; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission(RequiredPermission)) { response = $"{RequiredPermission}の権限がありません。"; return(false); } var player = Player.Get(sender); if (player == null) { response = "このコマンドはプレイヤーのみ使用できます。"; return(false); } if (SanyaPlugin.Instance.Handlers.Overrided != null) { SanyaPlugin.Instance.Handlers.Overrided = null; } else { SanyaPlugin.Instance.Handlers.Overrided = player; } response = $"{SanyaPlugin.Instance.Handlers.Overrided?.Nickname}をセットしました。"; return(true); }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { if (!sender.CheckPermission("scputils.broadcastdelete")) { response = "<color=red> You need a higher administration level to use this command!</color>"; return(false); } else if (arguments.Count < 1) { response = $"<color=yellow>Usage: {Command} <id>"; return(false); } else { if (Database.LiteDatabase.GetCollection <BroadcastDb>().Exists(broadcast => broadcast.Id == arguments.Array[1].ToString())) { Database.LiteDatabase.GetCollection <BroadcastDb>().Delete(arguments.Array[1].ToString()); response = "Success!"; return(true); } else { response = "Id does not exist!"; return(false); } } }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { string target; if (!sender.CheckPermission("scputils.showwarns")) { target = Exiled.API.Features.Player.Get(((CommandSender)sender).SenderId).ToString().Split(new string[] { " " }, StringSplitOptions.None)[2]; } else { if (arguments.Count < 1) { response = $"<color=yellow>Usage: {Command} <player name/id></color>"; return(false); } else { target = arguments.Array[1].ToString(); } } Player databasePlayer = target.GetDatabasePlayer(); if (databasePlayer == null) { response = $"<color=yellow>Player not found on Database or Player is loading data!</color>"; return(false); } if (databasePlayer.SuicideDate.Count == 0) { response = "Player has no warnings"; return(true); } ScpUtils.StaticInstance.Functions.FixBanTime(databasePlayer); StringBuilder message = new StringBuilder($"[{databasePlayer.Name} ({databasePlayer.Id}@{databasePlayer.Authentication})]").AppendLine().AppendLine(); message.AppendLine($"ID: {databasePlayer.SuicideDate.Count - 1}"); message.AppendLine($"Date: {databasePlayer.SuicideDate[databasePlayer.SuicideDate.Count - 1]}"); message.AppendLine($"Death type: {databasePlayer.SuicideType[databasePlayer.SuicideType.Count - 1]}"); message.AppendLine($"Class: {databasePlayer.SuicideScp[databasePlayer.SuicideScp.Count - 1]}"); message.AppendLine($"Punishment: {databasePlayer.SuicidePunishment[databasePlayer.SuicidePunishment.Count - 1]}"); message.AppendLine($"Staffer: {databasePlayer.LogStaffer[databasePlayer.LogStaffer.Count - 1]}"); if (databasePlayer.SuicidePunishment[databasePlayer.SuicidePunishment.Count - 1] == "Ban") { message.AppendLine($"Expire: {databasePlayer.Expire[databasePlayer.Expire.Count - 1]}"); } if (databasePlayer.SuicidePunishment[databasePlayer.SuicidePunishment.Count - 1] == "Round-Ban") { message.AppendLine($"Round(s) ban: {databasePlayer.RoundsBan[databasePlayer.RoundsBan.Count - 1]}"); } message.AppendLine($"Expire: {databasePlayer.Expire[databasePlayer.Expire.Count - 1]}"); message.AppendLine($"User Notified: {databasePlayer.UserNotified[databasePlayer.UserNotified.Count - 1]}"); message.AppendLine(); response = $"{message}"; return(true); }