internal PMWindow(Int16 Id)
		{
			this.Server = Framework.GetInstance();
			this.form = MainWindow2.GetInstance();
			this.Id = Id;
			this.PMPlayer = (GraalPlayer)this.Server.PlayerManager.FindPlayer(this.Id);
			this.CenterToScreen();
			
			string TitleText = "";
			TitleText = this.PMPlayer.Account;
			if (this.PMPlayer.Nickname != "" && this.PMPlayer.Nickname != null)
				TitleText +=  ": " + this.PMPlayer.Nickname;
			this.Text = TitleText;
			this.InitializeComponent(Id);
			this.richTextBox1.ReadOnly = true;
			//this.listBox1 = listBox1;

			//e.
			/*
			try
			{
				this.InitializeComponent();
				this.Show();
			}
			catch (SyntaxErrorException e)
			{
				this.form.Write_Text(e.Message + "\r\n");
			}
			*/
		}
		public void RunServer()
		{
			Server = Framework.GetInstance();
			this.form = Abstraction.GetInstance();
			this.Init();
			this.Setup();
		}
		private void loginButton_Click(object sender, EventArgs e)
		{
			this.framework = Framework.GetInstance();
			this.framework.RunServer();

			this.Hide();
		}
		/// <summary>
		/// Base Constructor
		/// </summary>
		public NCConnection()
			: base()
		{
			Server = Framework.GetInstance();
			this.Init();
			this.Setup();
		}
		public void WindowInit()
		{
			this.Build();
			this.Icon = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rcicon.ico");
			this.Server = Framework.GetInstance();
			this.Show();
			this.ShowAll();
		}
Ejemplo n.º 6
0
 /// <summary>
 /// Constructor by Account / Id
 /// </summary>
 internal Player(Int16 Id)
     : base(Id)
 {
     this.Server = Framework.GetInstance();
     this.form = Abstraction.GetInstance();
     this.Id = Id;
     this.ColorManager = new OpenGraal.Common.Players.ColorManager(new OpenGraal.Common.Players.ColorManager.dSendColors(SendColors));
     this.FlagManager = new OpenGraal.Common.Players.FlagManager(new OpenGraal.Common.Players.FlagManager.dSendFlag(SendFlag));
     //this.form.AddPlayer(this.id, this.account);
 }
		public void RunServer()
		{
			this.Build();

			this.bg = new global::Gtk.Image();
			this.bg.Name = "bg";

			this.bg.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rc_images.rc_opengraal.jpg");

			if (this.rcSettings.Loaded)
			{
				if (System.IO.File.Exists("skins/" + this.rcSettings.Background))
					this.bg.Pixbuf = new Gdk.Pixbuf("skins/" + this.rcSettings.Background);
			}
							
			this.bg.SetAlignment(0, 0);
			this.bg.HeightRequest = 160;
			
			this.SizeRequested += OnResize;
			this.table3.Add(this.bg);

			global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table3[this.bg]));
			w4.BottomAttach = ((uint)(0));


			//this.ResizeChecked += OnResize;
			//this.SizeRequested += OnResize;
			this.CreateButtons();

			this.Framework = Framework.GetInstance();
			this.PMWindowManager = PMWindowList.GetInstance();
			this.DeleteEvent += delegate
			{
				this.Framework.CloseServers();

				ServerWindow serverWindow = ServerWindow.GetInstance();
				serverWindow.Show();
			};
			this.DestroyEvent += delegate
			{
				this.Framework.CloseServers();

				ServerWindow serverWindow = ServerWindow.GetInstance();
				serverWindow.Show();
			};
			this.ShowAll();
		}
		public void WindowInit()
		{
			
			this.Icon = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rcicon.ico");
			this.Server = Framework.GetInstance();
			this.PMWindowManager = PMWindowList.GetInstance();

			this.PMPlayer = this.Server.FindPlayer(this.Id);
			string TitleText = "";
			if (this.PMPlayer != null)
			{
				TitleText = this.PMPlayer.Account;
				if (this.PMPlayer.Nickname != "" && this.PMPlayer.Nickname != null)
					TitleText += ": " + this.PMPlayer.Nickname;
			}
			this.Title = TitleText;
			this.Show();
		}
Ejemplo n.º 9
0
        public void AddPlayer(string account, string nickname)
        {
            this.Framework = Framework.GetInstance();

            nickname = (nickname != null) ? nickname : "unknown";
            if (account != null)
            {
                Gtk.Application.Invoke(delegate
                {
                    Player player = (Player)this.Framework.PlayerManager.FindPlayer(account);
                    /*
                    if (player != null && player.Account != null)
                    {

                        TreeNode[] player2 = this.Players.Nodes.Find(account, true);
                        TreeNode[] rc = this.RCs.Nodes.Find(account, true);
                        TreeNode[] irc = this.IRC.Nodes.Find(account, true);
                        if (player.Account.StartsWith("irc:"))
                        {
                            if (irc.Length == 0)
                            {
                                if (player.Account != null && player.Level != null && player.Nickname != null)
                                    this.IRC.Nodes.Add(player.Account.ToString(), player.Nickname.ToString());
                                else if (player.Account != null && player.Level != null && player.Nickname == "")
                                    this.RCs.Nodes.Add(player.Account.ToString(), player.Account.Split(':')[1].ToString());
                            }
                            else
                            {
                                irc[0].Text = player.Nickname;
                            }
                        }
                        else
                        {

                            if (player2.Length == 0)
                            {
                                if (player.Account != null && player.Level != null && player.Nickname != null)
                                    this.Players.Nodes.Add(player.Account.ToString(), player.Nickname);
                                else if (player.Account != null)
                                    this.Players.Nodes.Add(player.Account.ToString(), "*" + player.Account.ToString());
                            }
                            else
                            {
                                player2[0].Text = player.Nickname;
                            }

                            if (rc.Length == 0)
                            {
                                if (player.Account != null && player.Level != null && player.Nickname != null)
                                    this.RCs.Nodes.Add(player.Account.ToString(), player.Nickname.ToString());
                                else if (player.Account != null && player.Level != null && player.Nickname == "")
                                    this.RCs.Nodes.Add(player.Account.ToString(), "*" + player.Account.ToString());
                            }
                            else
                            {
                                rc[0].Text = player.Nickname;
                            }
                        }
                    }
                    */
                }
                );
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Base Constructor
 /// </summary>
 public NCConnection(Framework Server, Socket Sock)
     : base(Sock)
 {
     this.Server = Server;
 }
		public void SendChat(Gtk.Entry sender2)
		{
			this.Framework = Framework.GetInstance();
			if (sender2.Name.StartsWith("irctab_"))
			{

				if (sender2.Text.StartsWith("/"))
				{
					string[] command = sender2.Text.Split(' ');
					if (command[0].ToLower() == "/part" && command.Length != 1)
					{
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,part," + command[1].Trim() + "\n");
						this.RemovePanel("irctab_" + command[1].Trim());
					}
					else if (command[0].ToLower() == "/part" && command.Length == 1)
					{
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,part," + sender2.Name.Replace("irctab_", "").Replace("_entry", "").ToString() + "\n");
						this.RemovePanel(sender2.Name.Replace("_entry", ""));
					}
					else if (command[0].ToLower() == "/join" && command.Length != 1)
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,join," + command[1].Trim() + "\n");
				}
				else
					this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,privmsg," + sender2.Name.Replace("irctab_", "").Replace("_entry", "").ToString() + "," + OpenGraal.Core.CString.tokenize(sender2.Text) + "\n");
			}
			else
			{
				if (sender2.Text.StartsWith("/"))
				{
					string[] command = sender2.Text.Split(' ');
					if (command[0].ToLower() == "/join" && command.Length != 1)
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,join," + command[1].Trim() + "\n");
					else if (command[0].ToLower() == "/msg" && command.Length != 1)
					{
						String msg = "";
						for (int i = 2; i < command.Length; i++)
							msg += command[i].Trim() + " ";

						// Turn the string into a CString.
						Core.CString Message = new Core.CString(msg);

						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,privmsg," + command[1].Trim() + "," + Message.Tokenize() + "\n");
					}
					else if (command[0].ToLower() == "/pm" && command.Length != 1)
					{
						this.SendPM(command);
					}
					else if (command[0].ToLower() == "/mapgen" && command.Length == 1)
					{
						/*
						MapGenWindow MapGen;
						Thread thread = new Thread(() =>
						{
							MapGen = new MapGenWindow();
							MapGen.Show();
							//MapGen.Closed += (s, e) => MapGen.Dispatcher.InvokeShutdown(); 
							//Dispatcher.Run();
						}
						);
						thread.SetApartmentState(ApartmentState.STA);
						//thread.IsBackground = true;
						thread.Start();
						//MapGenWindow MapGen = new MapGenWindow();
						
						TestWindow test = new TestWindow();
						test.ShowAll();
						*/

					}
					else
					{
						if (this.isRC)
							this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.RC_CHAT + sender2.Text + "\n");
						else
						{
							this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.PLAYERPROPS + (byte)Common.Connections.Client.GraalServer.PLPROPS.CURCHAT + (byte)sender2.Text.Length + sender2.Text + "\n");
							this.WriteText("(" + this.NCPlayer.Account + "(" + this.NCPlayer.Id + ")) " + sender2.Text);
						}
					}
				}
				else
				{
					if (this.isRC)
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.RC_CHAT + sender2.Text + "\n");
					else
					{
						this.NCPlayer.Chat = sender2.Text;
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.PLAYERPROPS + (byte)Common.Connections.Client.GraalServer.PLPROPS.CURCHAT + (byte)sender2.Text.Length + sender2.Text + "\n");
						this.WriteText("(" + this.NCPlayer.Account + "(" + this.NCPlayer.Id + ")) " + sender2.Text);
					}
				}
			}
			sender2.Text = "";
		}
Ejemplo n.º 12
0
 public void SendMessage(CString message)
 {
     this.Server = Framework.GetInstance();
     this.Server.SendPM(this._id, CString.tokenize(message.Text), true);
     Gtk.Application.Invoke(delegate
     {
         Abstraction mw = Abstraction.GetInstance();
         this.WriteText("(" + mw.NCPlayer.Nickname + "(You)): " + message.Text);
         message = null;
     }
     );
 }
Ejemplo n.º 13
0
        /// <summary>
        /// Handle Received Data
        /// </summary>
        /// 
        protected override void HandleData(CString Packet)
        {
            // Check if the instance of Framework is null and get the instance if it is.
            if (Server == null)
                Server = Framework.GetInstance();

            if (this.form == null)
                this.form = Abstraction.GetInstance();

            int prevPacket = 0;
            uint readc = 0;

            while (Packet.BytesLeft > 0)
            {
                CString CurPacket;

                // Grab Single Packet
                if (prevPacket == 100)
                    CurPacket = Packet.ReadChars2(readc);
                else
                    CurPacket = Packet.ReadString('\n');

                // Read Packet Type
                int PacketId = CurPacket.ReadGUByte1();

                // Run Internal Packet Function
                switch ((PacketIn)PacketId)
                {

                // Packet 6 - Set Active Level & Clear
                    case PacketIn.LEVELNAME:
                        //ActiveLevel = Server.FindLevel(CurPacket.ReadString().Text);
                        //ActiveLevel.Clear();
                        break;

                // Paceket 1 - Level Links
                    case PacketIn.LEVELLINK:
                        break;

                // Packet 3 - Level NPC Props
                    case PacketIn.NPCPROPS:
                        {
                            int npcId = CurPacket.ReadGByte3();
                            //if (ActiveLevel != null)
                            //	ActiveLevel.GetNPC(npcId).SetProps(CurPacket);
                            break;
                        }

                // Packet 5 - Level Signs
                    case PacketIn.LEVELSIGN:
                        break;

                // Packet 39 - Level Mod Time
                    case PacketIn.LEVELMODTIME:
                        uint modTime = CurPacket.ReadGUByte5();
                        //if (ActiveLevel != null)
                        //	ActiveLevel.SetModTime(modTime);
                        break;

                    case PacketIn.SIGNATURE:
                        {
                            this.form.WriteText("Connected!");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.PLAYERPROPS + (byte)PLPROPS.NICKNAME + (byte)this.Nickname.Length + this.Nickname);
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,pmguilds,\"\"");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,pmservers,\"all\"");
                            //Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,pmserverplayers,\"U Classic iPhone\"\n");

                            Server.SendGSPacket(new CString() + (byte)PacketOut.SENDTEXT + "GraalEngine,lister,options,globalpms=true,buddytracking=true,showbuddies=true");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.SENDTEXT + "GraalEngine,lister,verifybuddies,1,1964252486");

                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,lister,addbuddy,\"unixmad\"");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,lister,addbuddy,\"stefan\"");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,lister,addbuddy,\"tig\"");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,lister,addbuddy,\"skyld\"");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "GraalEngine,lister,addbuddy,\"xor\"");
                            //Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "-ShopGlobal,lister,getglobalitems\n");

                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "-Serverlist,lister,list,all");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "-Serverlist,lister,upgradeinfo\n");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "-Serverlist,lister,subscriptions\n");
                            Server.SendGSPacket(new CString() + (byte)PacketOut.REQUESTTEXT + "-Serverlist,lister,getlockcomputer");

                            // Logging into IRC.
                            Server.SendGSPacket(new CString() + (byte)154 + "-Serverlist_Chat,irc,login,-");
                            Server.SendGSPacket(new CString() + (byte)154 + "-Serverlist_Chat,irc,privmsg,IRCBot,!geteventbots");
                            Server.SendGSPacket(new CString() + (byte)154 + "-Serverlist_Chat,irc,join,#graalim");

                            break;
                        }

                    case PacketIn.BOARDPACKET:
                        {
                            break;
                        }

                    case PacketIn.RAWDATA:
                        readc = CurPacket.ReadGUByte3();
                        Console.WriteLine(":::readc::::" + readc.ToString() + "::::");
                        break;

                // Packet 150 - Delete Level NPC
                    case PacketIn.NPCDEL2:
                        //Server.FindLevel(CurPacket.ReadChars(CurPacket.ReadGUByte1())).DeleteNPC(CurPacket.ReadGByte3());
                        break;

                // Packet 156 - Set Active Level
                    case PacketIn.SETACTIVELEVEL:
                        //ActiveLevel = Server.FindLevel(CurPacket.ReadString().Text);
                        break;

                    case PacketIn.ADDPLAYER:
                        {
                            Player Player = (Player)Server.PlayerManager.AddPlayer(CurPacket.ReadGByte2());

                            if (Player != null)
                            {
                                Player.Account = CurPacket.ReadChars(CurPacket.ReadGUByte1());
                                Player.SetProps(CurPacket);
                            }

                            break;
                        }

                    case PacketIn.DELPLAYER:
                        {
                            short pId = CurPacket.ReadGByte2();
                            Server.PlayerManager.DeletePlayer(pId);
                            break;
                        }

                // Add Player & Set Props
                    case PacketIn.OTHERPLPROPS:
                        {
                            Player Player = (Player)Server.PlayerManager.AddPlayer(CurPacket.ReadGByte2());

                            if (Player != null)
                            {
                                Player.SetProps(CurPacket);
                            }

                            break;
                        }

                    case PacketIn.FLAGSET:
                        {
                            Player Player = (Player)Server.PlayerManager.AddPlayer(CurPacket.ReadGByte2());
                            String FlagName = CurPacket.ReadString('=').Text;
                            String FlagValue = CurPacket.ReadString().Text;
                            if (Player != null)
                                Player.Flags[FlagName] = FlagValue;
                            break;
                        }

                    case PacketIn.PLAYERPROPS:
                        {
                            if (this.form.NCPlayer == null)
                                this.form.NCPlayer = Server.PlayerManager.AddPlayer(0);
                            //this.form.WriteText(" -!- ME!\r\n");
                            this.form.NCPlayer.SetProps(CurPacket);
                            break;
                        }

                // Add weapon to list
                    case PacketIn.NPCWEAPONADD:
                        {
                            String WeaponName = CurPacket.ReadChars(CurPacket.ReadGUByte1());
                            String WeaponImage = CurPacket.ReadChars(CurPacket.ReadGUByte1());
                            String WeaponScript = CurPacket.ReadString().Text;
                            //Server.SetWeapon(WeaponName, WeaponImage, WeaponScript, false);
                            break;
                        }

                // Add/Remove weapon from Player
                    case PacketIn.NPCWEAPONDEL:
                        {
                            Player Player = Server.PlayerManager.AddPlayer(CurPacket.ReadGByte2());
                            if (Player != null)
                            {
                                bool addWeapon = (CurPacket.ReadGByte1() > 0);
                                String name = CurPacket.ReadString().Text;
                                if (addWeapon)
                                    Player.AddWeapon(name);
                                else
                                    Player.DeleteWeapon(name, false);
                            }

                            break;
                        }

                    case PacketIn.UNKNOWN60:
                        {
                            Player Player = Server.PlayerManager.AddPlayer(CurPacket.ReadGByte2());
                            if (Player != null)
                            {
                                while (CurPacket.BytesLeft > 0)
                                    Player.AddWeapon(CurPacket.ReadChars(CurPacket.ReadGUByte1()));
                            }
                            break;
                        }

                    case PacketIn.NEWWORLDTIME: // Remove Class from List
                        Server.NWTime = CurPacket.ReadGByte4();
                        break;

                // Private Message
                    case PacketIn.PRIVATEMESSAGE:
                        {
                            short PlayerId = CurPacket.ReadGByte2();
                            CString Message = CurPacket.ReadString();

                            this.ReceivePM(PlayerId, Message);

                            break;
                        }
                    case PacketIn.TOALL:
                        {

                            short PlayerId = CurPacket.ReadGByte2();
                            CString Message = CurPacket.ReadString();
                            //this.form.WriteText(Message.Text);
                            this.ReceiveToall(PlayerId, Message);

                            break;
                        }
                    case PacketIn.RC_SERVEROPTIONSGET:
                        string serverOptions = CurPacket.ReadString().Untokenize().ToString();
                        this.form.WriteText(serverOptions);
                        break;
                    case PacketIn.RC_SERVERFLAGSGET:
                        int serverFlagsTotal = CurPacket.ReadGByte2();
                        List<string> serverFlags = new List<string>();
                        string serverFlagsString = "";
                        while (CurPacket.BytesLeft > 0)
                        {
                            serverFlags.Add(CurPacket.ReadChars(CurPacket.ReadGUByte1()));
                        }
                        serverFlags.Sort();
                        foreach (string sf in serverFlags)
                            serverFlagsString += sf + "\n";

                        this.ReceivedServerFlags(serverFlagsTotal, serverFlagsString);
                        break;
                    case PacketIn.RC_FOLDERCONFIGGET:
                        //CString s2 = CurPacket.Untokenize();
                        string folderConfig = CurPacket.ReadString().Untokenize().ToString();
                        this.ReceivedFolderConfig(folderConfig);
                        break;
                    case PacketIn.RC_FILEBROWSER_DIR:
                        //CString s2 = CurPacket.Untokenize();
                        this.form.WriteText(CurPacket.ReadString().ToString());
                        break;
                    case PacketIn.RC_FILEBROWSER_DIRLIST:
                        List<string> fileBrowserDirList = new List<string>(CurPacket.ReadString().Untokenize().ToString().Split('\n'));
                        fileBrowserDirList.Sort();
                        foreach (string dir in fileBrowserDirList)
                            this.form.WriteText(dir);
                        break;
                    case PacketIn.RC_FILEBROWSER_MESSAGE:
                        this.form.WriteText(CurPacket.ReadString().ToString());
                        break;
                // Servertext
                    case PacketIn.SERVERTEXT:
                        {
                            CString Message = CurPacket.ReadString();

                            this.form = Abstraction.GetInstance();

                            string TheMessage2 = "";
                            TheMessage2 = CString.untokenize(Message.Text);
                            string[] test = TheMessage2.Split('\n');
                            List<string> test2 = new List<string>(test);

                            if (test2[0].Trim() == "GraalEngine" || test2[0].Trim() == "-Playerlist")
                            {
                                if (test2[1].Trim() == "lister")
                                {
                                }
                            }
                            else if (test2[0].Trim() == "-Serverlist_Chat")
                            {
                                if (test2[1].Trim() == "irc")
                                {
                                    switch (test2[2].Trim())
                                    {
                                        case "join":
                                            {
                                                this.form.OpenIRC(test2[3].Trim());
                                                break;
                                            }

                                        case "addchanneluser"://[SERVERTEXT]: -Serverlist_Chat irc addchanneluser #graal CrypticMyst login1 Gos_Pira
                                            {
                                                this.form.IRC_AddChannelUser(test2[3].Trim(), test2[4].Trim());
                                                break;
                                            }
                                        case "deletechanneluser"://[SERVERTEXT]: -Serverlist_Chat irc delchanneluser #graal CrypticMyst
                                            {
                                                this.form.IRC_AddChannelUser(test2[3].Trim(), test2[4].Trim(), true);
                                                break;
                                            }
                                        case "privmsg":
                                            {
                                                string message = test2[5].Trim();
                                                if (test2[4].Trim().StartsWith("#"))
                                                    this.form.IRC_Privmsg(test2[3].Trim(), test2[4].Trim(), message);
                                                else
                                                {

                                                    this.ReceivePM(test2[3].Trim(), new CString(message));
                                                }
                                                break;
                                            }

                                        default:
                                            {

                                                break;
                                            }
                                    }

                                }
                            }
                            else if (test2[0].Trim() == "-Serverlist")
                            {
                                if (test2[1].Trim() == "lister")
                                {
                                    #region SimpleServerList
                                    if (test2[2].Trim() == "subscriptions2")
                                    {
                                        string subscription = "Trial";
                                        //this.form.WriteText(test2.Count.ToString());

                                        if (test2.Count > 3)
                                        {
                                            //this.form.WriteText(test2.Count.ToString());
                                            string server2 = CString.untokenize(test2[3].Trim());
                                            string[] test3 = server2.Split('\n');
                                            subscription = test3[1].Trim();
                                        }

                                        this.form.SetSubscriptionText("Subscription: " + subscription);
                                    }
                                    else if (test2[2].Trim() == "lockcomputer")
                                    {
                                        int locked = 0;
                                        int.TryParse(test2[3].Trim(), out locked);

                                        this.form.SetLockedByComputerText("Locked by PC-ID: " + ((locked == 1) ? "Yes" : "No"));
                                    }
                                    else if (test2[2].Trim() == "simpleserverlist" || test2[2].Trim() == "serverlist")
                                    {
                                        List<string> servers = test2;
                                        servers.RemoveRange(0, 3);
                                        this.form.WriteText("SERVERS(" + servers.Count + "):");
                                        this.form.WriteText("------------");
                                        //this.form.WriteText("[SERVERTEXT]: " + TheMessage2 + "");
                                        foreach (string server in servers)
                                        {
                                            //CString server2 = new CString();
                                            //server2.Write(server);
                                            if (server != "")
                                            {
                                                string server2 = CString.untokenize(server);
                                                string[] test3 = server2.Split('\n');
                                                //this.form.Write_Text(server2 + "\r\n");
                                                var servername = "";
                                                var servertype = "";
                                                if (test3[1].Trim().Substring(0, 2) == "P " || test3[1].Trim().Substring(0, 2) == "H " || test3[1].Trim().Substring(0, 2) == "3 " || test3[1].Trim().Substring(0, 2) == "U ")
                                                {
                                                    servertype = test3[1].Trim().Substring(0, 2);
                                                    servername = test3[1].Trim().Substring(2, test3[1].Trim().Length - 2);
                                                    if (servertype == "P ")
                                                        servertype = "Gold";
                                                    if (servertype == "H ")
                                                        servertype = "Hosted";
                                                    if (servertype == "3 ")
                                                        servertype = "3D";
                                                    if (servertype == "U ")
                                                        servertype = "Hidden";
                                                }
                                                else
                                                {
                                                    servertype = "Classic";
                                                    servername = test3[1].Trim();
                                                }

                                                var serverid = test3[0].Trim();
                                                var serverpc = test3[2].Trim();

                                                this.form.WriteText(" * Id: " + serverid + " Type: " + servertype + " Name: " + servername + " Players: " + serverpc + "");
                                            }

                                        }
                                        this.form.WriteText("");
                                    }
                                    else
                                        this.form.WriteText("[SERVERTEXT]: " + TheMessage2.Replace("\r\n", ",") + "");
                                    #endregion
                                }
                            }
                            else
                            { }// this.form.WriteText("[SERVERTEXT]: " + TheMessage2.Replace("\r\n", ",") + "");

                            break;
                        }

                    case PacketIn.SHOWIMG:
                        {
                            break;
                        }
                    case PacketIn.DISCMESSAGE:
                        {
                            //Console.WriteLine("PacketId: " + PacketId.ToString());
                            string packetName = "";//Enum.GetName(typeof(PacketIn), PacketId).ToString();
                            this.form.WriteText("Disconnect: " + CurPacket.ReadString().Text + "\r\n");

                            break;
                        }
                    case PacketIn.RC_CHAT:
                        this.form.WriteText(CurPacket.ReadString().Text + "");
                        break;
                    default:
                        {
                            Console.WriteLine("PacketId: " + PacketId.ToString());
                            try
                            {
                                string packetName = Enum.GetName(typeof(PacketIn), PacketId).ToString();
                                this.form.WriteText("[" + packetName + "]: " + CurPacket.ReadString().Text + "");
                            }
                            catch (IndexOutOfRangeException e)
                            {

                            }
                            catch (NullReferenceException e)
                            {

                            }
                            break;
                        }
                }

                prevPacket = PacketId;

            }
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Constructor
 /// </summary>
 private GServerConnection()
 {
     Server = Framework.GetInstance();
     this.form = Abstraction.GetInstance();
     //this.ReceiveData();
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Constructor
 /// </summary>
 public GraalPlayerList()
     : base()
 {
     this.Server = Framework.GetInstance();
     this.form = Abstraction.GetInstance();
 }