public static void updatePersonaCar_car(int personaId, int userId, string packet, MySqlConnection connection, out string outPacket, out bool isGoodResponse) { XmlDocument packetParsing = new XmlDocument(); packetParsing.LoadXml(packet); int carId = 0; var customCar = packetParsing.ChildNodes[0].ChildNodes[0]; carId = Convert.ToInt32(customCar.ChildNodes[2].InnerText); PersonaCar carOrigData = new PersonaCar(); bool personaHasCar = false; string sql = String.Format("SELECT PersonaCar.carId, PersonaCar.baseCar, PersonaCar.physicsProfileHash, PersonaCar.carClassHash, PersonaCar.rating, PersonaCar.resalePrice, PersonaCar.durability, PersonaCar.heat FROM PersonaCar LEFT JOIN Persona ON PersonaCar.personaId = Persona.personaId LEFT JOIN Users ON Persona.userId = Users.userId WHERE Users.userId = {0} AND Persona.personaId = {1} AND PersonaCar.carId = {2}", userId, personaId, carId); using (MySqlCommand command = new MySqlCommand(sql, connection)) using (MySqlDataReader reader = command.ExecuteReader()) { if (reader.HasRows) { personaHasCar = true; reader.Read(); carOrigData.baseCar = Convert.ToInt32(reader["baseCar"]); carOrigData.physicsProfileHash = Convert.ToInt32(reader["physicsProfileHash"]); carOrigData.carClassHash = Convert.ToInt32(reader["carClassHash"]); carOrigData.rating = Convert.ToInt32(reader["rating"]); carOrigData.resalePrice = Convert.ToInt32(reader["resalePrice"]); carOrigData.durability = Convert.ToInt32(reader["durability"]); carOrigData.heat = Convert.ToInt32(reader["heat"]); } } List<Paints> paints = new List<Paints>(); List<PerformanceParts> performanceParts = new List<PerformanceParts>(); List<Skills> skills = new List<Skills>(); List<VisualParts> visualParts = new List<VisualParts>(); List<Vinyls> vinyls = new List<Vinyls>(); string car = ""; if (personaHasCar) { //Paints foreach (XmlNode node in customCar.ChildNodes[6]) { Paints temp = new Paints(); temp.group = Convert.ToInt32(node.ChildNodes[0].InnerText); temp.hue = Convert.ToInt32(node.ChildNodes[1].InnerText); temp.sat = Convert.ToInt32(node.ChildNodes[2].InnerText); temp.slot = Convert.ToInt32(node.ChildNodes[3].InnerText); temp.var = Convert.ToInt32(node.ChildNodes[4].InnerText); paints.Add(temp); } //PerformanceParts int slotIndex = 0; foreach (XmlNode node in customCar.ChildNodes[7]) { PerformanceParts temp = new PerformanceParts(); temp.slot = slotIndex; temp.partHash = Convert.ToInt32(node.ChildNodes[0].InnerText); slotIndex++; performanceParts.Add(temp); } //Skills slotIndex = 0; foreach (XmlNode node in customCar.ChildNodes[12]) { Skills temp = new Skills(); temp.slot = slotIndex; temp.skillHash = Convert.ToInt32(node.ChildNodes[1].InnerText); slotIndex++; skills.Add(temp); } //Vinyls foreach (XmlNode node in customCar.ChildNodes[15]) { Vinyls temp = new Vinyls(); temp.layer = Convert.ToInt32(node.ChildNodes[5].InnerText); temp.vinylHash = Convert.ToInt32(node.ChildNodes[0].InnerText); temp.hue1 = Convert.ToInt32(node.ChildNodes[1].InnerText); temp.hue2 = Convert.ToInt32(node.ChildNodes[2].InnerText); temp.hue3 = Convert.ToInt32(node.ChildNodes[3].InnerText); temp.hue4 = Convert.ToInt32(node.ChildNodes[4].InnerText); temp.mir = Convert.ToBoolean(node.ChildNodes[6].InnerText); temp.rot = Convert.ToInt32(node.ChildNodes[7].InnerText); temp.sat1 = Convert.ToInt32(node.ChildNodes[8].InnerText); temp.sat2 = Convert.ToInt32(node.ChildNodes[9].InnerText); temp.sat3 = Convert.ToInt32(node.ChildNodes[10].InnerText); temp.sat4 = Convert.ToInt32(node.ChildNodes[11].InnerText); temp.scaleX = Convert.ToInt32(node.ChildNodes[12].InnerText); temp.scaleY = Convert.ToInt32(node.ChildNodes[13].InnerText); temp.shear = Convert.ToInt32(node.ChildNodes[14].InnerText); temp.tranX = Convert.ToInt32(node.ChildNodes[15].InnerText); temp.tranY = Convert.ToInt32(node.ChildNodes[16].InnerText); temp.var1 = Convert.ToInt32(node.ChildNodes[17].InnerText); temp.var2 = Convert.ToInt32(node.ChildNodes[18].InnerText); temp.var3 = Convert.ToInt32(node.ChildNodes[19].InnerText); temp.var4 = Convert.ToInt32(node.ChildNodes[20].InnerText); vinyls.Add(temp); } //VisualParts foreach (XmlNode node in customCar.ChildNodes[16]) { VisualParts temp = new VisualParts(); temp.slot = Convert.ToInt32(node.ChildNodes[1].InnerText); temp.visualPartHash = Convert.ToInt32(node.ChildNodes[0].InnerText); visualParts.Add(temp); } /////////////CheckingLogic /////////////Customization Save ///////////////Paints sql = String.Format("DELETE FROM PersonaCarPaints WHERE carId = {0}", carId); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } sql = "INSERT INTO PersonaCarPaints (carId, sat, slot, var, hue, grp) VALUES "; bool isFirst = true; foreach (Paints paint in paints) { object[] data = new object[6]; data[0] = carId; data[1] = paint.sat; data[2] = paint.slot; data[3] = paint.var; data[4] = paint.hue; data[5] = paint.group; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2},{3},{4},{5})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////performanceParts sql = String.Format("DELETE FROM PersonaCarPerformanceParts WHERE carId = {0}", carId); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } sql = "INSERT INTO PersonaCarPerformanceParts (carId, slot, partHash) VALUES "; isFirst = true; foreach (PerformanceParts performancePart in performanceParts) { object[] data = new object[3]; data[0] = carId; data[1] = performancePart.slot; data[2] = performancePart.partHash; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////Skills sql = String.Format("DELETE FROM PersonaCarSkills WHERE carId = {0}", carId); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } sql = "INSERT INTO PersonaCarSkills (carId, slot, skillHash) VALUES "; isFirst = true; foreach (Skills skill in skills) { object[] data = new object[3]; data[0] = carId; data[1] = skill.slot; data[2] = skill.skillHash; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////Vinyls sql = String.Format("DELETE FROM PersonaCarVinyls WHERE carId = {0}", carId); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } sql = "INSERT INTO PersonaCarVinyls (carId, layer, vinylHash, hue1, hue2, hue3, hue4, mir, rot, sat1, sat2, sat3, sat4, scaleX, scaleY, shear, tranX, tranY, var1, var2, var3, var4) VALUES "; isFirst = true; foreach (Vinyls vinyl in vinyls) { object[] data = new object[22]; data[0] = carId; data[1] = vinyl.layer; data[2] = vinyl.vinylHash; data[3] = vinyl.hue1; data[4] = vinyl.hue2; data[5] = vinyl.hue3; data[6] = vinyl.hue4; data[7] = (vinyl.mir ? 1 : 0); data[8] = vinyl.rot; data[9] = vinyl.sat1; data[10] = vinyl.sat2; data[11] = vinyl.sat3; data[12] = vinyl.sat4; data[13] = vinyl.scaleX; data[14] = vinyl.scaleY; data[15] = vinyl.shear; data[16] = vinyl.tranX; data[17] = vinyl.tranY; data[18] = vinyl.var1; data[19] = vinyl.var2; data[20] = vinyl.var3; data[21] = vinyl.var4; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////Visual parts sql = String.Format("DELETE FROM PersonaCarVisualParts WHERE carId = {0}", carId); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } sql = "INSERT INTO PersonaCarVisualParts (carId, partHash, slotHash) VALUES "; isFirst = true; foreach (VisualParts visualPart in visualParts) { object[] data = new object[3]; data[0] = carId; data[1] = visualPart.visualPartHash; data[2] = visualPart.slot; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } string vinylTemp = ""; string visualPartsTemp = ""; string skillTemp = ""; string paintTemp = ""; string performanceTemp = ""; string carBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/car.xml"); string vinylBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/vinyl.xml"); string visualPartBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/visualpart.xml"); string skillBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/skill.xml"); string performanceBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/performance.xml"); string paintBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/paint.xml"); foreach (Paints paint in paints) { object[] paintData = new object[6]; paintData[0] = paint.group; paintData[1] = paint.hue; paintData[2] = paint.sat; paintData[3] = paint.slot; paintData[4] = paint.var; paintTemp = paintTemp + String.Format(paintBody, paintData); } foreach (PerformanceParts performancePart in performanceParts) { object[] performanceData = new object[1]; performanceData[0] = performancePart.partHash; performanceTemp = performanceTemp + String.Format(performanceBody, performanceData); } foreach (Skills skill in skills) { object[] skillData = new object[1]; skillData[0] = skill.skillHash; skillTemp = skillTemp + String.Format(skillBody, skillData); } foreach (Vinyls vinyl in vinyls) { object[] vinylData = new object[21]; vinylData[0] = vinyl.vinylHash; vinylData[1] = vinyl.hue1; vinylData[2] = vinyl.hue2; vinylData[3] = vinyl.hue3; vinylData[4] = vinyl.hue4; vinylData[5] = vinyl.layer; vinylData[6] = (vinyl.mir ? "true" : "false"); vinylData[7] = vinyl.rot; vinylData[8] = vinyl.sat1; vinylData[9] = vinyl.sat2; vinylData[10] = vinyl.sat3; vinylData[11] = vinyl.sat4; vinylData[12] = vinyl.scaleX; vinylData[13] = vinyl.scaleY; vinylData[14] = vinyl.shear; vinylData[15] = vinyl.tranX; vinylData[16] = vinyl.tranY; vinylData[17] = vinyl.var1; vinylData[18] = vinyl.var2; vinylData[19] = vinyl.var3; vinylData[20] = vinyl.var4; vinylTemp = vinylTemp + String.Format(vinylBody, vinylData); } foreach (VisualParts visualPart in visualParts) { object[] visualData = new object[2]; visualData[0] = visualPart.visualPartHash; visualData[1] = visualPart.slot; visualPartsTemp = visualPartsTemp + String.Format(visualPartBody, visualData); } object[] carData = new object[14]; carData[0] = carOrigData.baseCar; carData[1] = carOrigData.carClassHash; carData[2] = carId; //carData[3] = reader["motto"]; //carData[4] = reader["name"]; carData[5] = carOrigData.physicsProfileHash; carData[6] = carOrigData.rating; carData[7] = carOrigData.resalePrice; //carData[8] = reader["score"]; //carData[9] = reader["score"]; //carData[10] = reader["score"]; carData[11] = carOrigData.durability; carData[12] = carOrigData.heat; carData[13] = carId; carData[3] = paintTemp; carData[4] = performanceTemp; carData[8] = skillTemp; carData[9] = vinylTemp; carData[10] = visualPartsTemp; car = car + String.Format(carBody, carData); } //Result generation //string packetBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/commerce.xml"); outPacket = car; //File.WriteAllText("packet", outPacket); //outPacket = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/100/commerce.xml"); isGoodResponse = true; }
public static void buyCar(string packet, int personaId, int userId, MySqlConnection connection, out string outPacket, out bool isGoodResponse) { MySqlConnection connection2 = new MySqlConnection(MsSQL.connetionString); connection2.Open(); bool isYourPersona = false; string sql = String.Format("SELECT personaId FROM Persona WHERE userId = {0}", userId); using (MySqlCommand command = new MySqlCommand(sql, connection)) using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { if (Convert.ToInt32(reader["personaId"]) == personaId) { isYourPersona = true; break; } } } XmlDocument packetParsing = new XmlDocument(); packetParsing.LoadXml(packet); string productId = packetParsing.ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes[0].InnerText.Replace(":", ""); int carId = 0; string car = ""; //productId = "example"; if (File.Exists(Program.serverPrefix + "/Engine.svc/personas/car/baskets/" + productId + ".xml") && isYourPersona) { sql = String.Format("UPDATE Persona SET defaultCarIndex = carCount, carCount = carCount + 1 WHERE personaId = {0}", personaId); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } string basket = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/baskets/" + productId + ".xml").Replace(" i:nil=\"true\" ", ""); packetParsing.LoadXml(basket); var customCar = packetParsing.ChildNodes[0].ChildNodes[0]; PersonaCar carOrigData = new PersonaCar(); ; carOrigData.baseCar = Convert.ToInt32(customCar.ChildNodes[0].InnerText); carOrigData.physicsProfileHash = Convert.ToInt32(customCar.ChildNodes[8].InnerText); carOrigData.carClassHash = Convert.ToInt32(customCar.ChildNodes[1].InnerText); carOrigData.rating = Convert.ToInt32(customCar.ChildNodes[9].InnerText); carOrigData.resalePrice = Convert.ToInt32(customCar.ChildNodes[10].InnerText); carOrigData.durability = 100; carOrigData.heat = 1; List<Paints> paints = new List<Paints>(); List<PerformanceParts> performanceParts = new List<PerformanceParts>(); List<Skills> skills = new List<Skills>(); List<VisualParts> visualParts = new List<VisualParts>(); List<Vinyls> vinyls = new List<Vinyls>(); //Paints foreach (XmlNode node in customCar.ChildNodes[6]) { Paints temp = new Paints(); temp.group = Convert.ToInt32(node.ChildNodes[0].InnerText); temp.hue = Convert.ToInt32(node.ChildNodes[1].InnerText); temp.sat = Convert.ToInt32(node.ChildNodes[2].InnerText); temp.slot = Convert.ToInt32(node.ChildNodes[3].InnerText); temp.var = Convert.ToInt32(node.ChildNodes[4].InnerText); paints.Add(temp); } //PerformanceParts int slotIndex = 0; foreach (XmlNode node in customCar.ChildNodes[7]) { PerformanceParts temp = new PerformanceParts(); temp.slot = slotIndex; temp.partHash = Convert.ToInt32(node.ChildNodes[0].InnerText); slotIndex++; performanceParts.Add(temp); } //Skills slotIndex = 0; foreach (XmlNode node in customCar.ChildNodes[12]) { Skills temp = new Skills(); temp.slot = slotIndex; temp.skillHash = Convert.ToInt32(node.ChildNodes[1].InnerText); slotIndex++; skills.Add(temp); } //Vinyls foreach (XmlNode node in customCar.ChildNodes[15]) { Vinyls temp = new Vinyls(); temp.layer = Convert.ToInt32(node.ChildNodes[5].InnerText); temp.vinylHash = Convert.ToInt32(node.ChildNodes[0].InnerText); temp.hue1 = Convert.ToInt32(node.ChildNodes[1].InnerText); temp.hue2 = Convert.ToInt32(node.ChildNodes[2].InnerText); temp.hue3 = Convert.ToInt32(node.ChildNodes[3].InnerText); temp.hue4 = Convert.ToInt32(node.ChildNodes[4].InnerText); temp.mir = Convert.ToBoolean(node.ChildNodes[6].InnerText); temp.rot = Convert.ToInt32(node.ChildNodes[7].InnerText); temp.sat1 = Convert.ToInt32(node.ChildNodes[8].InnerText); temp.sat2 = Convert.ToInt32(node.ChildNodes[9].InnerText); temp.sat3 = Convert.ToInt32(node.ChildNodes[10].InnerText); temp.sat4 = Convert.ToInt32(node.ChildNodes[11].InnerText); temp.scaleX = Convert.ToInt32(node.ChildNodes[12].InnerText); temp.scaleY = Convert.ToInt32(node.ChildNodes[13].InnerText); temp.shear = Convert.ToInt32(node.ChildNodes[14].InnerText); temp.tranX = Convert.ToInt32(node.ChildNodes[15].InnerText); temp.tranY = Convert.ToInt32(node.ChildNodes[16].InnerText); temp.var1 = Convert.ToInt32(node.ChildNodes[17].InnerText); temp.var2 = Convert.ToInt32(node.ChildNodes[18].InnerText); temp.var3 = Convert.ToInt32(node.ChildNodes[19].InnerText); temp.var4 = Convert.ToInt32(node.ChildNodes[20].InnerText); vinyls.Add(temp); } //VisualParts foreach (XmlNode node in customCar.ChildNodes[16]) { VisualParts temp = new VisualParts(); temp.slot = Convert.ToInt32(node.ChildNodes[1].InnerText); temp.visualPartHash = Convert.ToInt32(node.ChildNodes[0].InnerText); visualParts.Add(temp); } sql = ""; { object[] carData = new object[8]; carData[0] = personaId; carData[1] = carOrigData.baseCar; carData[2] = carOrigData.carClassHash; carData[3] = carOrigData.physicsProfileHash; carData[4] = carOrigData.rating; carData[5] = carOrigData.resalePrice; carData[6] = carOrigData.durability; carData[7] = carOrigData.heat; sql = string.Format("INSERT INTO PersonaCar (personaId, baseCar, carClassHash, physicsProfileHash, rating, resalePrice, durability, heat) VALUES ({0},{1},{2},{3},{4},{5},{6},{7})", carData); using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } sql = string.Format("SELECT carId FROM PersonaCar WHERE personaId = {0} ORDER BY carId DESC LIMIT 1", personaId); using (MySqlCommand command = new MySqlCommand(sql, connection)) using (MySqlDataReader reader = command.ExecuteReader()) { reader.Read(); carId = Convert.ToInt32(reader["carId"]); } } ///////////////Paints sql = "INSERT INTO PersonaCarPaints (carId, sat, slot, var, hue, grp) VALUES "; bool isFirst = true; foreach (Paints paint in paints) { object[] data = new object[6]; data[0] = carId; data[1] = paint.sat; data[2] = paint.slot; data[3] = paint.var; data[4] = paint.hue; data[5] = paint.group; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2},{3},{4},{5})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////performanceParts sql = "INSERT INTO PersonaCarPerformanceParts (carId, slot, partHash) VALUES "; isFirst = true; foreach (PerformanceParts performancePart in performanceParts) { object[] data = new object[3]; data[0] = carId; data[1] = performancePart.slot; data[2] = performancePart.partHash; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////Skills sql = "INSERT INTO PersonaCarSkills (carId, slot, skillHash) VALUES "; isFirst = true; foreach (Skills skill in skills) { object[] data = new object[3]; data[0] = carId; data[1] = skill.slot; data[2] = skill.skillHash; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////Vinyls sql = "INSERT INTO PersonaCarVinyls (carId, layer, vinylHash, hue1, hue2, hue3, hue4, mir, rot, sat1, sat2, sat3, sat4, scaleX, scaleY, shear, tranX, tranY, var1, var2, var3, var4) VALUES "; isFirst = true; foreach (Vinyls vinyl in vinyls) { object[] data = new object[22]; data[0] = carId; data[1] = vinyl.layer; data[2] = vinyl.vinylHash; data[3] = vinyl.hue1; data[4] = vinyl.hue2; data[5] = vinyl.hue3; data[6] = vinyl.hue4; data[7] = (vinyl.mir ? 1 : 0); data[8] = vinyl.rot; data[9] = vinyl.sat1; data[10] = vinyl.sat2; data[11] = vinyl.sat3; data[12] = vinyl.sat4; data[13] = vinyl.scaleX; data[14] = vinyl.scaleY; data[15] = vinyl.shear; data[16] = vinyl.tranX; data[17] = vinyl.tranY; data[18] = vinyl.var1; data[19] = vinyl.var2; data[20] = vinyl.var3; data[21] = vinyl.var4; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } ///////////////Visual parts sql = "INSERT INTO PersonaCarVisualParts (carId, partHash, slotHash) VALUES "; isFirst = true; foreach (VisualParts visualPart in visualParts) { object[] data = new object[3]; data[0] = carId; data[1] = visualPart.visualPartHash; data[2] = visualPart.slot; if (!isFirst) sql = sql + ", "; sql = sql + String.Format("({0},{1},{2})", data); isFirst = false; } if (!isFirst) { using (MySqlCommand command = new MySqlCommand(sql, connection)) { command.ExecuteNonQuery(); } } string vinylTemp = ""; string visualPartsTemp = ""; string skillTemp = ""; string paintTemp = ""; string performanceTemp = ""; string carBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/car.xml"); string vinylBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/vinyl.xml"); string visualPartBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/visualpart.xml"); string skillBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/skill.xml"); string performanceBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/performance.xml"); string paintBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/paint.xml"); foreach (Paints paint in paints) { object[] paintData = new object[6]; paintData[0] = paint.group; paintData[1] = paint.hue; paintData[2] = paint.sat; paintData[3] = paint.slot; paintData[4] = paint.var; paintTemp = paintTemp + String.Format(paintBody, paintData); } foreach (PerformanceParts performancePart in performanceParts) { object[] performanceData = new object[1]; performanceData[0] = performancePart.partHash; performanceTemp = performanceTemp + String.Format(performanceBody, performanceData); } foreach (Skills skill in skills) { object[] skillData = new object[1]; skillData[0] = skill.skillHash; skillTemp = skillTemp + String.Format(skillBody, skillData); } foreach (Vinyls vinyl in vinyls) { object[] vinylData = new object[21]; vinylData[0] = vinyl.vinylHash; vinylData[1] = vinyl.hue1; vinylData[2] = vinyl.hue2; vinylData[3] = vinyl.hue3; vinylData[4] = vinyl.hue4; vinylData[5] = vinyl.layer; vinylData[6] = (vinyl.mir ? "true" : "false"); vinylData[7] = vinyl.rot; vinylData[8] = vinyl.sat1; vinylData[9] = vinyl.sat2; vinylData[10] = vinyl.sat3; vinylData[11] = vinyl.sat4; vinylData[12] = vinyl.scaleX; vinylData[13] = vinyl.scaleY; vinylData[14] = vinyl.shear; vinylData[15] = vinyl.tranX; vinylData[16] = vinyl.tranY; vinylData[17] = vinyl.var1; vinylData[18] = vinyl.var2; vinylData[19] = vinyl.var3; vinylData[20] = vinyl.var4; vinylTemp = vinylTemp + String.Format(vinylBody, vinylData); } foreach (VisualParts visualPart in visualParts) { object[] visualData = new object[2]; visualData[0] = visualPart.visualPartHash; visualData[1] = visualPart.slot; visualPartsTemp = visualPartsTemp + String.Format(visualPartBody, visualData); } { object[] carData = new object[14]; carData[0] = carOrigData.baseCar; carData[1] = carOrigData.carClassHash; carData[2] = carId; //carData[3] = reader["motto"]; //carData[4] = reader["name"]; carData[5] = carOrigData.physicsProfileHash; carData[6] = carOrigData.rating; carData[7] = carOrigData.resalePrice; //carData[8] = reader["score"]; //carData[9] = reader["score"]; //carData[10] = reader["score"]; carData[11] = carOrigData.durability; carData[12] = carOrigData.heat; carData[13] = carId; carData[3] = paintTemp; carData[4] = performanceTemp; carData[8] = skillTemp; carData[9] = vinylTemp; carData[10] = visualPartsTemp; car = car + String.Format(carBody, carData); } } //Result generation string packetBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/baskets.xml"); outPacket = string.Format(packetBody, car); //File.WriteAllText("packet", outPacket); //outPacket = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/100/commerce.xml"); isGoodResponse = true; connection2.Close(); }