public void Process_Type06_AckSetting(Network.Packet Packet)
                {
                    Network.Packets.Type06_AckSetting ThisPacket = new Network.Packets.Type06_AckSetting(Packet);

                    if (ThisPacket.Parameter1 == 50 && ThisPacket.Size >= 20)
                    {
                        //0-4 = 50
                        //4-8 = X
                        //8-12 = Y
                        //12-16 = Z
                        Parent.Vehicle.FormX = BitConverter.ToSingle(ThisPacket.Data.Skip(4).Take(4).ToArray(), 0);
                        Parent.Vehicle.FormY = BitConverter.ToSingle(ThisPacket.Data.Skip(8).Take(4).ToArray(), 0);
                        Parent.Vehicle.FormZ = BitConverter.ToSingle(ThisPacket.Data.Skip(12).Take(4).ToArray(), 0);
                        Logger.Console.WriteLine("Recieved Formation Update");
                    }
                    else
                    {
                        Parent.HostObject.Send(Packet);
                        if (ThisPacket.Parameter1 == 0)
                        {
                            //Logger.Console.WriteLine(ThisPacket.Data.ToHexString());
                        }
                    }
                }
                public void ProcessPacket(Network.Packet Packet)
                {
                    if (true)
                    {
                        if (Packet.Type == 21)
                        {
                            Logger.Console.Clear();
                            Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "\n" + Packet.Data.ToByteArray().ToDebugHexString());
                            Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "\n" + Packet.Data);
                        }
                        if (Packet.Type == 30)
                        {
                            //Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "\n" + Packet.Data.ToByteArray().ToDebugHexString());
                            //Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "\n" + Packet.Data);
                        }
                        if (Packet.Type == 6)
                        {
                            Network.Packets.Type06_AckSetting Ack = new Network.Packets.Type06_AckSetting(Packet);
                            Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "(" + Ack.Parameter1 + ":" + Ack.Parameter2 + ")");
                        }
                        if (Packet.Type == 13)
                        {
                            //Network.Packets.Type13_RemoveAircraft RA = new Network.Packets.Type13_RemoveAircraft(Packet);
                            //Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "(" + RA.ID + ")");
                        }
                        if (Packet.Type == 12)
                        {
                            //Network.Packets.Type12_Unjoin UJ = new Network.Packets.Type12_Unjoin(Packet);
                            //Logger.Console.WriteLine("&e" + Packet.Type.ToString() + "(" + UJ.ID + ")");
                        }
                        else
                        {
                            //Logger.Console.WriteLine("&dSERVER(" + Parent.Username + ")-> Next Packet:\n&d\tType: " + Packet.Type.ToString() + "\n&d\tData: " + BitConverter.ToString(Packet.Serialise().Skip(8).ToArray()) + "&d\n\tData(String): " + Packet.Serialise().Skip(8).ToArray().ToDataString().CleanASCII() + "&d\n\tData(Hex): " + Packet.Serialise().Skip(8).ToArray().ToDebugHexString());
                        }
                        //Logger.Console.WriteLine("&e" + Packet.Type.ToString());
                        //Thread.Sleep(250);
                    }

                    switch (Packet.Type)
                    {
                    case Network.Packets.Types.Map: Process_Type04_Map(Packet); break;

                    case Network.Packets.Types.CreateVehicle: Process_Type05_EntityJoined(Packet); break;

                    case Network.Packets.Types.AcknowledgeSetting: Process_Type06_AckSetting(Packet); break;

                    case Network.Packets.Types.JoinApproved: Process_Type09_JoinApproved(Packet); break;

                    case Network.Packets.Types.FlightData: Process_Type11_FlightData(Packet); break;

                    case Network.Packets.Types.DestoryAircraft: Process_Type13_RemoveAircraft(Packet); break;

                    case Network.Packets.Types.EndAircraftList: Process_Type16_PrepareSimulation(Packet); break;

                    case Network.Packets.Types.ServerVersion: Process_Type29_VersionNotify(Packet); break;

                    case Network.Packets.Types.MissilesOption: Process_Type31_AllowMissiles(Packet); break;

                    case Network.Packets.Types.Chat: Process_Type32_ChatMessage(Packet); break;

                    case Network.Packets.Types.Weather: Process_Type33_Weather(Packet); break;

                    case Network.Packets.Types.AircraftLoading: Process_Type36_WeaponConfig(Packet); break;

                    case Network.Packets.Types.WeaponsOption: Process_Type39_AllowUnguided(Packet); break;

                    case Network.Packets.Types.MiscCommand: Process_Type43_MiscCmd(Packet); break;

                    case Network.Packets.Types.UsernameDistance: Process_Type41_ShowUsername(Packet); break;

                    case Network.Packets.Types.AircraftList: Process_Type44_AircraftList(Packet); break;

                    case Network.Packets.Types.AircraftConfiguration: Parent.ClientObject.Send(Packet); break;

                    default:
                        //Logger.Console.WriteLine("&dSERVER-> Next Packet:");
                        //Logger.Console.WriteLine("&d\tType: " + Packet.Type.ToString());
                        //Logger.Console.WriteLine("&d\tData: " + BitConverter.ToString(Packet.Serialise().Skip(8).ToArray()));
                        //Logger.Console.WriteLine("&d\tData(String): " + Packet.Serialise().Skip(8).ToArray().ToDataString().CleanASCII());
                        Parent.ClientObject.Send(Packet);
                        //Parent.Close();
                        break;
                    }
                }
Beispiel #3
0
 public void Process_Type06_AckSetting(Network.Packet Packet)
 {
     Network.Packets.Type06_AckSetting ThisPacket = new Network.Packets.Type06_AckSetting(Packet);
     Parent.ClientObject.Send(Packet);
 }
                public void ProcessPacket(Network.Packet Packet)
                {
                    if ((Packet.Type != 44 & Packet.Type != 11 & Packet.Type != 21 & Packet.Type != 5))
                    {
                        if (Packet.Type == 6)
                        {
                            Network.Packets.Type06_AckSetting Ack = new Network.Packets.Type06_AckSetting(Packet);
                            Logger.Console.WriteLine("&b" + Packet.Type.ToString() + "(" + Ack.Parameter1 + ":" + Ack.Parameter2 + ")");
                        }
                    }

                    switch (Packet.Type)
                    {
                    case Network.Packets.Types.Login: Process_Type01_Login(Packet); break;

                    case Network.Packets.Types.Error: Process_Type03_Error(Packet); break;

                    case Network.Packets.Types.Map: Process_Type04_Map(Packet); break;

                    case Network.Packets.Types.AcknowledgeSetting: Process_Type06_AckSetting(Packet); break;

                    case Network.Packets.Types.SmokeCol: Process_Type07_SmokeCol(Packet); break;

                    case Network.Packets.Types.JoinRequest: Process_Type08_JoinRequest(Packet); break;

                    case Network.Packets.Types.FlightData: Process_Type11_FlightData(Packet); break;

                    case Network.Packets.Types.LeaveFlight: Process_Type12_Unjoin(Packet); break;

                    case Network.Packets.Types.DestoryAircraft: Process_Type13_RemoveAircraft(Packet); break;

                    case Network.Packets.Types.EndAircraftList: Process_Type16_PrepareSimulation(Packet); break;

                    case Network.Packets.Types.Damage: Process_Type22_Damage(Packet); break;

                    case Network.Packets.Types.MissilesOption: Process_Type31_AllowMissiles(Packet); break;

                    case Network.Packets.Types.Chat: Process_Type32_ChatMessage(Packet); break;

                    case Network.Packets.Types.Weather: Process_Type33_Weather(Packet); break;

                    case Network.Packets.Types.MiscCommand: Process_Type43_MiscCmd(Packet); break;

                    case Network.Packets.Types.AircraftLoading: Process_Type36_WeaponConfig(Packet); break;

                    case Network.Packets.Types.WeaponsOption: Process_Type39_AllowUnguided(Packet); break;

                    case Network.Packets.Types.UsernameDistance: Process_Type41_ShowUsername(Packet); break;

                    case Network.Packets.Types.Airstate: Process_Type38_QueryAirstate(Packet); break;

                    case Network.Packets.Types.AircraftList: Process_Type44_AircraftList(Packet); break;

                    case Network.Packets.Types.Heartbeat: Process_Type17_Heartbeat(Packet); break;

                    default:
                        //Logger.Console.WriteLine("&bCLIENT-> Next Packet:");
                        //Logger.Console.WriteLine("&b\tType: " + Packet.Type.ToString());
                        //Logger.Console.WriteLine("&b\tData: " + BitConverter.ToString(Packet.Serialise().Skip(8).ToArray()));
                        //Logger.Console.WriteLine("&b\tData(String): " + Packet.Serialise().Skip(8).ToArray().ToDataString().CleanASCII());
                        Parent.HostObject.Send(Packet);
                        //Parent.Close();
                        break;
                    }
                    Parent.LastPacket = Packet;
                    Parent.PacketWaiter.Set();
                }