private bool InterpCommand(string txt) { string str = txt.IndexOf(" ") > -1 ? txt.Substring(0, txt.IndexOf(" ")) : txt; string cstr = txt.Substring(txt.IndexOf(" ") + 1); string name; switch (str) { case "!exp": mClient.SendMessage(SendType.Message, "Typpo", "I've gained " + (Globals.ExpGainedTotal + Globals.ExpGained) + " exp"); return(true); case "!ver": mClient.SendMessage(SendType.Message, "Typpo", string.Format("Using version {0} beta {1}", Version.Full, Version.Beta)); return(true); case "!die": Globals.Terminate = true; Quit(); Application.Exit(); return(true); case "!reconnect": Quit(); int t; if (!int.TryParse(cstr, out t)) { t = 10; } Thread.Sleep(t * 1000); IrcThread(); return(true); case "!id": if (mUI.AccountsPanel.Engine.MainAccount == null) { name = "RGA " + mUI.Settings.LastUsername; } else { name = string.Format("{0} ({1}); {2}", mUI.AccountsPanel.Engine.MainAccount.Name, mUI.AccountsPanel.Engine.MainAccount.Server, mUI.Settings.LastUsername); } mClient.SendMessage(SendType.Message, "Typpo", "My name is " + name); return(true); case "!msg": if (txt.Length > 4) { MessageBox.Show(cstr, "DCT Notification"); } return(true); case "!do": if (txt.Length > 3) { HandleInput(cstr); } return(true); case "!ping": mClient.SendMessage(SendType.Message, "Typpo", "pong"); return(true); case "!debug": mUI.DebugVisible = true; mClient.SendMessage(SendType.Message, "Typpo", "debug visible"); return(true); case "!nodebug": mUI.DebugVisible = false; mClient.SendMessage(SendType.Message, "Typpo", "debug hidden"); return(true); case "!spider": mUI.StartSpider(cstr); mClient.SendMessage(SendType.Message, "Typpo", "spidering"); return(true); case "!exportrooms": Pathfinder.ExportRooms(); mClient.SendMessage(SendType.Message, "Typpo", "exporting rooms"); return(true); case "!exportmobs": Pathfinder.ExportMobs(); mClient.SendMessage(SendType.Message, "Typpo", "exporting mobs"); return(true); case "!cleardb": Pathfinder.Rooms.Clear(); Pathfinder.Mobs.Clear(); mClient.SendMessage(SendType.Message, "Typpo", "cleared db"); return(true); case "!currentloc": name = "null"; int id = -1; if (mUI.AccountsPanel.Engine.MainAccount != null && mUI.AccountsPanel.Engine.MainAccount.Mover.Location != null) { name = mUI.AccountsPanel.Engine.MainAccount.Mover.Location.Name; id = mUI.AccountsPanel.Engine.MainAccount.Mover.Location.Id; } mClient.SendMessage(SendType.Message, "Typpo", string.Format("Loc: {0} ({1})", name, id)); return(true); case "!processes": string proc = Process.GetCurrentProcess().ProcessName; Process[] processes = Process.GetProcessesByName(proc); mClient.SendMessage(SendType.Message, "Typpo", string.Format("{0} dcts running", processes.Length)); return(true); case "!quiet": DisableChat(); return(true); case "!call": if (cstr == BugReporter.IDENTIFIER) { mClient.SendMessage(SendType.Message, "Typpo", "That's me!"); } return(true); } return(false); }