public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { var inventory = _player.Inventory; writer.WriteC(1); writer.WriteC(1); writer.WriteD(_player.GameSessionId); writer.Skip(12); writer.WriteH(inventory.Items.Count); writer.WriteC(0); for (short i = 0; i < inventory.Items.Count; i++) { var item = inventory.Items[(short) (i + 1)]; writer.WriteC(i); writer.WriteD(item.ItemId); writer.WriteQ(item.Count); writer.Write("FFFFFFFFFFFFFFFF".ToBytes()); writer.WriteD(i == 0 ? 0 : 1); writer.WriteD(0); writer.WriteC(0); writer.Write("0100FF7FFF7F3A38E56FF2862300FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000".ToBytes()); } return stream.ToArray(); } }
public void Write(BinaryWriter writer) { writer.Write(OffsetX); writer.Write(OffsetY); writer.Write(OffsetZ); writer.Write(Material); writer.Write(Level); writer.Skip(2); }
public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Skip(4); writer.WriteD(DateTime.Now.Millisecond); writer.Skip(4); var realms = NetworkService.WorldServers.Values.ToList(); writer.WriteH(realms.Count); for (int i = 0; i < realms.Count; i++) { var realm = realms[i]; writer.WriteH(realm.ChannelId); writer.WriteH(realm.Id); writer.Write(BinaryExt.WriteFixedString($" {realm.ChannelName}", Encoding.Unicode, 62)); writer.Write(BinaryExt.WriteFixedString($" {realm.RealmName}", Encoding.Unicode, 62)); writer.Write("CB4B00".ToBytes()); writer.Write(BinaryExt.WriteFixedString(realm.RealmIp, Encoding.ASCII, 16)); writer.WriteH(realm.RealmPort); writer.WriteC(1); writer.WriteC(1); writer.WriteC(1); writer.WriteC(AuthProcessor.GetCharacterCount(_accInfo.Id)); writer.WriteC(_accInfo.MaxSlotCount); writer.Write("0000FEFFFFFFFFFFFFFFD48D6155000000000000000000000000000000000000".ToBytes()); } return stream.ToArray(); } }
public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.WriteQ(_character.Uid); writer.WriteD(1); writer.WriteH(1); writer.WriteD(_character.GameSessionId); writer.Write("8014BCC7".ToBytes()); //x writer.Write("000072C5".ToBytes()); //y writer.Write("80F99747".ToBytes()); //z writer.Write("046788BE".ToBytes()); //cosinus writer.WriteD(0); writer.Write("80BF763F".ToBytes()); //sinus writer.WriteD(_character.DatabaseCharacterData.ClassType.Ordinal()); writer.Write("0000803F00004743ABE7FFFFFFFFFFFFABE7FFFFFFFFFFFF02946DE4950000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000FFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000000000FE00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFF000000000000000000000000000000000000000000000000000000000000FEFFFF00000000000000000000000000000000000000000000000000000000FFFFFF0000000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FF0000FF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FF00000000000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000FFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000000000000000000000000000000000FE00000000000000000000000000000000000000000000000000000000FFFFFFFFD3090000000000006F09170000000000".ToBytes()); writer.WriteD(1); writer.WriteQ(_character.Uid); writer.WriteD(1); writer.WriteD(1); writer.WriteD(2); writer.WriteD(1); writer.WriteD(0); writer.WriteD(0); writer.WriteD(0); writer.Write("3B34000005FCFFFF2500000000000000000000000005511D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FCFFFF01".ToBytes()); writer.WriteD(_character.DatabaseCharacterData.Level); writer.WriteD(0); writer.Write("030000000000000000000000000000000000000000000000A05100000000000000000000000000000000000000FCFFFF000000000000000000000000020000000000000000000000000000000200000000000000000000000000".ToBytes()); writer.WriteD(1); writer.Write(BinaryExt.WriteFixedString(_character.DatabaseCharacterData.Surname, Encoding.Unicode, 62)); writer.Skip(402); //zeros writer.WriteD(1); writer.Write(BinaryExt.WriteFixedString(_character.DatabaseCharacterData.CharacterName, Encoding.Unicode, 62)); writer.Write(_character.DatabaseCharacterData.AppearancePresets); //TODO - inventory writer.Write("3B340000FFFFFFFFFFFFFFFF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF002E330000FFFFFFFFFFFFFFFF6400FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00F72C0000FFFFFFFFFFFFFFFF2F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00F82C0000FFFFFFFFFFFFFFFF3200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00382A0000FFFFFFFFFFFFFFFF6400FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00F62C0000FFFFFFFFFFFFFFFF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FEFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000060C9F67F0000000000000100FFFF18CE4A490100000000000000000000000019E9070000000040F3B8611800000052C460C8F67F00000000000000000000F018E9070000000000000000F10C000080C928C8FFFFFFFFFEFFFFFFFFFFFFFF38F4B86118000000010000000000000031EA5FC8F67F0000F08617091800000000000000000000001300000000000000000000000000000000000000FFFFFFFF18CE4A49010000000000000000000000B8F4B86118000000FEFFFFFFFFFFFFFF29E85FC8F67F00000100".ToBytes()); writer.WriteH(_character.DatabaseCharacterData.Zodiac.GetHashCode()); writer.Write("FCFFFF37010000000000001301000000000000000000000000000037010000000000000000000000000000000000000000FEFF01".ToBytes()); return stream.ToArray(); } }
public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Write("ABE7FFFFFFFFFFFFABE7FFFFFFFFFFFF".ToBytes());//static field writer.WriteD(_player.GameSessionId); writer.WriteD(_player.DatabaseCharacterData.Level); writer.WriteQ(0); writer.WriteQ(1); //2626 percent todo writer.Skip(9); return stream.ToArray(); } }
public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Write("04A4C200".ToBytes()); writer.Write("D309000000000000".ToBytes()); writer.Write("46B2C16FF2862300".ToBytes()); //writer.WriteQ(_character.CharacterId); writer.Write("B1E57656".ToBytes()); //todo - static server date time writer.Skip(12); writer.Write("1E000000".ToBytes()); writer.Write(BinaryExt.WriteFixedString(_character.CharacterName, Encoding.Unicode, 62)); writer.Write(_character.Level); writer.Write("ABE7FFFFFFFFFFFF".ToBytes()); writer.Write(BinaryExt.WriteFixedString(_character.Surname, Encoding.Unicode, 62)); writer.WriteH(4); //unk writer.WriteH(_character.ClassType.Ordinal()); return stream.ToArray(); } }
public void Write(BinaryWriter writer) { writer.Write(EntityId); writer.Write(PositionX); writer.Write(PositionY); writer.Write(PositionZ); writer.Write(Pitch); writer.Write(Roll); writer.Write(Yaw); writer.Write(Health); writer.Write(Experience); writer.Write(Level); writer.Write((byte)Class); writer.Write(Specialization); writer.Write(unknown1); writer.Write(unknown2); foreach (Item equipment in Equipment) equipment.Write(writer); writer.WriteLongString(Name); writer.Write(Race); writer.Write(Gender); writer.Skip(3); writer.Write(Face); writer.Write(Hair); writer.Write(Utility.ToAbgr(HairColor)); writer.Write(InventoryCount); foreach (Inventory inventory in Inventories) inventory.Write(writer); writer.Write(Coins); writer.Write(PlatinumCoins); writer.Write(CraftingRecipes.Count); foreach (Item recipe in CraftingRecipes) recipe.Write(writer); writer.Write(Worlds.Count); foreach (World world in Worlds) world.Write(writer); writer.Write(LastWorld.Seed); writer.WriteLongString(LastWorld.Name); writer.Write(unknown3); writer.Write(SkillCount); writer.Write(PetMasterSkillLevel); writer.Write(PetRidingSkillLevel); writer.Write(ClimbingSkillLevel); writer.Write(HangGlidingSkillLevel); writer.Write(SwimmingSkillLevel); writer.Write(SailingSkillLevel); writer.Write(TierOneSkillLevel); writer.Write(TierTwoSkillLevel); writer.Write(TierThreeSkillLevel); writer.Write(unknown4); writer.Write(unknown5); }
public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Write(_player.GameSessionId); writer.Write("2873000000000000".ToBytes()); //unk writer.WriteD(1); writer.Write(BinaryExt.WriteFixedString(_accountInfo.FamilyName, Encoding.Unicode, 62)); writer.Skip(402); return stream.ToArray(); } }
public void Write(BinaryWriter writer) { writer.Write(Type); writer.Write(Subtype); writer.Skip(2); writer.Write(Modifier); writer.Skip(2); writer.Write(unknown1); writer.Write(Rarity); writer.Write(Material); writer.Write(Flags); writer.Skip(1); writer.Write(Level); writer.Skip(2); foreach (ItemAttribute attribute in Attributes) attribute.Write(writer); writer.Write(Attributes.Count(attr => attr.Used)); }
public override byte[] WritedData() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Skip(24); writer.Write(BinaryExt.WriteFixedString(_account.FamilyName, Encoding.Unicode, 62)); /*GAG || If charaters not exist */ if (!_characters.Any()) { writer.WriteH(65535); writer.WriteD(0); writer.WriteQ(-1); writer.WriteQ(0); writer.WriteC(0); writer.WriteQ(0); writer.WriteH(0); writer.WriteC(254); writer.WriteD(65535); writer.WriteC(0); writer.WriteC(254); writer.WriteQ(-1); writer.WriteQ(0); writer.WriteQ(0); writer.WriteQ(0); writer.WriteC(0); writer.WriteC(254); writer.WriteC(255); writer.WriteH(65535); writer.WriteQ(-1); writer.Skip(51); return stream.ToArray(); } writer.Write(_staticField); writer.WriteC(_characters.Count); for (int index = 0; index < _characters.Count; index++) { var characterInfo = _characters[index]; var equipment = (EquipmentStorage)characterInfo.EquipmentData; writer.WriteH(characterInfo.ClassType.Ordinal()); writer.WriteQ(characterInfo.CharacterId); writer.WriteC(0); //unk flag writer.Write(BinaryExt.WriteFixedString(characterInfo.CharacterName, Encoding.Unicode, 62)); writer.WriteD(characterInfo.Level); writer.WriteD(0); //unk using (equipment) if (equipment.Items.Count != 0) { byte[] equipmentData = equipment.GetEquipmentData(); writer.Write(equipmentData); writer.Skip(107); } else writer.Write(_inventoryField); writer.Write(characterInfo.AppearancePresets); writer.WriteC((byte)characterInfo.Zodiac); writer.Write(characterInfo.AppearanceOptions); writer.Skip(62); writer.Write("FFFFFFFFFFFFFFFF001E69745600000000717A715600000000805FF2C70000B8C40028DD47FFFFFFFFFFFFFFFF0000040E7456000000000000000000000000000000000000000000000000000000000000D0FFFF43".ToBytes()); } return stream.ToArray(); } }