static void ObserveEquipment2(Data generalData, Client.GameState client) { if (NulledClient(client)) return; Client.GameState pclient = null; if (Kernel.GamePool.TryGetValue(generalData.dwParam, out pclient)) { byte[] array = new byte[pclient.Entity.SpawnPacket.Length]; pclient.Entity.SpawnPacket.CopyTo(array, 0); array[0x6d] = 0; client.Send(array); pclient.Send(new Message(client.Entity.Name + " is observing your gear carefully.", System.Drawing.Color.Red, Message.TopLeft)); client.Send(WindowStats(pclient)); if (!pclient.AlternateEquipment) { for (Byte pos = (Byte)Positions.Head; pos <= (Byte)Positions.SteedTalisman; pos++) { Interfaces.IConquerItem i = pclient.Equipment.TryGetItem((Byte)pos); BoothItem2 view = new BoothItem2(); view.CostType = BoothItem2.CostTypes.ViewEquip; view.Identifier = pclient.Entity.UID; view.Position = (Positions)pos; if (i != null) view.ParseItem(i); client.Send(view); if (i != null) { i.SendExtras(client); } } } else { for (Byte pos = (Byte)Positions.AttackTalisman; pos <= (Byte)Positions.AltGarment; pos++) { Interfaces.IConquerItem i = pclient.Equipment.TryGetItem((Byte)pos); BoothItem2 view = new BoothItem2(); view.CostType = BoothItem2.CostTypes.ViewEquip; view.Identifier = pclient.Entity.UID; view.Position = (Positions)pos; if (i != null) view.ParseItem(i); client.Send(view); if (i != null) { i.SendExtras(client); } } } _String packet = new _String(true); packet.Type = 16; packet.UID = client.Entity.UID; packet.TextsCount = 1; packet.Texts = new List<string>() { pclient.Entity.Spouse }; client.Send(packet); packet.Type = 10; client.Send(packet); client.Send(generalData); //Console.WriteLine("k i m o" + generalData.dwParam + ""); } }
public static void Load() { Ini ini = new Ini(Program.QuestInfo2); int num = ini.ReadInt32("TotalMission", "TotalMission"); for (int i = 0; i <= num; i++) { Quest quest = new Quest { Type = (QuestTypes)((byte)ini.ReadInt32(i.ToString(), "TypeId")), CompleteFlag = ini.ReadInt32(i.ToString(), "CompleteFlag"), ActivityType = ini.ReadInt32(i.ToString(), "ActivityType"), Identifier = ini.ReadUInt32(i.ToString(), "MissionId"), Name = ini.Read(i.ToString(), "Name"), MinLevel = ini.ReadUInt16(i.ToString(), "Lv_min"), MaxLevel = ini.ReadUInt16(i.ToString(), "Lv_max"), Auto = Convert.ToBoolean(ini.ReadByte(i.ToString(), "Auto")), First = Convert.ToBoolean(ini.ReadByte(i.ToString(), "First")) }; string source = ini.Read(i.ToString(), "Prequest"); if (source.Contains<char>('|')) { foreach (string str2 in source.Split(new char[] { '|' })) { quest.Prerequests.Add(Convert.ToUInt32(str2)); } } else if ((source != "0") && (source != string.Empty)) { quest.Prerequests.Add(Convert.ToUInt32(source)); } quest.Map = ini.ReadUInt32(i.ToString(), "Map"); string str3 = ini.Read(i.ToString(), "Profession"); if (str3.Contains<char>(',')) { foreach (string str2 in str3.Split(new char[] { ',' })) { quest.Professions.Add((PhoenixProject.Network.GamePackets.Quest.Quest.ClassNames)Convert.ToByte(str2)); } } else if ((source != "0") && (source != string.Empty)) { quest.Professions.Add((PhoenixProject.Network.GamePackets.Quest.Quest.ClassNames)Convert.ToByte(str3)); } quest.Sex = ini.ReadUInt16(i.ToString(), "Sex"); quest.FinishTime = ini.Read(i.ToString(), "FinishTime"); quest.ActivityBeginTime = ini.Read(i.ToString(), "ActivityBeginTime"); quest.ActivityEndTime = ini.Read(i.ToString(), "ActivityEndTime"); string str4 = ini.Read(i.ToString(), "Prize"); string str5 = str4; string str6 = string.Empty; if (str4.Contains<char>('[')) { str5 = str4.Remove(str4.IndexOf('[')); str6 = str4.Remove(0, str4.IndexOf('[')).Replace(' ', ':').Replace(']', ' ').Replace("[", ""); } IEnumerable<string> first = str5.Contains<char>(' ') ? ((IEnumerable<string>)str5.Split(new char[] { ' ' })) : ((IEnumerable<string>)new string[] { str5 }); if (str6 != string.Empty) { first = first.Union<string>(str6.Split(new char[] { ' ' })); } foreach (string str7 in first) { string[] strArray; Dictionary<QuestPrize, uint> dictionary; if (str7.Contains<char>(':')) { strArray = str7.ToLower().Split(new char[] { ':' }); string str8 = strArray[0]; if (str8 != null) { if (!(str8 == "exp")) { if (str8 == "gold") { goto Label_048B; } if (str8 == "cp") { goto Label_04B2; } if (str8 == "item") { goto Label_04D9; } } else { (dictionary = quest.Prizes)[QuestPrize.Exp] = dictionary[QuestPrize.Exp] + Convert.ToUInt32(strArray[1]); } } } continue; Label_048B: (dictionary = quest.Prizes)[QuestPrize.Gold] = dictionary[QuestPrize.Gold] + Convert.ToUInt32(strArray[1]); continue; Label_04B2: (dictionary = quest.Prizes)[QuestPrize.CP] = dictionary[QuestPrize.CP] + Convert.ToUInt32(strArray[1]); continue; Label_04D9: ; string[] strArray2 = strArray[1].Split(new char[] { ',' }); BoothItem2 item = new BoothItem2 { Identifier = 0, ItemID = Convert.ToUInt32(strArray2[0]), Plus = Convert.ToByte(strArray2[1]), SocketOne = Convert.ToByte(strArray2[2]), SocketTwo = Convert.ToByte(strArray2[3]), Color = (uint)(Enums.Color)Convert.ToByte(strArray2[4]), Enchant = Convert.ToByte(strArray2[5]), Bless = Convert.ToByte(strArray2[6]) }; quest.ItemPrizes.Add(item); } ServerBase.Kernel.Quest.TryAdd(quest.Identifier, quest); } }