Example #1
0
 public void cmdRestart(string message)
 {
     logToFile("System restarted by " + myPlayer.UserName, "admin");
     foreach (Connection c in connections)
     {
         try
         {
             if (c.socket.Connected && c.myPlayer != null)
             {
                 c.Writer.Write(AnsiColour.Colorise("^RSYSTEM IS RESTARTING - BACK IN A JIFFY!\r\n", c.myPlayer.DoColour));
                 c.Writer.Flush();
                 c.Writer.Close();
                 c.socket.Close();
             }
         }
         catch
         {
         }
     }
     Server.Restart();
 }
Example #2
0
 public void cmdTitle(string message)
 {
     if (message == "" || AnsiColour.Colorise(message, true) == "")
     {
         sendToUser("You remove your title", true, false, false);
         myPlayer.Title = "";
         myPlayer.SavePlayer();
     }
     else
     {
         if (AnsiColour.Colorise(message, true).Length > 40)
         {
             sendToUser("Title too long, try again", true, false, false);
         }
         else
         {
             myPlayer.Title = message + "{reset}";
             sendToUser("You change your title to read: " + myPlayer.Title, true, false, false);
             myPlayer.SavePlayer();
         }
     }
 }
Example #3
0
 public void cmdPrefix(string message)
 {
     if (message == "" || AnsiColour.Colorise(message, true) == "")
     {
         sendToUser("You remove your prefix", true, false, false);
         myPlayer.Prefix = "";
         myPlayer.SavePlayer();
     }
     else
     {
         if (AnsiColour.Colorise(message, true).Length > 10)
         {
             sendToUser("Prefix too long, try again", true, false, false);
         }
         else
         {
             myPlayer.Prefix = message + "{reset}";
             sendToUser("You change your prefix to " + myPlayer.Prefix, true, false, false);
             myPlayer.SavePlayer();
         }
     }
 }
Example #4
0
 public void cmdPrompt(string message)
 {
     if (message == "" || AnsiColour.Colorise(message, true) == "")
     {
         sendToUser("You reset your prompt", true, false, false);
         myPlayer.Prompt = AppSettings.Default.TalkerName + ">";
         myPlayer.SavePlayer();
     }
     else
     {
         if (AnsiColour.Colorise(message, true).Length > 20)
         {
             sendToUser("Prompt too long, try again", true, false, false);
         }
         else
         {
             myPlayer.Prompt = message + "{reset}>";
             sendToUser("You set your prompt to: " + myPlayer.Prompt, true, false, false);
             myPlayer.SavePlayer();
         }
     }
 }
Example #5
0
 public void cmdTagline(string message)
 {
     if (message == "" && myPlayer.Tagline == "")
     {
         sendToUser("Syntax: tagline <text>", true, false, false);
     }
     else if (message == "")
     {
         myPlayer.Tagline = "";
         myPlayer.SavePlayer();
         sendToUser("You blank your tagline", true, false, false);
     }
     else if (AnsiColour.Colorise(message, true).Length > 160)
     {
         sendToUser("Message too long - try again", true, false, false);
     }
     else
     {
         myPlayer.Tagline = message;
         myPlayer.SavePlayer();
         sendToUser("You set your tagline to: " + myPlayer.Tagline, true, false, false);
     }
 }
Example #6
0
        public void cmdKill(string message)
        {
            if (message == "")
            {
                sendToUser("Syntax: kill <player name>", true, false, false);
            }
            else
            {
                string[] target = matchPartial(message);

                if (target.Length == 0)
                {
                    sendToUser("No such user \"" + message.Substring(0, message.IndexOf(" ")) + "\"");
                }
                else if (target.Length > 1)
                {
                    sendToUser("Multiple matches found: " + target.ToString() + " - Please use more letters", true, false, false);
                }
                else if (target[0].ToLower() == myPlayer.UserName.ToLower())
                {
                    sendToUser("Trying to scare yourself?!", true, false, false);
                }
                else
                {
                    if (isOnline(target[0]))
                    {
                        foreach (Connection c in connections)
                        {
                            if (c.socket.Connected && c.myPlayer != null && c.myPlayer.UserName.ToLower() == target[0].ToLower())
                            {
                                if (c.myPlayer.PlayerRank > myPlayer.PlayerRank)
                                {
                                    sendToUser("Trying to kill a higher rank eh? I think not fluffy puppy!", true, false, false);
                                    c.sendToUser("^R" + myPlayer.UserName + " just tried to kill you ... ^N", true, false, false);
                                    return;
                                }
                                else
                                {
                                    string scarefile = AnsiColour.Colorise(loadTextFile(@"files" + Path.DirectorySeparatorChar + "kill.txt"));
                                    sendToStaff("[NUKE] " + c.myPlayer.UserName + " has just been killed by " + myPlayer.UserName, (int)Player.Rank.Admin, true);
                                    c.sendToUser(scarefile, true, false, false);
                                    c.Writer.Flush();

                                    c.socket.Close();
                                    c.OnDisconnect();
                                    return;
                                }
                            }
                        }
                    }

                    // Check to see if they were married, if so then make the other person a widow
                    Player p = Player.LoadPlayer(target[0], 0);
                    if (p.Spouse != "" && (p.maritalStatus > Player.MaritalStatus.Single && p.maritalStatus < Player.MaritalStatus.Divorced))
                    {
                        Player t = Player.LoadPlayer(p.Spouse, 0);
                        if (t != null)
                        {
                            t.Spouse        = "";
                            t.maritalStatus = Player.MaritalStatus.Widowed;
                            t.SavePlayer();
                            if (isOnline(t.UserName))
                            {
                                foreach (Connection c in connections)
                                {
                                    if (c.myPlayer != null && c.myPlayer.UserName.ToLower() == t.UserName.ToLower())
                                    {
                                        c.myPlayer = t;
                                        c.sendToUser("You have just been made a widow by " + myPlayer.UserName, true, false, false);
                                    }
                                }
                            }
                        }
                    }
                    p = null;

                    // Now need to kill the user file
                    Player.RemovePlayerFile(target[0]);
                    logToFile("[Nuke] Player \"" + target[0] + "\" has just been killed by " + myPlayer.UserName, "admin");
                }
            }
        }