public static void HandleCommandPacket(INetworkClient client, ConanPacket packet) { var recObjTyp = packet.Data.ReadUInt32(); var recClientInst = packet.Data.ReadUInt32(); var unk0 = packet.Data.ReadByte(); var recDataLength = packet.Data.ReadUInt32(); var unk2 = packet.Data.ReadUInt32(); var unk3 = packet.Data.ReadByte(); var runByte = packet.Data.ReadByte(); uint recVal = 0; var runId = 0; while (runByte != 0x22) { if (runId == 0) { recVal = runByte; } if (runId == 1) { recVal += runByte * 0x100u; } if (runId == 2) { recVal += runByte * 0x10000u; } if (runId == 3) { recVal += runByte * 0x1000000u; } runByte = packet.Data.ReadByte(); runId++; } var recCmd = packet.Data.ReadShortString(); var strend = packet.Data.ReadByte(); var unk4 = packet.Data.ReadUInt16(); // MELVIN var recSecCmd = packet.Data.ReadShortString(); switch (recCmd) { case "IntroDone": { var aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000019); aBuffer.WriteUInt32(0x96b8dc59); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteByte(0); aBuffer.WriteUInt32(0x00000001); aBuffer.WriteUInt32(0x000000ba); aBuffer.WriteUInt32(0); aBuffer.Send(client); } break; case "ChangeSex": client.Character.Sex = (byte)recVal; break; case "ChangeRace": client.Character.Race = (byte)recVal; break; case "ChangeHeadMesh": client.Character.HeadMesh = recVal; break; case "ChangeSize": client.Character.Size = (byte)recVal; break; case "ChangeClass": client.Character.Class = (byte)recVal; break; case "ChangeVoice": client.Character.Voice = (byte)recVal; break; case "SetMorphValue": Logger.Info("Second Command: " + recSecCmd + " with value: " + recVal); if (recSecCmd.Length > 0) { //vector<string> scriptData = String::splitString(recSecCmd, "_"); //Logger.Info("Splitted String: %s - " + scriptData[0], scriptData[1]); client.Account.CreateCounter++; client.Account.CreateState = 1; new PacketStream().WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000) .WriteArrayPrependLengthUInt32(new ConanStream() //aBuffer.WriteUInt32(recSecCmd.Length + (5*4) + (1*2) + (2*1)); // length .WriteUInt32(0xbadf5a4b) .WriteUInt32(0x0000c350) .WriteUInt32(client.Account.ClientInstance) .WriteByte(0) .WriteString(recSecCmd) .WriteUInt32(0x3f800000) .WriteByte(0) .WriteUInt32(client.Account.CreateCounter + 1)) .Send(client); } else { client.Account.CreateCounter = 0; } break; case "TheNameIs": { Logger.Info("Attempt to create Char with the name: " + recSecCmd); client.Character.Name = recSecCmd; //MELVIN /*if (!Database.isValidCharName(client.client.Account.charInfo.Name)) * { * //TODO add missing return packet * Logger.Info("Charname is incorrect !"); * closesocket(client.client.Account.clientSocket); * break; */ var aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(client.Character.Name.Length + 5 * 4 + 1 * 2 + 1 * 1); aBuffer.WriteUInt32(0xadce0cda); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x03010000); aBuffer.WriteByte(0); aBuffer.WriteString(client.Character.Name); aBuffer.Send(client); var data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1f, 0x08, 0x05, 0x10, 0x02, 0x18, 0x00, 0x22 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(client.Character.Name.Length + 10 + 1 + data.Length + 4 * 4 + 1 * 2 + 2 * 1); aBuffer.WriteUInt32(0xa36d3b74); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(data); aBuffer.WriteString("NicknameOk"); aBuffer.WriteByte(0x2a); aBuffer.WriteString(client.Character.Name); aBuffer.WriteUInt32(0x32040800); aBuffer.WriteUInt16(0x1000); aBuffer.Send(client); var data2 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xcf, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x46, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(data2.Length + 3 * 4); aBuffer.WriteUInt32(0xf508f4c1); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(data2); aBuffer.Send(client); var data3 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x24, 0x08, 0x05, 0x10, 0x02, 0x18, 0x00, 0x22, 0x14, 0x43, 0x68, 0x61, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x2a, 0x00, 0x32, 0x04, 0x08, 0x00, 0x10, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(data3.Length + 3 * 4); aBuffer.WriteUInt32(0xa36d3b74); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(data3); aBuffer.Send(client); var data4 = new byte[] { 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf6, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0a, 0x08, 0xc5, 0xc3, 0x02, 0x18, 0x01, 0x28, 0x18, 0x30, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(data4.Length + 1 * 4); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteArray(data4); aBuffer.Send(client); var data5 = new byte[] { 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf7, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0a, 0x08, 0xc5, 0xc3, 0x02, 0x18, 0x01, 0x28, 0x18, 0x30, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(data5.Length + 1 * 4); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteArray(data5); aBuffer.Send(client); var data6 = new byte[] { 0x01, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x14 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(GameServerListener.Sender2, GameServerListener.Receiver2, null, 0x2000); aBuffer.WriteUInt32(data6.Length + 3 * 4); aBuffer.WriteUInt32(0xf98e10b3); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(data6); aBuffer.Send(client); } break; default: Logger.Info("Receive unknown command: {0} with value {1}", recCmd, recVal); break; } }
private static void HandleNewCharacter(INetworkClient client, ConanPacket packet) { var blobData7 = new byte[] { 0x00, 0x00, 0x00, 0x89, 0xf5, 0x08, 0xf4, 0xc1, 0x00, 0x00, 0xc3, 0x50 }; var blobData71 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xd0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x39, 0xbf, 0x93 }; var aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData7); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData71); aBuffer.WriteString("MaleTemplate=50000:10232;FemaleTemplate=50000:10233;StygianSlaver=50000:10234"); aBuffer.WriteByte(0); aBuffer.WriteUInt32(0); aBuffer.Send(client); var blobData81 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xd0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0x9d, 0xd1, 0x00, 0x4d, 0x4d, 0x61, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x32, 0x33, 0x32, 0x3b, 0x46, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x32, 0x33, 0x33, 0x3b, 0x53, 0x74, 0x79, 0x67, 0x69, 0x61, 0x6e, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x72, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x32, 0x33, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000089); aBuffer.WriteUInt32(0xf508f4c1); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData81); aBuffer.Send(client); var blobData4 = new byte[] { 0x00, 0x00, 0x00, 0x15, 0xf9, 0x8e, 0x10, 0xb3, 0x00, 0x00, 0xc3, 0x50 }; var blobData41 = new byte[] { 0x00, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x00, 0x02 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData4); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData41); aBuffer.Send(client); var blobData5 = new byte[] { 0x00, 0x00, 0x00, 0x4c, 0x6b, 0x87, 0xe3, 0x16, 0x00, 0x00, 0xc3, 0x50 }; var blobData51 = new byte[] { 0x00, 0x00, 0x00, 0x0b, 0x90, 0x00, 0x00, 0x00, 0xc3, 0x50 }; var blobData52 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3c, 0x4b, 0xa3 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData5); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData51); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData52); aBuffer.Send(client); var blobData6 = new byte[] { 0x00, 0x00, 0x00, 0x11, 0x40, 0x74, 0x9b, 0x8a, 0x00, 0x00, 0xc3, 0x50 }; var blobData61 = new byte[] { 0x01, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData6); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData61); aBuffer.Send(client); var blobData9 = new byte[] { 0x00, 0x00, 0x03, 0x06, 0xa3, 0x6d, 0x3b, 0x74, 0x00, 0x00, 0xc3, 0x50 }; var blobData91 = new byte[] { 0x00, 0x00, 0x00, 0x02, 0xf5, 0x08, 0x05, 0x10, 0x07, 0x18, 0x00, 0x22, 0xb9, 0x01, 0x3c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3d, 0x22, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x72, 0x73, 0x6b, 0x69, 0x70, 0x28, 0x37, 0x32, 0x29, 0x7c, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x28, 0x31, 0x29, 0x7c, 0x4e, 0x45, 0x57, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x20, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x79, 0x20, 0x28, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x73, 0x69, 0x64, 0x65, 0x29, 0x22, 0x20, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x3d, 0x22, 0x35, 0x30, 0x30, 0x32, 0x33, 0x22, 0x20, 0x6b, 0x65, 0x79, 0x3d, 0x22, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x42, 0x5d, 0x53, 0x5a, 0x2e, 0x41, 0x47, 0x52, 0x47, 0x72, 0x41, 0x79, 0x4f, 0x47, 0x65, 0x2a, 0x42, 0x47, 0x2d, 0x22, 0x20, 0x6b, 0x6e, 0x75, 0x62, 0x6f, 0x74, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x20, 0x3e, 0x3c, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x3e, 0x2a, 0xa6, 0x04, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x37, 0x39, 0x33, 0x37, 0x31, 0x33, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x37, 0x39, 0x33, 0x37, 0x31, 0x34, 0x3b, 0x31, 0x30, 0x37, 0x30, 0x30, 0x30, 0x33, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x39, 0x37, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x31, 0x35, 0x36, 0x32, 0x31, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x32, 0x33, 0x39, 0x34, 0x34, 0x38, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x35, 0x36, 0x35, 0x39, 0x31, 0x33, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x37, 0x32, 0x38, 0x35, 0x33, 0x33, 0x3b, 0x31, 0x30, 0x36, 0x30, 0x36, 0x36, 0x38, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x36, 0x30, 0x36, 0x36, 0x37, 0x3a, 0x31, 0x36, 0x37, 0x33, 0x36, 0x38, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x34, 0x35, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x31, 0x38, 0x30, 0x30, 0x32, 0x35, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x32, 0x31, 0x32, 0x38, 0x35, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x36, 0x36, 0x33, 0x31, 0x39, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x30, 0x38, 0x39, 0x32, 0x33, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x30, 0x38, 0x32, 0x36, 0x36, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x32, 0x36, 0x38, 0x39, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x36, 0x36, 0x33, 0x31, 0x39, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x36, 0x35, 0x36, 0x31, 0x30, 0x39, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x32, 0x31, 0x30, 0x30, 0x36, 0x39, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x3a, 0x32, 0x31, 0x30, 0x30, 0x37, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x35, 0x32, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x35, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x35, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x33, 0x30, 0x30, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x34, 0x39, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x36, 0x36, 0x36, 0x31, 0x31, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, 0x33, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, 0x35, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x35, 0x30, 0x36, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x35, 0x38, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x31, 0x31, 0x30, 0x30, 0x30, 0x36, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x32, 0x36, 0x32, 0x32, 0x34, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x35, 0x36, 0x38, 0x38, 0x30, 0x36, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x33, 0x34, 0x32, 0x30, 0x33, 0x33, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x31, 0x36, 0x37, 0x31, 0x38, 0x33, 0x32, 0x08, 0x08, 0x95, 0xb1, 0x27, 0x10, 0x99, 0xf7, 0x31 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData9); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData91); aBuffer.Send(client); var blobData10 = new byte[] { 0x00, 0x00, 0x00, 0x2b, 0xa3, 0x6d, 0x3b, 0x74, 0x00, 0x00, 0xc3, 0x50 }; var blobData101 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x05, 0x10, 0x02, 0x18, 0x00, 0x22, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x72, 0x53, 0x6b, 0x69, 0x70, 0x2a, 0x00, 0x32, 0x04, 0x08, 0x00, 0x10, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData10); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteArray(blobData101); aBuffer.Send(client); var blobData11 = new byte[] { 0x00, 0x00, 0x00, 0x28, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf8, 0x00, 0x00, 0x10, 0x2a, 0x68, 0x61, 0x69, 0x72, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x32, 0x30, 0x37, 0x39, 0x32, 0x30, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData11); aBuffer.Send(client); var blobData12 = new byte[] { 0x00, 0x00, 0x00, 0x28, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf9, 0x00, 0x00, 0x10, 0x2a, 0x68, 0x61, 0x69, 0x72, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x32, 0x30, 0x33, 0x36, 0x36, 0x36, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData12); aBuffer.Send(client); var blobData13 = new byte[] { 0x00, 0x00, 0x00, 0x20, 0x64, 0x2c, 0xd3, 0xd6, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf8, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x08, 0xd3, 0x9e, 0x05, 0x18, 0x02, 0x28, 0x18, 0x30, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData13); aBuffer.Send(client); var blobData14 = new byte[] { 0x00, 0x00, 0x00, 0x29, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50 }; var blobData141 = new byte[] { //0x00, //0x00, 0x11, //0x2a, 0x74, 0x65, 0x78, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x31, 0x38, 0x33, 0x38, 0x37, 0x35, 0x3f, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData14); aBuffer.WriteUInt32(client.Account.ClientInstance); aBuffer.WriteByte(0); aBuffer.WriteString("*texscript_183875"); aBuffer.WriteArray(blobData141); aBuffer.Send(client); var blobData15 = new byte[] { 0x00, 0x00, 0x00, 0x29, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf9, 0x00, 0x00, 0x11, 0x2a, 0x74, 0x65, 0x78, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x31, 0x38, 0x33, 0x38, 0x37, 0x35, 0x3f, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData15); aBuffer.Send(client); var blobData16 = new byte[] { 0x00, 0x00, 0x00, 0x29, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf8, 0x00, 0x00, 0x11, 0x2a, 0x74, 0x65, 0x78, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x31, 0x38, 0x33, 0x38, 0x37, 0x35, 0x3f, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData16); aBuffer.Send(client); }
public PacketWrapper(uint id, IPv4Packet ipv4, ushort sourcePort, ushort destPort, ConanPacket conanPacket) { Id = id; ConanPacket = conanPacket; EthernetPacket = new EthernetPacket(NullAddress, NullAddress, EthernetPacketType.IpV4) { PayloadPacket = ipv4 }; Ipv4Packet.PayloadPacket = new UdpPacket(sourcePort, destPort); // conandata }