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(); }
/// <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(); }
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; } } } */ } ); } }
/// <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 = ""; }
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; } ); }
/// <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; } }
/// <summary> /// Constructor /// </summary> private GServerConnection() { Server = Framework.GetInstance(); this.form = Abstraction.GetInstance(); //this.ReceiveData(); }
/// <summary> /// Constructor /// </summary> public GraalPlayerList() : base() { this.Server = Framework.GetInstance(); this.form = Abstraction.GetInstance(); }