اهلا بكل اعضاء ايجى نت اولا الشرح منقول للافادة يعنى مش بتاعى تمام النهارده معانا شرح اضافة ابجريد 6133 وحل جميع مشاكله كمان يلا بينا نبدا اولاً افتح Equipment.cs وابحث عن كود PHP: #region Offsets بدل بى دول كود PHP: #region Offsets public const int Head = 48 + 4, Garment = 52 + 4, Armor = 56 + 4, LeftWeapon = 60 + 4, RightWeapon = 64 + 4, LeftWeaponAccessory = 68 + 4, RightWeaponAccessory = 72 + 4, Steed = 76 + 4, MountArmor = 80 + 4, ArmorColor = 141 + 4 + 9, LeftWeaponColor = 143 + 4 + 9, HeadColor = 145 + 4 + 9, SteedPlus = 151 + 4 + 9, SteedColor = 157 + 4 + 9, HeadSoul = 200 + 4 + 9, Wing = 88, WingPlus = 92, ArmorSoul = 204 + 4 + 9, LeftWeaponSoul = 208 + 4 + 9, RightWeaponSoul = 212 + 4 + 9; #endregion فى نفس الملف ابحث عن كود PHP: switch ((ushort)item.Position) هتلاقى الكود ده كود PHP: case Network.GamePackets.ConquerItem.SteedArmor: Network.......r.......UInt32(item.ID, MountArmor, Owner.Entity.SpawnPacket); break; ضيف ده تحتو على طول كود PHP: case Network.GamePackets.ConquerItem.Wing: Network.......r.......UInt32(item.ID, 88, Owner.Entity.SpawnPacket); Network.......r.......UInt16((byte)item.Plus, WingPlus, Owner.Entity.SpawnPacket); break; 2_ افتح Entity.cs ابحث عن كود PHP: #region offsets بدل الى فى بدول كود PHP: #region offsets public static int num = 4; public static int _Mesh = 4 + num, _UID = 8 + num, _GuildID = 12 + num, _GuildRank = 16 + num, _StatusFlag = 22 + num, _StatusFlag2 = 30 + num, _StatusFlag3 = 38 + num, _AppearanceType = 42 + num + 4, _Hitpoints = 86 + num + 4 + 9, _MonsterLevel = 92 + 4 + num + 9, _X = 94 + num + 4 + 9, _Y = 96 + num + 4 + 9, _HairStyle = 98 + num + 4 + 9, _Facing = 100 + num + 4 + 9, _Action = 101 + num + 4 + 9, _Reborn = 108 + num + 4 + 9, _Level = 109 + num + 4 + 9, _WindowSpawn = 111 + num + 4 + 9, _Away = 112 + num + 4 + 9, _ExtraBattlepower = 113 + num + 4 + 9, _FlowerIcon = 125 + num + 4 + 4 + 9, _NobilityRank = 133 + num + 4 + 9, _QuizPoints = 143 + num + 4 + 9, _ClanUID = 169 + num + 4 + 9, _ClanRank = 173 + num + 4 + 9, _Title = 181 + num + 4 + 9, _ShowArenaGlow = 192 + num + 4 + 9, _Boss = 195 + num + 4 + 9, _RaceItem = 197 + num + 4 + 9, _ActiveSubclass = 212 + num + 4 + 9, _FirstRebornClass = 221 + num + 4 + 9, _SecondRebornClass = 223 + num + 4 + 9, _Class = 225 + num + 4 + 9, _CountryCode = 227 + num + 4 + 9, _AssassinColor = 233 + 4 + 4 + 9, _JingHu_Talen = 241 + 4 + 9, _JiangHuActive = 242 + 4 + 9, _skillsoul = 240 + 4 + 9, _skillsoul2 = 243 + 4 + 9, _CUID = 249 + 8 + 9, _Names = 284; #endregion اول مشكله الى هى اللفن يلا نحل بقا نفس الملف Entity.cs ابحث عن وهتتحدد لحد كود PHP: _level = value; } } كود PHP: public byte Level هتبدل بى كود PHP: public byte Level { get { if (EntityFlag == EntityFlag.Player) { SpawnPacket[126] = _level; return _level; } else { SpawnPacket[109] = _level; return _level; } } set { if (EntityFlag == EntityFlag.Player) { Update(Network.GamePackets.Update.Level, value, true); Data _Data = new Data(true); _Data.UID = UID; _Data.ID = Data.Leveled; _Data.TimeStamp = Time32.Now; if (Owner != null) { (Owner as Client.GameClient).SendScreen(update, true); Owner.ArenaStatistic.Level = value; Owner.ArenaStatistic.ArenaPoints = 1000; } if (Owner != null) { if (Owner.AsMember != null) { Owner.AsMember.Level = value; } } SpawnPacket[126] = value; UpdateData....("Level", value); } else { SpawnPacket[109] = value; } _level = value; } } 3_افتح CharacterInfo.cs ابحت عن كود PHP: public byte[] ToArray() بدل بى كود PHP: public byte[] ToArray() { byte[] Packet = new byte[138 + client.Entity.Spouse.Length + client.Entity.Name.Length]; WriteUInt16((ushort)(Packet.Length - 8), 0, Packet); WriteUInt16(1006, 2, Packet); WriteUInt32((uint)Time32.timeGetTime().GetHashCode (), 4, Packet); WriteUInt32(client.Entity.UID, 8, Packet); WriteUInt32(client.Entity.Mesh, 14, Packet); WriteUInt16(client.Entity.HairStyle, 18, Packet); WriteUInt32(client.Entity.Money, 20, Packet); WriteUInt32((uint)client.Entity.ConquerPoints, 28, Packet); WriteUInt32(client.Entity.BoundCps, 107, Packet);//103 WriteUInt64(client.Entity.Experience, 32, Packet); WriteUInt16(client.Entity.Strength, 60, Packet); WriteUInt16(client.Entity.Agility, 62, Packet); WriteUInt16(client.Entity.Vitality, 64, Packet); WriteUInt16(client.Entity.Spirit, 66, Packet); WriteUInt16(client.Entity.Atributes, 68, Packet); WriteUInt32(client.Entity.Hitpoints, 70, Packet); WriteUInt16(client.Entity.Mana, 74, Packet); WriteUInt16(client.Entity.PKPoints, 76, Packet); Packet[78] = client.Entity.Level; Packet[79] = client.Entity.Class; Packet[80] = client.Entity.FirstRebornClass; Packet[81] = client.Entity.SecondRebornClass; Packet[83] = client.Entity.Reborn; WriteUInt32(client.Entity.QuizPoints, 85, Packet); WriteUInt32(1, 89, Packet); WriteUInt16(0/*enlightened time left*/, 93, Packet); WriteByte(client.Entity.SubClasses.Active, 111, Packet); WriteUInt32(client.Entity.SubClasses.GetHashPoint( ), 112, Packet); WriteUInt16((UInt16)client.Entity.MyTitle, 105, Packet); Packet[119] = 1; Packet[124] = 1; WriteUInt16((ushort)client.Entity.CountryID, 128, Packet); Writer.......Byte(3, 130, Packet); Packet[131] = (byte)client.Entity.Name.Length; Writer.......String(client.Entity.Name, 132, Packet); Writer.......Byte((byte)client.Entity.Spouse.Length , 133 + client.Entity.Name.Length, Packet); Writer.......String(client.Entity.Spouse, 134 + client.Entity.Name.Length, Packet); return Packet; } 3_ClientEquip.cs من تالت سطر وبدل علشان فى ناس جديد فى المجال كود PHP: public class ClientEquip : Interfaces.IPacket { private Byte[] mData; public ClientEquip() { this.mData = new Byte[103]; Writer.......UInt16((UInt16)(this.mData.Length - 8), 0, mData); Writer.......UInt16((UInt16)1009, 2, mData); Writer.......UInt32((uint)Time64.timeGetTime().GetH ashCode(), 4, mData); Writer.......UInt16((UInt16)46, 20, mData); } public ClientEquip(GameClient c) { this.mData = new Byte[96]; Writer.......UInt16((UInt16)(this.mData.Length - 8), 0, mData); Writer.......UInt16((UInt16)1009, 2, mData); Writer.......UInt32((uint)Time64.timeGetTime().GetH ashCode(), 4, mData); Writer.......UInt16((UInt16)46, 20, mData); DoEquips(c); } public void DoEquips(GameClient client) { if (client.Equipment == null) return; ConquerItem[] Items = client.Equipment.Objects; Writer.......UInt32((uint)Time64.timeGetTime().GetH ashCode(), 4, mData); Writer.......UInt32(client.Entity.UID, 8, mData); AlternativeEquipment = client.AlternateEquipment; foreach (var Item in client.Equipment.Objects) { if (Item == null) continue; if (Item.IsWorn) { switch (Item.Position) { #region Equipment case ConquerItem.Head: this.Helm = Item.UID; break; case ConquerItem.Wing: Wing = Item.UID; break; case ConquerItem.Necklace: this.Necklace = Item.UID; break; case ConquerItem.Armor: this.Armor = Item.UID; break; case ConquerItem.RightWeapon: this.RHand = Item.UID; break; case ConquerItem.LeftWeapon: this.LHand = Item.UID; break; case ConquerItem.Ring: this.Ring = Item.UID; break; case ConquerItem.Boots: this.Boots = Item.UID; break; case ConquerItem.Garment: this.Garment = Item.UID; break; case ConquerItem.Bottle: this.Talisman = Item.UID; break; case ConquerItem.RightWeaponAccessory: AccessoryOne = Item.UID; break; case ConquerItem.LeftWeaponAccessory: AccessoryTwo = Item.UID; break; case ConquerItem.SteedArmor: SteedArmor = Item.UID; break; case ConquerItem.SteedCrop: SteedTalisman = Item.UID; break; #endregion #region AlternateEquipment case ConquerItem.AlternateArmor: Armor = Item.UID; break; case ConquerItem.AlternateHead: Helm = Item.UID; break; case ConquerItem.AlternateNecklace: Necklace = Item.UID; break; case ConquerItem.AlternateRing: Ring = Item.UID; break; case ConquerItem.AlternateBoots: Boots = Item.UID; break; case ConquerItem.AlternateBottle: Talisman = Item.UID; break; case ConquerItem.AlternateGarment: this.Garment = Item.UID; break; case ConquerItem.AlternateLeftWeapon: LHand = Item.UID; break; case ConquerItem.AlternateRightWeapon: RHand = Item.UID; break; #endregion } } } if (client.ArmorLook > 0) Garment = Armor = uint.MaxValue - 1; if (client.HeadgearLook > 0) Helm = uint.MaxValue - 2; } public void Deserialize(byte[] buffer) { this.mData = buffer; } public byte[] ToArray() { return mData; } public void Send(Client.GameClient client) { client.Send(mData); } public bool AlternativeEquipment { get { return this.mData[12] == 1 ? true : false; } set { this.mData[12] = value ? (byte)1 : (byte)0; } } public UInt32 Helm { get { return BitConverter.ToUInt32(this.mData, 35); } set { Writer.......UInt32(value, 35, mData); } } public UInt32 Necklace { get { return BitConverter.ToUInt32(this.mData, 39); } set { Writer.......UInt32(value, 39, mData); } } public UInt32 Wing { get { return BitConverter.ToUInt32(mData, 87); } set { Writer.......UInt32(value, 87, mData); } } public UInt32 Armor { get { return BitConverter.ToUInt32(this.mData, 43); } set { Writer.......UInt32(value, 43, mData); } } public UInt32 RHand { get { return BitConverter.ToUInt32(this.mData, 47); } set { Writer.......UInt32(value, 47, mData); } } public UInt32 LHand { get { return BitConverter.ToUInt32(this.mData, 51); } set { Writer.......UInt32(value, 51, mData); } } public UInt32 Ring { get { return BitConverter.ToUInt32(this.mData, 55); } set { Writer.......UInt32(value, 55, mData); } } public UInt32 Talisman { get { return BitConverter.ToUInt32(this.mData, 59); } set { Writer.......UInt32(value, 59, mData); } } public UInt32 Boots { get { return BitConverter.ToUInt32(this.mData, 63); } set { Writer.......UInt32(value, 63, mData); } } public UInt32 Garment { get { return BitConverter.ToUInt32(this.mData, 67); } set { Writer.......UInt32(value, 67, mData); } } public uint AccessoryOne { get { return BitConverter.ToUInt32(mData, 71); } set { Writer.......UInt32(value, 71, mData); } } public uint AccessoryTwo { get { return BitConverter.ToUInt32(mData, 75); } set { Writer.......UInt32(value, 75, mData); } } public UInt32 SteedArmor { get { return BitConverter.ToUInt32(this.mData, 79); } set { Writer.......UInt32(value, 79, mData); } } public UInt32 SteedTalisman { get { return BitConverter.ToUInt32(this.mData, 83); } set { Writer.......UInt32(value, 83, mData); } } } } 4_ افتح ConquerItem.cs ابحث عن كود PHP: SteedArmor = 17, ضيف ده تحتيه على طول كود PHP: Wing = 19, 5_افتح GroundMovement.cs بدل الى في كلو كود PHP: using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace Conquer_Online_Server.Network.GamePackets { public class GroundMovement : Writer, Interfaces.IPacket { public const uint Walk = 0, Run = 1, Slide = 9; public GroundMovement(bool CreateInstance) { } public byte[] CreateProtocolBuffer(params uint[] values) { List<byte> ptr = new List<byte>(); ptr.Add(8); for (int x = 0; x < values.Length; x++) { uint value = values[x]; while (value > 0x7F) { ptr.Add((byte)((value & 0x7F) | 0x80)); value >>= 7; } ptr.Add((byte)(value & 0x7F)); ptr.Add((byte)(8 * (x + 2))); if (x + 1 == values.Length) break; } return ptr.ToArray(); } public uint ReadFromProtocolUint32(uint position, BinaryReader reader) { byte key = reader.ReadByte(); if (key == position) { uint value = 0; int shift = 0; uint val = reader.ReadByte(); while (val > 0x7F) { value |= (val & 0x7F) << shift; shift += 7; val = reader.ReadByte(); } value |= (val & 0x7F) << shift; return value; } return 0; } public byte[] ToArray() { byte[] ptr = CreateProtocolBuffer((uint)Direction, UID, GroundMovementType, TimeStamp, MapID); List<byte> pack = new List<byte>(); for (int i = 0; i < (ptr.Length - 1); i++) { pack.Add(ptr[i]); } ptr = pack.ToArray(); byte[] buffer = new byte[12 + ptr.Length]; Writer.......UInt16((ushort)(buffer.Length - 8), 0, buffer); Writer.......UInt16(10005, 2, buffer); System.Array.Copy(ptr, 0, buffer, 4, ptr.Length); return buffer; } public void Deserialize(byte[] buffer) { var packet = new byte[buffer.Length - 4]; System.Array.Copy(buffer, 4, packet, 0, packet.Length); using (var Reader = new BinaryReader(new MemoryStream(packet))) { uint direction = 0; uint uid = 0; uint type = 0; uint tstamp = 0; uint mapid = 0; for (int i = 0; i < Reader.....Stream.Length; i++) { Reader.....Stream.Position = i; if (packet[i] == 8) { direction = ReadFromProtocolUint32(8, Reader); } if (packet[i] == 16) { uid = ReadFromProtocolUint32(16, Reader); } if (packet[i] == 24) { type = ReadFromProtocolUint32(24, Reader); } if (packet[i] == 32) { tstamp = ReadFromProtocolUint32(32, Reader); } if (packet[i] == 40) { mapid = ReadFromProtocolUint32(40, Reader); } } Direction = (Conquer_Online_Server.Game.Enums.ConquerAngle)direction; UID = uid; GroundMovementType = type; TimeStamp = tstamp; MapID = mapid; } } public Game.Enums.ConquerAngle Direction; public uint UID; public uint TimeStamp; public uint MapID; public uint GroundMovementType; public void Send(Client.GameClient client) { client.Send(ToArray()); } } } افتح Message.cs ابحث عن كود PHP: public void Deserialize(byte[] buffer) بدل بدول كود PHP: public void Deserialize(byte[] buffer) { Color = Color.FromArgb(BitConverter.ToInt32(buffer, 8)); ChatType = BitConverter.ToUInt32(buffer, 12); MessageUID1 = BitConverter.ToUInt32(buffer, 16); MessageUID2 = BitConverter.ToUInt32(buffer, 20); Mesh = BitConverter.ToUInt32(buffer, 24); _From = Encoding.Default.GetString(buffer, 35, buffer[34]); _To = Encoding.Default.GetString(buffer, 36 + _From.Length, buffer[35 + _From.Length]); __Message = Encoding.Default.GetString(buffer, (38 + _From.Length) + _To.Length, buffer[(37 + _From.Length) + _To.Length]); } public byte[] ToArray() { byte[] Packet = new byte[(((32 + _From.Length) + _To.Length) + __Message.Length) + 18]; Writer.......UInt16((ushort)(Packet.Length - 8), 0, Packet); Writer.......UInt32((uint)Time32.timeGetTime().GetHashCode(), 4, Packet); Writer.......UInt16(1004, 2, Packet); Writer.......UInt32((uint)Color.ToArgb(), 8, Packet); Writer.......UInt32(ChatType, 12, Packet); Writer.......UInt32(MessageUID1, 16, Packet); Writer.......UInt32(MessageUID2, 20, Packet); Writer.......UInt32(Mesh, 24, Packet); Writer.......StringList(new List<string>() { _From, _To, "", __Message }, 33, Packet); return Packet; } ركز بقى فى الكلام الى جى دة علشان دة المهم افتح PacketHandler.cs ابحث عن كود PHP: public static byte ItemMaxLevel(ushort postion) هتلاقى الكود ده كود PHP: case 0: return 0; ضيف ده تحتى على طول كود PHP: case ConquerItem.Wing: return 100; ابحث عن كود PHP: public static byte ItemMinLevel(ushort postion) هتلاقى نفس الكود السابق ضيف ده تحتى كود PHP: case ConquerItem.Wing: return 0; ابحث عن كود PHP: public static Positions GetPositionFromID(UInt32 itemid) هتلاقى الكود ده تحت شويه كود PHP: return Positions.LeftAccessory; ضيف ده تحتو على طول كود PHP: else if (iType == 204) return Positions.Wing; ابحث عن كود PHP: public static ushort ItemPosition(uint ID) هتلاقى الكود ده تحت شويه كود PHP: return ConquerItem.SteedArmor; ضيف ده تحتو على طول كود PHP: else if (ID >= 204005 && ID <= 204009) return ConquerItem.Wing; ابحث عن كود PHP: public enum Positions : byte هتنزل شوية هتلاقي الكود ده كود PHP: SteedArmor = 17 ضيف جنب 17 العلامه دى , ضيف ده تحتو كود PHP: Wing = 19 ابحث عن كود PHP: public static Positions ItemPositionFromID(UInt32 itemid) هتنزل شوية هتلاقي الكود ده كود PHP: else if (iType == 380) return Positions.LeftAccessory; حط الكود ده تحتو كود PHP: else if (iType == 204) return Positions.Wing; يلا بقا نضيف الجناح فى الشوب ميل افتح Items.txt حط دول اخر حاجه فى الملف كود PHP: 204003@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ImperialTalism an@@A~rare~talisman.~When~you~upgrade~it~to~Super~ quality,~you`ll~grow~a~pair~of~wings.@@5@@0@@0@@0@ @7040@@500@@200@@100@@100@@50@@0@@ 204004@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ImperialTalism an@@A~rare~talisman.~When~you~upgrade~it~to~Super~ quality,~you`ll~grow~a~pair~of~wings.@@5@@0@@0@@0@ @7040@@500@@200@@100@@100@@50@@0@@ 204005@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ImperialTalism an@@A~rare~talisman.~When~you~upgrade~it~to~Super~ quality,~you`ll~grow~a~pair~of~wings.@@5@@0@@0@@0@ @7040@@500@@200@@100@@100@@50@@0@@ 204006@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ImperialTalism an@@A~rare~talisman.~When~you~upgrade~it~to~Super~ quality,~you`ll~grow~a~pair~of~wings.@@5@@0@@0@@0@ @7040@@500@@300@@200@@200@@150@@0@@ 204007@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ImperialTalism an@@A~rare~talisman.~When~you~upgrade~it~to~Super~ quality,~you`ll~grow~a~pair~of~wings.@@5@@0@@0@@0@ @7040@@500@@500@@300@@400@@250@@0@@ 204008@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@ImperialTalism an@@A~rare~talisman.~When~you~upgrade~it~to~Super~ quality,~you`ll~grow~a~pair~of~wings.@@5@@0@@0@@0@ @7040@@500@@700@@400@@600@@350@@0@@ 204009@@TempestWing@@0@@0@@100@@0@@0@@0@@0@@0@@0@@ 0@@37818@@0@@0@@0@@0@@0@@0@@0@@0@@6698@@6698@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1290@@1290@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@Imperial Talisman@@In~one~screen,~the~hero~has~wings~of~the ~highest~bonus~level~above~+6:~spread~wings;~2-6~heroes:~fold~wings;~others:~no~effect.@@9@@0@@0@ @0@@7040@@500@@1000@@550@@900@@450@@0@@ افتح emoneyShopV2 كود PHP: 204009 equip|new In~one~screen,~the~hero~has~wings~of~the~highest~b onus~level~above~+6:~spread~wings;~2-6~heroes:~fold~wings;~others:~no~effect. الباتش ده هتفكو فى السورس http://www.mediafire.com/download/xm4c1njwcrjbx56/Map+in+source+and+ItemsPlus.zip وده فى الباتش بتاع السورس http://www.mediafire.com/download/8w58o8zqti6rogg/Patch+In+Client.rar ملوحوظه لو جبلك ايرو فى GameClient غيرو الى GameState والعكس صحيح بروضو وبكدا مبروك الابجريد كامل 100% ارجو التقييم+التثبيت