public override bool Execute(PlayerCharacter callingPlayer, string parameters) { foreach (Character ch in Character.CharacterList) { if( ch is PlayerCharacter) { ((PlayerCharacter)ch).SendToCharacter(String.Format("[System] Vortex MUD has been shutdown by {0}.", callingPlayer.Name)); } } MUDServer.Running = false; return true; }
public override bool Execute(PlayerCharacter callingPlayer, string parameters) { callingPlayer.SendToCharacter("Online Players\n\r"); callingPlayer.SendToCharacter("==============\n\r"); int playerCount = 0; foreach (var ch in Character.CharacterList.Where(c => c is PlayerCharacter)) { callingPlayer.SendToCharacter(String.Format(" {0}\n\r", ch.Name)); playerCount ++; } callingPlayer.SendToCharacter(String.Format("\n\r{0} total players online\n\r", playerCount)); return true; }
public override bool Execute(PlayerCharacter callingPlayer, string parameters) { Room inRoom = callingPlayer.InRoom; callingPlayer.SendToCharacter(String.Format("[{0} = {1}]\n\r", inRoom._title.RawString, inRoom.Vnum)); callingPlayer.SendToCharacter(inRoom._description + "\n\r"); foreach (var ch in inRoom.CharactersInRoom) { if (ch != callingPlayer) { callingPlayer.SendToCharacter(String.Format("{0} is here.\n\r", ch.Name)); if (ch is PlayerCharacter && parameters != "quiet") { ((PlayerCharacter)ch).SendToCharacter(String.Format("{0} takes a look around.\n\r", callingPlayer.Name)); } } } return true; }
public override bool Execute(PlayerCharacter callingPlayer, string parameters) { if (parameters.Length == 0) { callingPlayer.SendToCharacter("What do you want to say?\n\r"); return false; } callingPlayer.SendToCharacter(String.Format("{{gYou OOC \"{{x{0}{{g\"{{x\n\r", parameters)); ColorString toOthers = new ColorString(String.Format("{{g{0} OOC \"{{x{1}{{g\"{{x\n\r", callingPlayer.Name, parameters)); foreach (Character ch in Character.CharacterList) { if (ch is PlayerCharacter) { PlayerCharacter player = ch as PlayerCharacter; if (player != callingPlayer) { player.SendToCharacter(toOthers); } } } return true; }
public override bool Execute(PlayerCharacter callingPlayer, string parameters) { if (parameters.Length == 0) { callingPlayer.SendToCharacter("What do you want to say?\n\r"); return false; } ColorString toPlayer = new ColorString(String.Format("You say, \"{0}\"\n\r", parameters)); ColorString toOthers = new ColorString(String.Format("{0} says, \"{1}\"\n\r", callingPlayer.Name, parameters)); callingPlayer.SendToCharacter(toPlayer); // for each character in the room foreach (var ch in callingPlayer.InRoom.PlayerCharactersInRoom) { // we need to say what needs to be said if(ch != callingPlayer) { ch.SendToCharacter(toOthers); } } return true; }
static void CheckForNewConnections(ConnectionListener IncomingConnections) { List<Socket> newConnections = IncomingConnections.AcceptConnections(); foreach (Socket sock in newConnections) { PlayerCharacter newPlayer = new PlayerCharacter(new PlayerSocket(sock)); WriteToAllCharacters(String.Format("{0} has connected.\n\r", newPlayer.Name)); Character.AddCharacterToGame(newPlayer); Room.GetRoom (1).AddCharacterToRoom(newPlayer); CommandHandler.GetMatchingCommand ("look").Execute(newPlayer, "quiet"); } }
static void ProcessPlayerCharacter(PlayerCharacter ch) { if (ch.HasInput) { string input = ch.GetInput(); Console.WriteLine(String.Format("{0}: {1}", ch.Name, input)); int firstSpace = input.IndexOf(' '); string commandString; string parameterString; if (firstSpace > 0) { commandString = input.Substring(0, firstSpace); parameterString = input.Substring(firstSpace + 1); } else { commandString = input; parameterString = ""; } Console.WriteLine ("{0} processed to: {1} : {2} :", ch.Name, commandString, parameterString); BasicCommand command = CommandHandler.GetMatchingCommand(commandString); if (command != null) { command.Execute(ch, parameterString); } else { ch.SendToCharacter("Hugh?\n\r"); } if (ch.GameState == PlayerGameState.LostConnection) { Character.RemoveCharacterFromGame(ch); WriteToAllCharacters(String.Format("[System] {0} has gone link-dead.\n\r", ch.Name)); } } }
public abstract bool Execute(PlayerCharacter callingPlayer, string parameters);
public override bool Execute(PlayerCharacter callingPlayer, string parameters) { callingPlayer.SendToCharacter("Saving and exiting, goodbye!"); callingPlayer.Disconnect(); return true; }