Цитата:
Сообщение от Deamon
(Сообщение 23476)
Какие-такие 64 значение?
...
|
0x3A + 0x06 = 0x40 = 64 значения в поле data в таблице.
Для наглядности, вот как выглядит массив данных как в памяти, так и в поле data в таблице — я «развернул» массивы для версии 4.1.0:
Код:
OBJECT_FIELD_GUID = 0x0000, // Size: 2, Type: Long, Flags: Public
OBJECT_FIELD_GUID_HIPART = 0x0001,
OBJECT_FIELD_TYPE = 0x0002, // Size: 1, Type: TwoShort, Flags: Public
OBJECT_FIELD_ENTRY = 0x0003, // Size: 1, Type: Int, Flags: Public
OBJECT_FIELD_SCALE_X = 0x0004, // Size: 1, Type: Float, Flags: Public
OBJECT_FIELD_DATA = 0x0005, // Size: 2, Type: Long, Flags: Public
OBJECT_FIELD_DATA_HIPART = 0x0006,
OBJECT_FIELD_PADDING = 0x0007, // Size: 1, Type: Int, Flags: None
//ObjectUpdateFields.End = 0x0008,
ITEM_FIELD_OWNER = ObjectUpdateFields.End + 0x0000, // Size: 2, Type: Long, Flags: Public
ITEM_FIELD_OWNER_HIPART = ObjectUpdateFields.End + 0x0001,
ITEM_FIELD_CONTAINED = ObjectUpdateFields.End + 0x0002, // Size: 2, Type: Long, Flags: Public
ITEM_FIELD_CONTAINED_HIPART = ObjectUpdateFields.End + 0x0003,
ITEM_FIELD_CREATOR = ObjectUpdateFields.End + 0x0004, // Size: 2, Type: Long, Flags: Public
ITEM_FIELD_CREATOR_HIPART = ObjectUpdateFields.End + 0x0005,
ITEM_FIELD_GIFTCREATOR = ObjectUpdateFields.End + 0x0006, // Size: 2, Type: Long, Flags: Public
ITEM_FIELD_GIFTCREATOR_HIPART = ObjectUpdateFields.End + 0x0007,
ITEM_FIELD_STACK_COUNT = ObjectUpdateFields.End + 0x0008, // Size: 1, Type: Int, Flags: OwnerOnly, Unk1
ITEM_FIELD_DURATION = ObjectUpdateFields.End + 0x0009, // Size: 1, Type: Int, Flags: OwnerOnly, Unk1
ITEM_FIELD_SPELL_CHARGES = ObjectUpdateFields.End + 0x000A, // Size: 5, Type: Int, Flags: OwnerOnly, Unk1
ITEM_FIELD_SPELL_CHARGES_2 = ObjectUpdateFields.End + 0x000B,
ITEM_FIELD_SPELL_CHARGES_3 = ObjectUpdateFields.End + 0x000C,
ITEM_FIELD_SPELL_CHARGES_4 = ObjectUpdateFields.End + 0x000D,
ITEM_FIELD_SPELL_CHARGES_5 = ObjectUpdateFields.End + 0x000E,
ITEM_FIELD_FLAGS = ObjectUpdateFields.End + 0x000F, // Size: 1, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_1_1 = ObjectUpdateFields.End + 0x0010, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_1_2 = ObjectUpdateFields.End + 0x0011,
ITEM_FIELD_ENCHANTMENT_1_3 = ObjectUpdateFields.End + 0x0012, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_2_1 = ObjectUpdateFields.End + 0x0013, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_2_2 = ObjectUpdateFields.End + 0x0014,
ITEM_FIELD_ENCHANTMENT_2_3 = ObjectUpdateFields.End + 0x0015, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_3_1 = ObjectUpdateFields.End + 0x0016, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_3_2 = ObjectUpdateFields.End + 0x0017,
ITEM_FIELD_ENCHANTMENT_3_3 = ObjectUpdateFields.End + 0x0018, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_4_1 = ObjectUpdateFields.End + 0x0019, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_4_2 = ObjectUpdateFields.End + 0x001A,
ITEM_FIELD_ENCHANTMENT_4_3 = ObjectUpdateFields.End + 0x001B, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_5_1 = ObjectUpdateFields.End + 0x001C, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_5_2 = ObjectUpdateFields.End + 0x001D,
ITEM_FIELD_ENCHANTMENT_5_3 = ObjectUpdateFields.End + 0x001E, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_6_1 = ObjectUpdateFields.End + 0x001F, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_6_2 = ObjectUpdateFields.End + 0x0020,
ITEM_FIELD_ENCHANTMENT_6_3 = ObjectUpdateFields.End + 0x0021, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_7_1 = ObjectUpdateFields.End + 0x0022, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_7_2 = ObjectUpdateFields.End + 0x0023,
ITEM_FIELD_ENCHANTMENT_7_3 = ObjectUpdateFields.End + 0x0024, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_8_1 = ObjectUpdateFields.End + 0x0025, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_8_2 = ObjectUpdateFields.End + 0x0026,
ITEM_FIELD_ENCHANTMENT_8_3 = ObjectUpdateFields.End + 0x0027, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_9_1 = ObjectUpdateFields.End + 0x0028, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_9_2 = ObjectUpdateFields.End + 0x0029,
ITEM_FIELD_ENCHANTMENT_9_3 = ObjectUpdateFields.End + 0x002A, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_10_1 = ObjectUpdateFields.End + 0x002B, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_10_2 = ObjectUpdateFields.End + 0x002C,
ITEM_FIELD_ENCHANTMENT_10_3 = ObjectUpdateFields.End + 0x002D, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_11_1 = ObjectUpdateFields.End + 0x002E, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_11_2 = ObjectUpdateFields.End + 0x002F,
ITEM_FIELD_ENCHANTMENT_11_3 = ObjectUpdateFields.End + 0x0030, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_12_1 = ObjectUpdateFields.End + 0x0031, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_12_2 = ObjectUpdateFields.End + 0x0032,
ITEM_FIELD_ENCHANTMENT_12_3 = ObjectUpdateFields.End + 0x0033, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_13_1 = ObjectUpdateFields.End + 0x0034, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_13_2 = ObjectUpdateFields.End + 0x0035,
ITEM_FIELD_ENCHANTMENT_13_3 = ObjectUpdateFields.End + 0x0036, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_ENCHANTMENT_14_1 = ObjectUpdateFields.End + 0x0037, // Size: 2, Type: Int, Flags: Public
ITEM_FIELD_ENCHANTMENT_14_2 = ObjectUpdateFields.End + 0x0038,
ITEM_FIELD_ENCHANTMENT_14_3 = ObjectUpdateFields.End + 0x0039, // Size: 1, Type: TwoShort, Flags: Public
ITEM_FIELD_PROPERTY_SEED = ObjectUpdateFields.End + 0x003A, // Size: 1, Type: Int, Flags: Public
ITEM_FIELD_RANDOM_PROPERTIES_ID = ObjectUpdateFields.End + 0x003B, // Size: 1, Type: Int, Flags: Public
ITEM_FIELD_DURABILITY = ObjectUpdateFields.End + 0x003C, // Size: 1, Type: Int, Flags: OwnerOnly, Unk1
ITEM_FIELD_MAXDURABILITY = ObjectUpdateFields.End + 0x003D, // Size: 1, Type: Int, Flags: OwnerOnly, Unk1
ITEM_FIELD_CREATE_PLAYED_TIME = ObjectUpdateFields.End + 0x003E, // Size: 1, Type: Int, Flags: Public
ITEM_FIELD_PAD = ObjectUpdateFields.End + 0x003F, // Size: 1, Type: Int, Flags: None
|