/// <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); }
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); }
/// <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); }
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); }
/// <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); }
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); } }
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); }