void CreateFormedParty() { try { //Get packet data PacketReader Reader = new PacketReader(PacketInformation.buffer); //First and second dword are static Reader.Int32(); Reader.Int32(); //First byte is our party type byte PartyType = Reader.Byte(); //Second byte is purpose information byte PartyPurpose = Reader.Byte(); //3rd byte is minimal level required to join byte PartyMinLevelReq = Reader.Byte(); //4th byte is max level to join byte PartyMaxLevelReq = Reader.Byte(); //5th is short, party name lenght //6th is party name string PartyName = Reader.Text3(); //Close our reader Reader.Close(); //Make sure the user isnt in a party yet. if (Character.Network.Party != null) { //If party is formed allready return if (Character.Network.Party.IsFormed) { return; } //If party is not formed else { //Get current party information party CurrentParty = Character.Network.Party; //Set formed state CurrentParty.IsFormed = true; //Party type CurrentParty.Type = PartyType; //Party purpose CurrentParty.ptpurpose = PartyPurpose; //Party minimal level CurrentParty.minlevel = PartyMinLevelReq; //Party maximum level CurrentParty.maxlevel = PartyMaxLevelReq; //Party name CurrentParty.partyname = PartyName; //Party owner CurrentParty.LeaderID = Character.Information.UniqueID; //Add party eu / ch information by model CurrentParty.Race = Character.Information.Model; //Send packet information to user client.Send(Packet.CreateFormedParty(CurrentParty)); //Add party to list Party.Add(CurrentParty); } } //If a new formed party is created from 0 else { //New party for details party newparty = new party(); //Set formed state newparty.IsFormed = true; //Party type newparty.Type = PartyType; //Party purpose newparty.ptpurpose = PartyPurpose; //Party minimal level newparty.minlevel = PartyMinLevelReq; //Party maximum level newparty.maxlevel = PartyMaxLevelReq; //Party name newparty.partyname = PartyName; //Party owner newparty.LeaderID = Character.Information.UniqueID; //Add party eu / ch information by model newparty.Race = Character.Information.Model; //Add our player to the member list newparty.Members.Add(Character.Information.UniqueID); //Add player client to party list information newparty.MembersClient.Add(client); //Party id , is current count of party's + 1 newparty.ptid = Party.Count + 1; //Add the new party list Party.Add(newparty); //Set party to player Character.Network.Party = newparty; //bool set player in party Character.Network.Party.InParty = true; //Send packet information to user client.Send(Packet.CreateFormedParty(newparty)); } } //Catch bad exception errors catch (Exception ex) { //Write information to the console Console.WriteLine("Create formed party error {0}", ex); //Write info to the debug log Systems.Debugger.Write(ex); } }