|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Опкоды Опкоды |
|
Опции темы | Поиск в этой теме | Опции просмотра |
22.02.2011, 17:56 | #1 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
SMSG_COMBAT_LOG_MULTIPLE 13623
Не получается разобрать структуру лог тайпа SPELL_LOG_EXECUTE
Первый эффект считываю, а дальше получаю кашу Код:
AppendFormatLine("Caster: {0}", reader.ReadPackedGuid().FullGuid()); AppendFormatLine("Spell ID: {0}", reader.ReadInt32()); AppendFormatLine("Effect count: {0}", reader.ReadInt32()); for (byte i = 0; i < 3; ++i) { AppendFormatLine("Effect {0}: {1}", i, (SpellEffects)reader.ReadInt32()); } Код:
AppendFormatLine("Caster: {0}", reader.ReadPackedGuid().FullGuid()); AppendFormatLine("Spell ID: {0}", reader.ReadInt32()); int effectCount = reader.ReadInt32(); AppendFormatLine("Effect count: {0}", effectCount); for (byte i = 0; i < effectCount; ++i) { AppendFormatLine("Effect {0}: {1}", i, (SpellEffects)reader.ReadInt32()); } |
04.03.2011, 18:25 | #2 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Разобрал. Вот если надо кому нибудь
Код:
BinaryReader reader = Packet.CreateReader(); AppendFormatLine("Caster: {0}", reader.ReadPackedGuid().FullGuid()); AppendFormatLine("Spell ID: {0}", reader.ReadInt32()); int Count = reader.ReadInt32(); AppendFormatLine("Effect count: {0}", Count); for (int i = 0; i < Count; ++i) { SpellEffects effect = (SpellEffects)reader.ReadInt32(); AppendFormatLine("Spell Effects: {0}", effect); int Count2 = reader.ReadInt32(); for (int c = 0; c < Count2; ++c) { switch (effect) { case SpellEffects.SPELL_EFFECT_POWER_DRAIN: case SpellEffects.SPELL_EFFECT_POWER_BURN: AppendFormatLine("Target: {0}", reader.ReadPackedGuid().FullGuid()); AppendFormatLine("SpellID: {0}", reader.ReadInt32()); AppendFormatLine("Unk2: {0}", reader.ReadInt32()); AppendFormatLine("Unk3: {0}", reader.ReadInt32()); break; case SpellEffects.SPELL_EFFECT_ADD_EXTRA_ATTACKS: case SpellEffects.SPELL_EFFECT_INTERRUPT_CAST: AppendFormatLine("Target: {0}", reader.ReadPackedGuid().FullGuid()); AppendFormatLine("SpellID: {0}", reader.ReadInt32()); break; case SpellEffects.SPELL_EFFECT_DURABILITY_DAMAGE: AppendFormatLine("Target: {0}", reader.ReadPackedGuid().FullGuid()); AppendFormatLine("SpellID: {0}", reader.ReadInt32()); AppendFormatLine("Unk3: {0}", reader.ReadInt32()); break; case SpellEffects.SPELL_EFFECT_OPEN_LOCK: AppendFormatLine("Target: {0}", reader.ReadPackedGuid().FullGuid()); break; case SpellEffects.SPELL_EFFECT_CREATE_ITEM: case SpellEffects.SPELL_EFFECT_CREATE_RANDOM_ITEM: case SpellEffects.SPELL_EFFECT_CREATE_ITEM_2: AppendFormatLine("ItemID: {0}", reader.ReadInt32()); break; case SpellEffects.SPELL_EFFECT_SUMMON: case SpellEffects.SPELL_EFFECT_TRANS_DOOR: case SpellEffects.SPELL_EFFECT_SUMMON_PET: case SpellEffects.SPELL_EFFECT_SUMMON_OBJECT_WILD: case SpellEffects.SPELL_EFFECT_CREATE_HOUSE: case SpellEffects.SPELL_EFFECT_DUEL: case SpellEffects.SPELL_EFFECT_SUMMON_OBJECT_SLOT1: case SpellEffects.SPELL_EFFECT_171: AppendFormatLine("Summoned: {0}", reader.ReadPackedGuid().FullGuid()); break; case SpellEffects.SPELL_EFFECT_FEED_PET: AppendFormatLine("EatID: {0}", reader.ReadInt32()); break; case SpellEffects.SPELL_EFFECT_DISMISS_PET: AppendFormatLine("Pet: {0}", reader.ReadPackedGuid().FullGuid()); break; case SpellEffects.SPELL_EFFECT_RESURRECT: case SpellEffects.SPELL_EFFECT_RESURRECT_NEW: case SpellEffects.SPELL_EFFECT_172: AppendFormatLine("Target: {0}", reader.ReadPackedGuid().FullGuid()); break; } } } |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
IDB WoW 5.2.0 Build 16650 | TOM_RUS | Копаем клиент | 74 | 26.03.2016 03:04 |
6.0.2 Обсуждение [Live 19005] | TOM_RUS | Флудильня | 478 | 11.02.2015 14:02 |
SMSG_COMBAT_LOG_MULTIPLE | Fmut | Опкоды | 2 | 12.09.2010 02:08 |