public static void SendRegisterItemToAukCancelWindowResponse(IRealmClient client, List <Asda2ItemTradeRef> items = null) { using (var packet = new RealmPacketOut(RealmServerOpCode.RegisterItemToAukCancelWindow))//9902 { if (items != null) { foreach (var item in items) { packet.WriteByte(0); //{status}default value : 0 Len : 1 packet.WriteInt32(item.Item.ItemId); //{itemId}default value : 31855 Len : 4 packet.WriteByte((byte)item.Item.InventoryType); //{invNum}default value : 2 Len : 1 packet.WriteInt16(item.Item.Slot); //{cell}default value : 5 Len : 2 packet.WriteSkip(stab15); //value name : stab15 default value : stab15Len : 12 packet.WriteInt32(item.Amount); //{registeredAmount}default value : 250 Len : 4 packet.WriteInt32(item.Item.Amount); //{beforeAmount}default value : 250 Len : 4 packet.WriteInt16(item.Item.Weight); //{weight}default value : 0 Len : 2 packet.WriteSkip(stab37); //value name : stab37 default value : stab37Len : 21 packet.WriteInt32(client.ActiveCharacter.Asda2Inventory.Weight); //{invWeight}default value : 315 Len : 4 packet.WriteInt32(client.ActiveCharacter.Money); //{money}default value : 8503216 Len : 4 packet.WriteInt64(-1); //value name : unk8 default value : -1Len : 8 } } client.Send(packet); } }
public static void SendRegisterItemToAukCancelWindowResponse(IRealmClient client, List <Asda2ItemTradeRef> items = null) { using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.RegisterItemToAukCancelWindow)) { if (items != null) { foreach (Asda2ItemTradeRef asda2ItemTradeRef in items) { packet.WriteByte(0); packet.WriteInt32(asda2ItemTradeRef.Item.ItemId); packet.WriteByte((byte)asda2ItemTradeRef.Item.InventoryType); packet.WriteInt16(asda2ItemTradeRef.Item.Slot); packet.WriteSkip(Asda2AuctionHandler.stab15); packet.WriteInt32(asda2ItemTradeRef.Amount); packet.WriteInt32(asda2ItemTradeRef.Item.Amount); packet.WriteInt16(asda2ItemTradeRef.Item.Weight); packet.WriteSkip(Asda2AuctionHandler.stab37); packet.WriteInt32(client.ActiveCharacter.Asda2Inventory.Weight); packet.WriteInt32(client.ActiveCharacter.Money); packet.WriteInt64(-1L); } } client.Send(packet, false); } }
public static void SendConfimTradeFromOponentResponse(IRealmClient client, Asda2ItemTradeRef[] items) { using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.ConfimTradeFromOponent)) { packet.WriteInt32(1); packet.WriteByte(1); packet.WriteByte(1); for (int index = 0; index < 5; ++index) { Asda2ItemTradeRef asda2ItemTradeRef = items[index]; packet.WriteInt32(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.ItemId); packet.WriteByte(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Durability); packet.WriteInt16(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Weight); packet.WriteInt32(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Amount); packet.WriteByte(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Enchant); packet.WriteInt64(0L); packet.WriteInt16(0); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : (short)asda2ItemTradeRef.Item.Parametr1Type); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : asda2ItemTradeRef.Item.Parametr1Value); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : (short)asda2ItemTradeRef.Item.Parametr2Type); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : asda2ItemTradeRef.Item.Parametr2Value); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : (short)asda2ItemTradeRef.Item.Parametr3Type); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : asda2ItemTradeRef.Item.Parametr3Value); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : (short)asda2ItemTradeRef.Item.Parametr4Type); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : asda2ItemTradeRef.Item.Parametr4Value); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : (short)asda2ItemTradeRef.Item.Parametr5Type); packet.WriteInt16(asda2ItemTradeRef == null ? -1 : asda2ItemTradeRef.Item.Parametr5Value); packet.WriteByte(0); packet.WriteInt16(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Soul1Id); packet.WriteInt16(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Soul2Id); packet.WriteInt16(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Soul3Id); packet.WriteInt16(asda2ItemTradeRef == null ? 0 : asda2ItemTradeRef.Item.Soul4Id); } client.Send(packet, false); } }
public static void SendWarEndedResponse(IRealmClient client, byte winingFaction, int winingFactionPoints, int losserFactionPoints, int honorPoints, short honorCoin, long expReward, string mvpName) { using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.WarEnded)) { packet.WriteInt16(winingFaction); packet.WriteSkip(Asda2BattlegroundHandler.stab9); packet.WriteInt32(winingFactionPoints); packet.WriteInt32(losserFactionPoints); packet.WriteInt32(honorPoints); packet.WriteInt16(honorCoin); packet.WriteSkip(Asda2BattlegroundHandler.stab35); packet.WriteInt64(expReward); packet.WriteSkip(Asda2BattlegroundHandler.stab46); packet.WriteFixedAsciiString(mvpName, 20, Locale.Start); client.Send(packet, true); } }
public static void SendWarEndedResponse(IRealmClient client, byte winingFaction, int winingFactionPoints, int losserFactionPoints, int honorPoints, short honorCoin, long expReward, string mvpName) { using (var packet = new RealmPacketOut(RealmServerOpCode.WarEnded)) //6732 { packet.WriteInt16(winingFaction); //{winingFaction}default value : 1 Len : 2 packet.WriteSkip(stab9); //value name : stab9 default value : stab9Len : 12 packet.WriteInt32(winingFactionPoints); //{winingFactionPoints}default value : 911 Len : 4 packet.WriteInt32(losserFactionPoints); //{losserFactionPoints}default value : 120 Len : 4 packet.WriteInt32(honorPoints); //{HonorPoints}default value : 353 Len : 4 packet.WriteInt16(honorCoin); //{honorCoin}default value : 17 Len : 2 packet.WriteSkip(stab35); //value name : stab35 default value : stab35Len : 3 packet.WriteInt64(expReward); //{expReward}default value : 10000 Len : 8 packet.WriteSkip(stab46); //value name : stab46 default value : stab46Len : 16 packet.WriteFixedAsciiString(mvpName, 20); //{mvpName}default value : Len : 20 client.Send(packet, addEnd: true); } }
public static void SendAuthChallengeSuccessReply(IRealmClient client) { client.AuthAccount.OnLogin(client); using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.AuthorizeResponse)) { packet.Write((short)1); packet.WriteInt32(client.AuthAccount.AccountId); packet.WriteByte(1); client.Send(packet, false); } using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.ChanelInfoResponse)) { packet.WriteByte(244); packet.WriteInt16(2049); packet.WriteInt16(100); packet.WriteInt16(-1); packet.WriteInt16(-1); packet.WriteInt16(-1); packet.WriteInt16(-1); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt16(-1); client.Send(packet, false); } using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.ChanelInfoResponse)) { packet.WriteByte(244); packet.WriteInt16(2049); packet.WriteInt16(100); packet.WriteInt16(-1); packet.WriteInt16(-1); packet.WriteInt16(-1); packet.WriteInt16(-1); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt64(-1L); packet.WriteInt16(-1); client.Send(packet, false); } }
public static void SendAuthChallengeSuccessReply(IRealmClient client) { client.AuthAccount.OnLogin(client); using (var packet = new RealmPacketOut(RealmServerOpCode.AuthorizeResponse)) { packet.Write((Int16)AccountStatus.Success); //status packet.WriteInt32(client.AuthAccount.AccountId); //unknown packet.WriteByte(1); //avalible client.Send(packet, addEnd: false); } using (var packet = new RealmPacketOut(RealmServerOpCode.ChanelInfoResponse)) //1013 { packet.WriteByte(0xF4); // unknown packet.WriteInt16(2049); //unknown packet.WriteInt16(100); //chanel1 packet.WriteInt16(-1); //chanel2 packet.WriteInt16(-1); //chanel3 packet.WriteInt16(-1); //chanel4 packet.WriteInt16(-1); //chanel5 packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt16(-1); //unknown client.Send(packet, addEnd: false); } using (var packet = new RealmPacketOut(RealmServerOpCode.ChanelInfoResponse)) //1013 { packet.WriteByte(0xF4); // unknown packet.WriteInt16(2049); //unknown packet.WriteInt16(100); //chanel1 packet.WriteInt16(-1); //chanel2 packet.WriteInt16(-1); //chanel3 packet.WriteInt16(-1); //chanel4 packet.WriteInt16(-1); //chanel5 packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt64(-1); //unknown packet.WriteInt16(-1); //unknown client.Send(packet, addEnd: false); } }
public static void SendConfimTradeFromOponentResponse(IRealmClient client, Asda2ItemTradeRef[] items) { using (var packet = new RealmPacketOut(RealmServerOpCode.ConfimTradeFromOponent)) //5292 { packet.WriteInt32(1); //{itemsCount}default value : 1 Len : 4 packet.WriteByte(1); //value name : unk1 default value : 1Len : 1 packet.WriteByte(1); //value name : unk1 default value : 1Len : 1 for (int i = 0; i < 5; i += 1) { var item = items[i]; packet.WriteInt32(item == null ? 0 : item.Item.ItemId); //{itemId%}default value : 0 Len : 4 packet.WriteByte(item == null ? 0 : item.Item.Durability); //{durability%}default value : 0 Len : 1 packet.WriteInt16(item == null ? 0 : item.Item.Weight); //{weight%}default value : 0 Len : 2 packet.WriteInt32(item == null ? 0 : item.Amount); //{quantity}default value : 0 Len : 4 packet.WriteByte(item == null ? 0 : item.Item.Enchant); //{enchant%}default value : 0 Len : 1 packet.WriteInt64(0); //value name : unk8 default value : 0Len : 8 packet.WriteInt16(0); //value name : unk2 default value : 0Len : 2 packet.WriteInt16(item == null ? -1 : (short)item.Item.Parametr1Type); //{parametr1Type%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : item.Item.Parametr1Value); //{paramtetr1Value%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : (short)item.Item.Parametr2Type); //{parametr1Type%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : item.Item.Parametr2Value); //{paramtetr1Value%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : (short)item.Item.Parametr3Type); //{parametr1Type%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : item.Item.Parametr3Value); //{paramtetr1Value%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : (short)item.Item.Parametr4Type); //{parametr1Type%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : item.Item.Parametr4Value); //{paramtetr1Value%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : (short)item.Item.Parametr5Type); //{parametr1Type%}default value : -1 Len : 2 packet.WriteInt16(item == null ? -1 : item.Item.Parametr5Value); //{paramtetr1Value%}default value : -1 Len : 2 packet.WriteByte(0); //value name : unk1 default value : 0Len : 1 packet.WriteInt16(item == null ? 0 : item.Item.Soul1Id); //{soul1Id%}default value : -1 Len : 2 packet.WriteInt16(item == null ? 0 : item.Item.Soul2Id); //{soul1Id%}default value : -1 Len : 2 packet.WriteInt16(item == null ? 0 : item.Item.Soul3Id); //{soul1Id%}default value : -1 Len : 2 packet.WriteInt16(item == null ? 0 : item.Item.Soul4Id); //{soul1Id%}default value : -1 Len : 2 } client.Send(packet, addEnd: false); } }
public static void SendCharacterNamesResponse(IRealmClient client) { SendCharacterInfoLSResponse(client); using (var packet = new RealmPacketOut(RealmServerOpCode.CharacterNames))//1006 { byte hair1 = 0; byte hair2 = 0; byte hair3 = 0; byte color1 = 0; byte color2 = 0; byte color3 = 0; byte zodiac1 = 0; byte zodiac2 = 0; byte zodiac3 = 0; byte face1 = 0; byte face2 = 0; byte face3 = 0; packet.WriteInt32(0);//unknown foreach (var character in client.AuthAccount.Characters) { if (character.CharNum == 10) { hair1 = character.HairStyle; color1 = character.HairColor; face1 = character.Face; zodiac1 = character.Zodiac; } if (character.CharNum == 11) { hair2 = character.HairStyle; color2 = character.HairColor; face2 = character.Face; zodiac2 = character.Zodiac; } if (character.CharNum == 12) { hair3 = character.HairStyle; color3 = character.HairColor; face3 = character.Face; zodiac3 = character.Zodiac; } packet.WriteByte(character.CharNum); //default value : 0 packet.WriteAsdaString(character.Name, 21); //default value : "",21 packet.WriteByte((byte)character.Gender); //default value : 1 packet.WriteByte(character.ProfessionLevel); //value name : _ packet.WriteByte((byte)character.Class); //value name : _ packet.WriteByte(character.Level); //default value : 0 packet.WriteInt64(0); //value name : _ packet.WriteInt32(character.Health); //default value : 0 packet.WriteInt16(character.Power); //default value : 0 packet.WriteInt32(character.Health); //default value : 265 packet.WriteInt16(character.Power); //default value : 100 packet.WriteInt16(character.BaseStrength); //default value : 1 packet.WriteInt16(character.BaseAgility); //default value : 2 packet.WriteInt16(character.BaseStamina); //default value : 3 packet.WriteInt16(character.BaseSpirit); //default value : 4 packet.WriteInt16(character.BaseIntellect); //default value : 5 packet.WriteInt16(10); //default value : 6 packet.WriteByte(0); //value name : _ } for (int i = 0; i < 3 - client.AuthAccount.Characters.Count; i++) { packet.WriteByte(0); //default value : 0 packet.WriteAsdaString("", 21); //default value : "",21 packet.WriteByte(0); //default value : 1 packet.WriteByte(0); //value name : _ packet.WriteByte(0); //value name : _ packet.WriteByte(0); //default value : 0 packet.WriteInt64(0); //value name : _ packet.WriteInt32(0); //default value : 0 packet.WriteInt16(0); //default value : 0 packet.WriteInt32(0); //default value : 265 packet.WriteInt16(0); //default value : 100 packet.WriteInt16(0); //default value : 1 packet.WriteInt16(0); //default value : 2 packet.WriteInt16(0); //default value : 3 packet.WriteInt16(0); //default value : 4 packet.WriteInt16(0); //default value : 5 packet.WriteInt16(0); //default value : 6 packet.WriteByte(0); //value name : _ } packet.WriteByte(hair1); //default value : 1 packet.WriteByte(color1); //default value : 1 packet.WriteByte(face1); //default value : 1 packet.WriteByte(hair2); //default value : 1 packet.WriteByte(color2); //default value : 1 packet.WriteByte(face2); //default value : 1 packet.WriteByte(hair3); //default value : 1 packet.WriteByte(color3); //default value : 1 packet.WriteByte(face3); //default value : 1 packet.WriteByte(zodiac1); //default value : 1 packet.WriteByte(zodiac2); //default value : 1 packet.WriteByte(zodiac3); //default value : 1 for (int i = 0; i < 16; i++) { packet.WriteByte(1); } packet.WriteInt32(63); client.Send(packet, addEnd: false); } SendShowCharactersViewResponse(client); }
public static void SendEnterGameResposeResponse(IRealmClient client) { if (client.Account == null) { return; } using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.EnterGameRespose)) { RealmAccount account = client.Account; Character activeCharacter = account.ActiveCharacter; if (activeCharacter == null) { return; } packet.WriteInt32(account.AccountId); packet.WriteFixedAsciiString(activeCharacter.Name, 20, Locale.Start); packet.WriteInt16(activeCharacter.Record.CharNum); packet.WriteByte(activeCharacter.Record.Zodiac); packet.WriteByte((byte)activeCharacter.Gender); packet.WriteByte(activeCharacter.ProfessionLevel); packet.WriteByte((byte)activeCharacter.Archetype.ClassId); packet.WriteByte(activeCharacter.Level); packet.WriteUInt32(activeCharacter.Experience); packet.WriteInt32(0); packet.WriteInt16(activeCharacter.Spells.AvalibleSkillPoints); packet.WriteInt16(0); packet.WriteByte(0); packet.WriteInt16(15000); packet.WriteInt16(1000); packet.WriteInt64(0L); packet.WriteByte(0); packet.WriteByte(3); packet.WriteInt16((client.ActiveCharacter.Record.PremiumWarehouseBagsCount + 1) * 30); packet.WriteInt16( client.ActiveCharacter.Asda2Inventory.WarehouseItems.Count( i => i != null)); packet.WriteInt16((client.ActiveCharacter.Record.PremiumAvatarWarehouseBagsCount + 1) * 30); packet.WriteInt16( client.ActiveCharacter.Asda2Inventory.AvatarWarehouseItems .Count(i => i != null)); packet.WriteByte(0); packet.WriteByte(1); packet.WriteInt16(-1); packet.WriteInt16(0); packet.WriteByte(activeCharacter.Record.Zodiac); packet.WriteByte(activeCharacter.HairStyle); packet.WriteByte(activeCharacter.HairColor); packet.WriteByte(activeCharacter.Facial); packet.WriteInt32(activeCharacter.Health); packet.WriteInt16(activeCharacter.Power); packet.WriteInt32(activeCharacter.MaxHealth); packet.WriteInt16(activeCharacter.MaxPower); packet.WriteInt16((short)activeCharacter.MinDamage); packet.WriteInt16((short)activeCharacter.MaxDamage); packet.WriteInt16((short)activeCharacter.RangedAttackPower); packet.WriteInt16((short)activeCharacter.RangedAttackPower); packet.WriteInt16(activeCharacter.ArcaneResist); packet.WriteInt16(activeCharacter.Defense); packet.WriteInt16(activeCharacter.Defense); packet.WriteInt32(activeCharacter.BlockValue); packet.WriteInt32(activeCharacter.BlockValue); packet.WriteInt16(15); packet.WriteInt16(7); packet.WriteInt16(4); packet.WriteSkip(unk51); packet.WriteSkip(activeCharacter.SettingsFlags); packet.WriteInt32(activeCharacter.AvatarMask); for (int index = 11; index < 20; ++index) { Asda2Item asda2Item = client.ActiveCharacter.Asda2Inventory.Equipment[index]; Asda2InventoryHandler.WriteItemInfoToPacket(packet, asda2Item, false); } client.Send(packet, false); } }
public static void SendCharacterNamesResponse(IRealmClient client) { AuthenticationHandler.SendCharacterInfoLSResponse(client); using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.CharacterNames)) { byte val1 = 0; byte val2 = 0; byte val3 = 0; byte val4 = 0; byte val5 = 0; byte val6 = 0; byte val7 = 0; byte val8 = 0; byte val9 = 0; byte val10 = 0; byte val11 = 0; byte val12 = 0; packet.WriteInt32(0); foreach (CharacterRecord character in client.AuthAccount.Characters) { if (character.CharNum == (byte)10) { val1 = character.HairStyle; val4 = character.HairColor; val10 = character.Face; val7 = character.Zodiac; } if (character.CharNum == (byte)11) { val2 = character.HairStyle; val5 = character.HairColor; val11 = character.Face; val8 = character.Zodiac; } if (character.CharNum == (byte)12) { val3 = character.HairStyle; val6 = character.HairColor; val12 = character.Face; val9 = character.Zodiac; } packet.WriteByte(character.CharNum); packet.WriteAsdaString(character.Name, 21, Locale.Start); packet.WriteByte((byte)character.Gender); packet.WriteByte(character.ProfessionLevel); packet.WriteByte((byte)character.Class); packet.WriteByte(character.Level); packet.WriteInt64(0L); packet.WriteInt32(character.Health); packet.WriteInt16(character.Power); packet.WriteInt32(character.Health); packet.WriteInt16(character.Power); packet.WriteInt16(character.BaseStrength); packet.WriteInt16(character.BaseAgility); packet.WriteInt16(character.BaseStamina); packet.WriteInt16(character.BaseSpirit); packet.WriteInt16(character.BaseIntellect); packet.WriteInt16(10); packet.WriteByte(0); } for (int index = 0; index < 3 - client.AuthAccount.Characters.Count; ++index) { packet.WriteByte(0); packet.WriteAsdaString("", 21, Locale.Start); packet.WriteByte(0); packet.WriteByte(0); packet.WriteByte(0); packet.WriteByte(0); packet.WriteInt64(0L); packet.WriteInt32(0); packet.WriteInt16(0); packet.WriteInt32(0); packet.WriteInt16(0); packet.WriteInt16(0); packet.WriteInt16(0); packet.WriteInt16(0); packet.WriteInt16(0); packet.WriteInt16(0); packet.WriteInt16(0); packet.WriteByte(0); } packet.WriteByte(val1); packet.WriteByte(val4); packet.WriteByte(val10); packet.WriteByte(val2); packet.WriteByte(val5); packet.WriteByte(val11); packet.WriteByte(val3); packet.WriteByte(val6); packet.WriteByte(val12); packet.WriteByte(val7); packet.WriteByte(val8); packet.WriteByte(val9); for (int index = 0; index < 16; ++index) { packet.WriteByte(1); } packet.WriteInt32(63); client.Send(packet, false); } AuthenticationHandler.SendShowCharactersViewResponse(client); }
public static void SendEnterGameResposeResponse(IRealmClient client) { if (client.Account == null) { return; } using (var packet = new RealmPacketOut(RealmServerOpCode.EnterGameRespose))//1017 { var acc = client.Account; var ch = acc.ActiveCharacter; if (ch == null) { return; } packet.WriteInt32(acc.AccountId); //{accId}default value : 6256236 packet.WriteFixedAsciiString(ch.Name, 20); //{name}default value : packet.WriteInt16(ch.Record.CharNum); //{charNum}default value : 11 packet.WriteByte(ch.Record.Zodiac); //{zodiac}default value : 0 packet.WriteByte((byte)ch.Gender); //{gender}default value : 1 packet.WriteByte(ch.ProfessionLevel); //value name : unk9 default value : 0 packet.WriteByte((byte)ch.Archetype.ClassId); //value name : unk10 default value : 0 packet.WriteByte(ch.Level); //{level}default value : 1 packet.WriteUInt32(ch.Experience); //{expCount}default value : 0 packet.WriteInt32(0); //value name : unk13 default value : 0 packet.WriteInt16(ch.Spells.AvalibleSkillPoints); //value name : unk14 default value : 0 packet.WriteInt16(0); //value name : unk15 default value : 0 packet.WriteByte(0); //value name : unk16 default value : 0 packet.WriteInt16(15000); //{weightMax}default value : 15000 packet.WriteInt16(1000); //{weightMin}default value : 2011 packet.WriteInt64(0); //value name : unk19 default value : 0Len : 8 packet.WriteByte(0); //value name : unk20 default value : 0Len : 1 packet.WriteByte(3); //value name : unk21 default value : 3Len : 1 packet.WriteInt16((client.ActiveCharacter.Record.PremiumWarehouseBagsCount + 1) * 30); //value name : unk22 default value : 30Len : 1 packet.WriteInt16(client.ActiveCharacter.Asda2Inventory.WarehouseItems.Count(i => i != null)); //value name : wh zanyato default value : 4Len : 2 packet.WriteInt16((client.ActiveCharacter.Record.PremiumAvatarWarehouseBagsCount + 1) * 30); //value name : unk26 default value : 30Len : 1 packet.WriteInt16(client.ActiveCharacter.Asda2Inventory.AvatarWarehouseItems.Count(i => i != null)); //value name : wh zanyato default value : 4Len : 2 packet.WriteByte(0); //value name : unk240 default value : 1Len : 1 packet.WriteByte(1); //value name : unk240 default value : 1Len : 1 packet.WriteInt16(-1); //value name : unk250 default value : -1Len : 2 packet.WriteInt16(0); //value name : unk260 default value : 0Len : 2 packet.WriteByte(ch.Record.Zodiac); //{zodiac0}default value : 11 packet.WriteByte(ch.HairStyle); //{hairStyle}default value : 4 packet.WriteByte(ch.HairColor); //{hairColor}default value : 5 packet.WriteByte(ch.Facial); //{face0}default value : 27 packet.WriteInt32(ch.Health); //{maxHp}default value : 100 packet.WriteInt16(ch.Power); //{maxMp}default value : 100 packet.WriteInt32(ch.MaxHealth); //{curHp}default value : 100 packet.WriteInt16(ch.MaxPower); //{curMp}default value : 100 packet.WriteInt16((short)ch.MinDamage); //{minAtk}default value : 4 packet.WriteInt16((short)ch.MaxDamage); //{maxAtk}default value : 5 packet.WriteInt16((short)ch.RangedAttackPower); //{minMAtk}default value : 1 packet.WriteInt16((short)ch.RangedAttackPower); //{maxMAtk}default value : 1 packet.WriteInt16(ch.ArcaneResist); //{mDef}default value : 0 packet.WriteInt16(ch.Defense); //{minDef}default value : 17 packet.WriteInt16(ch.Defense); //{maxDef}default value : 28 packet.WriteInt32(ch.BlockValue); //{minBlock}default value : 0 packet.WriteInt32(ch.BlockValue); //{maxBlock}default value : 0 packet.WriteInt16(15); //value name : unk44 default value : 15Len : 2 packet.WriteInt16(7); //value name : unk45 default value : 7Len : 2 packet.WriteInt16(4); //value name : unk46 default value : 4Len : 2 packet.WriteSkip(unk51); //value name : unk51 default value : unk51Len : 28 packet.WriteSkip(ch.SettingsFlags); //{settingsBytes}default value : settingsBytes Len : 16 packet.WriteInt32(ch.AvatarMask); //{avatarMask}default value : 47 Len : 4 for (int i = 11; i < 20; i += 1) { var item = client.ActiveCharacter.Asda2Inventory.Equipment[i]; Asda2InventoryHandler.WriteItemInfoToPacket(packet, item, false); /*packet.WriteInt32(item == null ? 0 : item.ItemId);//{itemId}default value : 0 * packet.WriteByte(item == null ? 0 : 3);//{invNum}default value : 0 * packet.WriteInt32(item == null ? -1 : i);//{cellNum}default value : -1 * packet.WriteInt32(0);//value name : unk51 default value : 0 * packet.WriteInt16(0);//{weight}default value : 0 * packet.WriteSkip(Stab180);//value name : stab180 default value : stab180 * packet.WriteInt16(item == null ? -1 : 0);//{eqiped}default value : -1 * packet.WriteSkip(Stab198);//value name : stab198 default value : stab198 * packet.WriteInt16(item == null ? -1 : 0);//{equiped}default value : -1 * packet.WriteSkip(Stab202);//value name : stab202 default value : stab202 * packet.WriteByte(item == null ? 0 : 2);//{eq}default value : 0 if not, 2 if yes * packet.WriteInt32(0);//value name : unk59 default value : 0 * packet.WriteInt16(0);//value name : _ default value : 0*/ } client.Send(packet, addEnd: false); } }