Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
            }
        }
Пример #11
0
        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);
        }
Пример #12
0
        /// <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);
                    }
                }
            }
        }
Пример #13
0
        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);
            }
        }
Пример #14
0
        /// <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);
            }
        }
Пример #15
0
        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);
        }
Пример #16
0
        /// <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);
        }
Пример #17
0
        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);
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
        }
Пример #21
0
        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);
        }
Пример #22
0
        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);
        }
Пример #23
0
        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);
            }
        }
Пример #24
0
        /// <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);
            }
        }
Пример #25
0
        /// <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);
        }
Пример #26
0
        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);
        }
Пример #27
0
        /// <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);
        }
Пример #29
0
        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);
                }
            }
        }
Пример #30
0
        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);
        }