Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Опкоды (http://mangos.ytdb.ru/forumdisplay.php?f=36)
-   -   SMSG_QUESTGIVER_QUEST_COMPLETE из 4.0.6а (13623) (http://mangos.ytdb.ru/showthread.php?t=3834)

Lordronn 04.03.2011 20:57

SMSG_QUESTGIVER_QUEST_COMPLETE из 4.0.6а (13623)
 
Структура из кода не подходит. В иде нашел только это

http://paste2.org/p/1281931
и sub_57B200 http://paste2.org/p/1281929

На структуру мало похоже.

Dvlpr 04.03.2011 22:22

Код:


char __thiscall sub_1094600(void *this, int a2)
{
  void *v3; // esi@1
  unsigned __int8 v4; // al@1
  unsigned __int8 v5; // [sp+Bh] [bp-1h]@1

  v3 = this;
  v5 = 0;
  CDataStore__GetInt8(&v5);
  v4 = 2 * v5;
  *((_BYTE *)v3 + 16) = (unsigned int)v5 >> 7 != 0;
  *((_BYTE *)v3 + 32) = v4 >> 7;
  CDataStore__GetInt32((char *)v3 + 40);
  CDataStore__GetInt32((char *)v3 + 28);
  CDataStore__GetInt32((char *)v3 + 44);
  CDataStore__GetInt32((char *)v3 + 36);
  CDataStore__GetInt32((char *)v3 + 24);
  CDataStore__GetInt32((char *)v3 + 20);
  return 1;
}


Lordronn 04.03.2011 22:32

Значит у меня не верный опкод
Код:

        SMSG_QUESTGIVER_QUEST_COMPLETE = 0xF5C0,

Lordronn 05.03.2011 13:03

После ковыряний сниффов получилась такая структура. Поля некоторые сдвинулись как видно. Не уверен, что поле с АПом и хонором на своем месте. Возможно их надо поменять местами

Код:

                case Opcode.SMSG_QUESTGIVER_QUEST_COMPLETE:
                    {
                        AppendFormatLine("Unk flag: {0}", reader.ReadByte().ToString("X4"));
                        AppendFormatLine("Reward AP: {0}", reader.ReadInt32());
                        AppendFormatLine("QuestID: {0}", reader.ReadInt32());
                        AppendFormatLine("Reward Money: {0}", reader.ReadInt32());
                        AppendFormatLine("Reward Talents: {0}", reader.ReadInt32());
                        AppendFormatLine("Reward Honor: {0}", reader.ReadInt32());
                        AppendFormatLine("Reward XP: {0}", reader.ReadInt32());
                        break;
                    }


Konctantin 05.03.2011 15:29

Код:

AppendFormatLine("Unk flag: {0}", reader.ReadByte().ToString("X4"));
можно просто так:
Код:

AppendFormatLine("Unk flag: {0:X4}", reader.ReadByte());

Lordronn 05.03.2011 15:30

Знаю. Привычка

Lordronn 05.03.2011 17:04

Сниффанул квест http://ru.wowhead.com/quest=12170
АП и Хонор нулевые.
Как я понял теперь Ап, хоноро, баджи гуляют в SMSG_UPDATE_CURRENCY. Интересно, что теперь в этих полях

HuntsMan 05.03.2011 18:11

Цитата:

Интересно, что теперь в этих полях
Скорее всего просто пустые.

Lordronn 06.03.2011 14:42

Еврика!!!
Второе поле в пакете это RewSkillLineId, а последнее RewSkillPoints


Текущее время: 17:01. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS