Exemple #1
0
        /// <inheritdoc/>
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            bool success = true;

            if (!Configs.Instance.Execute(arguments, sender, out string responsetemp))
            {
                success = false;
            }
            sender.Respond(responsetemp);

            if (!Translations.Instance.Execute(arguments, sender, out responsetemp))
            {
                success = false;
            }
            sender.Respond(responsetemp);

            if (!GamePlay.Instance.Execute(arguments, sender, out responsetemp))
            {
                success = false;
            }
            sender.Respond(responsetemp);

            if (!RemoteAdmin.Instance.Execute(arguments, sender, out responsetemp))
            {
                success = false;
            }
            sender.Respond(responsetemp);

            if (!Plugins.Instance.Execute(arguments, sender, out responsetemp))
            {
                success = false;
            }
            sender.Respond(responsetemp);

            if (success)
            {
                response = "Reloaded all configs and plugins successfully!";
            }
            else
            {
                response = "Failed to reload all configs and plugins. Read above.";
            }

            return(success);
        }
Exemple #2
0
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            if (!sender.CheckPermission("tg.save"))
            {
                response = "Permission denied. Required: tg.save";
                return(false);
            }

            if (arguments.Count < 2)
            {
                response =
                    "Usage: record <name> <seconds> (delete / (force -> If a directory with the same name should be overwritten))";
                return(false);
            }

            string directory     = arguments.At(0);
            string fullDirectory = Path.Combine(TestingGrounds.SaveStateDirectory, directory);

            if (Directory.Exists(fullDirectory))
            {
                if (arguments.Count != 3)
                {
                    response = "A save already exists with that name!" +
                               "\nSpecify the \"force\" parameter to overwrite or \"delete\" parameter to remove.";
                    return(false);
                }

                switch (arguments.At(2))
                {
                case "d":
                case "delete":
                    Directory.Delete(fullDirectory);
                    response = $"Recording under \"{directory}\" have been deleted.";
                    return(false);

                case "f":
                case "force":
                    sender.Respond("SAVE#Overwriting..");
                    break;

                default:
                    response = "A save already exists with that name and an incorrect parameter was specified." +
                               "\nSpecify the \"force\" parameter to overwrite or \"delete\" parameter to remove.";
                    return(false);
                }
            }

            if (!int.TryParse(arguments.At(1), out int seconds))
            {
                response = "Please enter in a valid number as an argument.";
                return(false);
            }

            Methods.CoroutineHandles.Add(Timing.RunCoroutine(Methods.Record(directory, seconds)));
            response = $"The next {seconds} seconds will now be recorded.";
            return(true);
        }
Exemple #3
0
        /// <inheritdoc/>
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            sender.Respond("Reloading plugins...");

            Loader.LoadPlugins();

            response = "Plugins have been reloaded successfully!";

            return(true);
        }
Exemple #4
0
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            if (!sender.CheckPermission("tg.save"))
            {
                response = "Permission denied. Required: tg.save";
                return(false);
            }

            if (arguments.Count > 2)
            {
                response =
                    "Usage: save (name) (delete / (force -> If a file with the same name should be overwritten))";
                return(false);
            }

            string fileName      = arguments.Count > 0 ? arguments.At(0) : "Save";
            string fullDirectory = Path.Combine(TestingGrounds.SaveStateDirectory, fileName);

            if (Directory.GetFiles(TestingGrounds.SaveStateDirectory).Any(file => file == fileName))
            {
                if (arguments.Count != 2)
                {
                    response = "A save already exists with that name!" +
                               "\nSpecify the \"force\" parameter to overwrite or \"delete\" parameter to remove.";
                    return(false);
                }

                switch (arguments.At(1))
                {
                case "d":
                case "delete":
                    File.Delete(fullDirectory);
                    response = $"Save \"{fileName}\" deleted.";
                    return(false);

                case "f":
                case "force":
                    sender.Respond("SAVE#Overwriting..");
                    break;

                default:
                    response = "A save already exists with that name and an incorrect parameter was specified." +
                               "\nSpecify the \"force\" parameter to overwrite or \"delete\" parameter to remove.";
                    return(false);
                }
            }

            Methods.SaveState(fullDirectory);
            response = $"Game saved with the name \"{fileName}\"";
            return(true);
        }
Exemple #5
0
        /// <inheritdoc/>
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            if (!sender.CheckPermission("ee.reloadplugins"))
            {
                response = "You can't reload plugins, you don't have \"ee.reloadplugins\" permission.";
                return(false);
            }

            sender.Respond("Reloading plugins...");

            Loader.ReloadPlugins();

            response = "Plugins have been reloaded successfully!";
            return(true);
        }
Exemple #6
0
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            if (!sender.CheckPermission("ast.respawning"))
            {
                response = "You can't spawn MTF, you don't have \"ast.respawning\" permission.";
                return(false);
            }

            if (Respawn.IsSpawning)
            {
                response = "A team is currently spawning, please try again.";
                return(false);
            }
            sender.Respond("Starting...");
            Respawn.SummonNtfChopper();
            //            RespawnEffectsController.ExecuteAllEffects(RespawnEffectsController.EffectType.Selection, SpawnableTeamType.NineTailedFox);
            Stopwatch stopwatch = Stopwatch.StartNew();

            while (true)
            {
                //some other processing to do possible
                if (stopwatch.ElapsedMilliseconds >= 15000)
                {
                    break;
                }
            }
            RespawnManager.Singleton.ForceSpawnTeam(SpawnableTeamType.NineTailedFox);
            if (sender is PlayerCommandSender player)
            {
                response = $"MTF and chopper spawned by {player.Nickname}";
                return(true);
            }
            else
            {
                response = "MTF and chopper spawned by server console";
                return(true);
            }
        }
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            if (!sender.CheckPermission("ast.respawning"))
            {
                response = "You can't spawn chaos, you don't have \"ast.respawning\" permission.";
                return(false);
            }

            if (Respawn.IsSpawning)
            {
                response = "A team is currently spawning, please try again.";
                return(false);
            }
            sender.Respond("Starting...");
            Respawn.SummonChaosInsurgencyVan(true);
            Stopwatch stopwatch = Stopwatch.StartNew();

            while (true)
            {
                //some other processing to do possible
                if (stopwatch.ElapsedMilliseconds >= 10000)
                {
                    break;
                }
            }
            RespawnManager.Singleton.ForceSpawnTeam(SpawnableTeamType.ChaosInsurgency);
            if (sender is PlayerCommandSender player)
            {
                response = $"Chaos with van spawned by {player.Nickname}";
                return(true);
            }
            else
            {
                response = "Chaos with van spawned by server console";
                return(true);
            }
        }
Exemple #8
0
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            var player = Player.Get((sender as CommandSender).SenderId);

            if (!player.CheckPermission("npc"))
            {
                response = "No permission";
                return(true);
            }
            if (arguments.Count == 0)
            {
                sender.Respond(" NPC Commands:");
                sender.Respond(" - npc list");
                sender.Respond(" - npc remove <npcid>");
                sender.Respond(" - npc create <name> <roletype>");
                sender.Respond(" - npc edit <npcid>");
                sender.Respond(" - npc bring");
                sender.Respond(" - npc setpos <posX> <posY> <posZ>");
                sender.Respond(" - npc setrot <rotX> <rotY> <rotZ>");
                sender.Respond(" - npc setscale <scaleX> <scaleY> <scaleZ>");
                sender.Respond(" ");
            }
            else if (arguments.Count >= 1)
            {
                switch (arguments.At(0).ToLower())
                {
                case "list":
                    sender.Respond(" NPC List:");
                    foreach (var npc in NpcManager.singleton.playerNpcsData[(ushort)ServerConsole.Port])
                    {
                        sender.Respond($" - [{npc.NpcID}] {npc.NpcName} | Pos: [{(int)npc.Position.x}, {(int)npc.Position.y}, {(int)npc.Position.z}", true);
                    }
                    sender.Respond(" ");
                    break;

                case "create":
                    if (arguments.Count == 3)
                    {
                        Player p  = Player.Get((sender as CommandSender).SenderId);
                        int    id = NpcManager.singleton.CreateNPC(arguments.At(1), "", "", short.Parse(arguments.At(2)), p.Position, p.ReferenceHub.PlayerCameraReference.rotation.eulerAngles, new UnityEngine.Vector3(1f, 1f, 1f));
                        if (NpcManager.singleton.selectedNpcs.ContainsKey(p.UserId))
                        {
                            NpcManager.singleton.selectedNpcs[p.UserId] = id;
                        }
                        else
                        {
                            NpcManager.singleton.selectedNpcs.Add(p.UserId, id);
                        }
                        sender.Respond("Created npc with name " + arguments.At(1));
                        sender.Respond("Selected npc with id " + id);
                    }
                    break;

                case "remove":
                    if (arguments.Count == 2)
                    {
                        Player p     = Player.Get((sender as CommandSender).SenderId);
                        int    npcid = int.Parse(arguments.At(1));
                        NpcManager.singleton.RemoveNPC(npcid);
                        sender.Respond("Removed npc with id " + npcid);
                    }
                    break;

                case "load":
                    NpcManager.singleton.Reload();
                    break;

                case "edit":
                    if (arguments.Count == 2)
                    {
                        Player p     = Player.Get((sender as CommandSender).SenderId);
                        int    npcid = int.Parse(arguments.At(1));
                        if (NpcManager.singleton.playerNpcsData[(ushort)ServerConsole.Port].Where(p2 => p2.NpcID == npcid).FirstOrDefault() != null)
                        {
                            if (NpcManager.singleton.selectedNpcs.ContainsKey(p.UserId))
                            {
                                NpcManager.singleton.selectedNpcs[p.UserId] = npcid;
                            }
                            else
                            {
                                NpcManager.singleton.selectedNpcs.Add(p.UserId, npcid);
                            }
                            sender.Respond("Selected npc with id " + npcid);
                        }
                        else
                        {
                            sender.Respond("Npc with id " + npcid + " not found.");
                        }
                    }
                    break;
                }
            }
            response = "";
            return(true);
        }