Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Опкоды, Формулы, Клиент > Опкоды

Важная информация

Опкоды Опкоды

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2011, 16:43   #1
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию SMSG_LOOT_RESPONSE из 4.0.6а

Разобрал структуру этого пакета. Парсит его с оффа нормально, без всяких косяков. Сделал интрепретацию его на сервере, проверяю тем же парсером - никаких проблем. Но в игре при попытке облутать моба ничего не происходит. Я уже все перепробывал. Кто в курсе, в 4.0.6а сменилось ещё что-то кроме него?

Пример с офа:
Код:
Guid:       (High: Unit (0xF130), Entry: 26615, Counter: 3,446,852)
LootType:   1
Money:      0
Count:      2
unk:        0
==============================
 
 Counter:           0
 itemid:            33549
 itemCount:         1
 itemModel:         18092
 randomSuffix:      1063450304
 randomPropertyId:  0
 Slot:              0
 
==============================
 
 Counter:           1
 itemid:            43013
 itemCount:         1
 itemModel:         53859
 randomSuffix:      1331885760
 randomPropertyId:  0
 Slot:              0
На локале:
Код:
Guid:       (High: Unit (0xF130), Entry: 96, Counter: 96,475)
LootType:   1
Money:      0
Count:      3
unk:        0
==============================
 
 Counter:           0
 itemid:            36804
 itemCount:         1
 itemModel:         3429
 randomSuffix:      0
 randomPropertyId:  0
 Slot:              0
 
==============================
 
 Counter:           1
 itemid:            34736
 itemCount:         1
 itemModel:         50873
 randomSuffix:      0
 randomPropertyId:  0
 Slot:              0
 
==============================
 
 Counter:           2
 itemid:            36805
 itemCount:         1
 itemModel:         26546
 randomSuffix:      0
 randomPropertyId:  0
 Slot:              0
Про энтри на локале ничего не говорите, это особая магия
HuntsMan вне форума   Ответить с цитированием
Старый 23.02.2011, 01:10   #2
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Первое что приходит в голуву. Может randomSuffix!=0 должно быть??
alien вне форума   Ответить с цитированием
Старый 23.02.2011, 07:18   #3
Energy
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 54
Сказал(а) спасибо: 11
Поблагодарили 13 раз(а) в 11 сообщениях
Energy На верном пути
По умолчанию

randomSuffix это ид шаблона, по которому выдаются характеристики вещам, на которых написано <random enchantment>, кажется к делу это не имеет отношения.
Energy вне форума   Ответить с цитированием
Старый 23.02.2011, 10:23   #4
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Ну да. Первое что пришло в голову, что размер не правильный при формировании пакета выставил. Но потом это отпало, т.к. ядро динамически буфер для пакета расширяет, и данные отправляет корректно.

Самое странное то, что клиент этот пакет переваривать не захотел. Т.к. использовался инжекторный снифер для проверки, и он не хватает те пакеты, которые клиент не захотел кушать. И само собой этого пакета в снифе не было. Но в world.log он был. Не пойму что может быть не так
HuntsMan вне форума   Ответить с цитированием
Старый 23.02.2011, 13:57   #5
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Не на то соединение послали (а-ля клиент не пропатчили)
LordJZ вне форума   Ответить с цитированием
Старый 23.02.2011, 14:30   #6
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Клиент пропатчен. Остальное то все нормально работает.
HuntsMan вне форума   Ответить с цитированием
Старый 23.02.2011, 16:08   #7
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

а не может ли это быть связано с вашими "магическими" ентри?
у близов время от времени на ентри чтото бывает завязано. потом они переделывают это. но такое бывает. еще у них бывает, что старшая часть гуида должна чему нибудь соответствовать. были времена, когда они ентри юнита клали в старшую часть гуида и без этого ничего толком не работало.
в общем попробуйте для начала воспроизвести в точности с оригиналом (снифом), потом будем думать что с этим делать.
RomanRom2 вне форума   Ответить с цитированием
Старый 23.02.2011, 16:34   #8
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
а не может ли это быть связано с вашими "магическими" ентри?
у близов время от времени на ентри чтото бывает завязано. потом они переделывают это. но такое бывает. еще у них бывает, что старшая часть гуида должна чему нибудь соответствовать. были времена, когда они ентри юнита клали в старшую часть гуида и без этого ничего толком не работало.
в общем попробуйте для начала воспроизвести в точности с оригиналом (снифом), потом будем думать что с этим делать.
Скорее всего не в этом дело. Просто энтри парсер получает основываясь на инфе о гуиде, которую он получает из других пакетов, а в парсер я затолкал только 1 этот пакет, поэтому неправильный ентри.
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 06:22   #9
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Да и гуид с офа нормально читает. А он там не пакованный.
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 20:01   #10
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Похоже alien прав. Изучил этот RandomSuffix, оказалось что RandomSuffix не может быть равен нулю, или RandomProperty. У меня в базе 45к предметов у которых и то и то равно 0. Скорее всего в этом дело. Решил отпарить с офа, и тут возникла такая проблема:
Код:
UPDATE `item_template` SET `RandomProperty` = 0, `RandomSuffix` = -2048030848 WHERE `entry` = 3770;
UPDATE `item_template` SET `RandomProperty` = 0, `RandomSuffix` = 1590782464 WHERE `entry` = 3770;
Т.е. для каждого лута, пусть даже и одного итема получается разный RandomSuffix. Отсюда появился вопрос: как он может формироватся на офе? Посмотрел у нас в коде, там он просто берется из базы, без всяких доработок.
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 20:05   #11
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от HuntsMan Посмотреть сообщение
Посмотрел у нас в коде, там он просто берется из базы, без всяких доработок.
Разве это не генерируется случайным образом во время лута?
TOM_RUS вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
HuntsMan (24.02.2011)
Старый 24.02.2011, 20:27   #12
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Точно Тогда попробую отпарсить пакет SMSG_ITEM_QUERY_SINGLE_RESPONSE

add: А вот это уже более интерестно
Код:
UPDATE `item_template` SET `RandomProperty` = 3050354896, `RandomSuffix` = 46 WHERE `entry` = 59230;
UPDATE `item_template` SET `RandomProperty` = 2362555344, `RandomSuffix` = 3201349584 WHERE `entry` = 58149;
UPDATE `item_template` SET `RandomProperty` = 3151017168, `RandomSuffix` = 3491794897 WHERE `entry` = 43236;
UPDATE `item_template` SET `RandomProperty` = 2362555344, `RandomSuffix` = 3201349584 WHERE `entry` = 47499;
UPDATE `item_template` SET `RandomProperty` = 3501576320, `RandomSuffix` = 3501510838 WHERE `entry` = 59029;
Было добыто из SMSG_ITEM_QUERY_SINGLE_RESPONSE. Похоже это то, что нужно

Последний раз редактировалось HuntsMan; 24.02.2011 в 20:49.
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 21:31   #13
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

чото вы напутали с этими пропертями и суффиксами. вообще говоря проперти это некое ID, которое вроде даже где то в дбц было в виде вариаций. и грубо говоря это ID от нуля до некоего конечного числа, типа 100 или может 1000, не помню.

а те громадные числа я перевел в hex и оно мне TimeStamp больше напоминает. да и откуда вы взяли рандом проперти поле в SMSG_ITEM_QUERY_SINGLE_RESPONSE, его там от родясь никогда не было. это апдейт поле итема:
ITEM_FIELD_RANDOM_PROPERTIES_ID = 59; // 001 - [1] Integer - [001] PUBLIC

вот еще есть поле ITEM_FIELD_PROPERTY_SEED, вот тут более вероятно встретить таймстап, кажется это он и есть (не помню уж). но опять же, это А9, а не SMSG_ITEM_QUERY_SINGLE_RESPONSE.

покажите дамп всего пакета.

но вообще не о том говорим. и да, если апдейт поле цельное (не составные байты или слова), если оно integer и если оно равно нулю, то такое поле не передается в апдейтпакете. это такое правило. нельзя передавать зануленные поля.

я чесно говоря потерял нить проблемы, напомните плиз. клиент не воспринимает SMSG_LOOT_RESPONSE, сформированный вами? судя по вашему разобранному представлению этот пакет не менялся со времен царя гороха. вот у меня что:
Код:
  // лут-лист
  pkt := TPkt.InitCmd(SMSG_LOOT_RESPONSE);
  pkt.AddInt64(LootObject.woGuid);

//  LOOT_TYPE_CORPSE = 1;
//  LOOT_TYPE_SKINNING = 2;
//  LOOT_TYPE_FISHING = 3;
  pkt.AddByte(L.LootType); // тип лута
  pkt.AddLong(L.Coinage); // деньги
  pkt.AddByte(count); // сколько итемов в списке

  count:=0;
  for i:=1 to MAX_LOOT_ITEMS do
    if (L.Slot[i].Entry<>0)and(ItemTPL[L.Slot[i].Entry]<>nil) then
      begin
        pkt.AddByte(count); // номер итема по порядку, он потом будет фигурировать в лут-пакетах рассылки
        inc(count);
        pkt.AddLong(L.Slot[i].Entry); // item_id
        k:=random(ItemTPL[L.Slot[i].Entry].itMaxStackCount);
        if k<1 then k:=1;
        if k>ItemTPL[L.Slot[i].Entry].itMaxStackCount then k:=ItemTPL[L.Slot[i].Entry].itMaxStackCount;
        pkt.AddLong(k); // item_count
        pkt.AddLong(ItemTPL[L.Slot[i].Entry].itDisplayInfoID); // item_model
        pkt.AddLong(L.Slot[i].PropertySEED); // seed
        pkt.AddLong(L.Slot[i].RandomPropertyID); // RandomPropertyID

        // 0 - norm
        // 1 - that item is still being rolled for
        // 2 - нет опкода, нет сообщения, нельзя взять предмет

        // 1. статус итема может быть установлен командой "START ROLL"
        // 2. нужно выставить статус 2, если этот итем >=Trashold,
        //    что бы итем невозможно было просто взять,
        //    а можно передевать только через список плееров у мастерлутера или через розыгрыш need/greed
        pkt.AddByte(L.Slot[i].Status);
      end;

  sender.SockSend(pkt);
RomanRom2 вне форума   Ответить с цитированием
Старый 24.02.2011, 21:48   #14
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Ну не знаю. Я строил обработчик пакета SMSG_ITEM_QUERY_SINGLE_RESPONSE по примеру из Кактуса. Клиент такие пакеты понимал нормально. http://pastebin.com/wDGtdqYH

Правда в парсере я его малость поправил, и получилось такое: http://pastebin.com/rcf5xztf
Вроде как парсит нормально.

По поводу SMSG_LOOT_RESPONSE. Да, трабла именно в нем, но структура помоему соответствует оффу. http://pastebin.com/LSgVzGE4

Есть такая мысль, что близзы поменяли алгоритм формирования randomSuffix, из-за чего клиент его не хочет принимать.

Цитата:
судя по вашему разобранному представлению этот пакет не менялся со времен царя гороха.
В 4.0.3 было добавлено новое поле. В 4.0.6 сменили тип у count (вроде бы )

Последний раз редактировалось HuntsMan; 24.02.2011 в 21:51.
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 22:14   #15
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию


вот только что сказал, что нет никакого randomSuffix. есть random property id - динамическое поле итема, и есть suffix - статическое поле из респонса (добавлено в 2.0.3).

Ну не знаю. Я строил обработчик пакета SMSG_ITEM_QUERY_SINGLE_RESPONSE по примеру из Кактуса. Клиент такие пакеты понимал нормально. http://pastebin.com/wDGtdqYH
то, что клиент их нормально понимал означает лишь то, что вы угадали с размерностью данных и числом полей, а не то, что всё в порядке


Код:
94.        data << pProto->Sheath;
95.        data << pProto->RandomProperty;
96.        data << pProto->RandomSuffix;
97.        data << pProto->ItemSet;
то, что вы называете RandomProperty у меня называется Extra. это тоже не рандом никакой, а некое конечное число. в моей базе числа такие: 849, 1101, 514, 1016, 6273, 6272 и т.п.
RandomSuffix соответственно никакой не Random, а просто Suffix - указатель куда то в дбц на дополнительные фичи итема. это его отличает от "стандартного".

на самом деле Extra как бы по задумке было этим разнообразием. но вот в TBC близзы ввели понятие суффикса и вполне возможно поле Extra позднее стало обозначать что то иное.

в любом случае, это всё - вполне себе конечные числа в районе 1000-9000. ваши громадные значения клиент не может использовать в качестве ссылки (ID) и не может ничего по ним получить. вот и не хавает он такой невалидный пакет. кстати, где вы взяли такие числа? покажите пакет целиком.

и еще, random property id - это и есть suffix, соотвественно выбранный случайным образом (например при луте). на самом деле рандома у близзов никогда никакого не было и нет. но это другая тема.
RomanRom2 вне форума   Ответить с цитированием
Старый 24.02.2011, 22:42   #16
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Цитата:
вот только что сказал, что нет никакого randomSuffix. есть random property id - динамическое поле итема, и есть suffix - статическое поле из респонса (добавлено в 2.0.3).
Черт, я запутался уже в этих названиях
Итак, как я понял это дело завязано на 2х dbc: RandPropPoints.dbc (в котором идут параметры рандом статов) и ItemRandomSuffix.dbc (в котором идет энтри, и имя суффикса (из-за названия файла такое название и поля ))

Цитата:
то, что вы называете RandomProperty у меня называется Extra. это тоже не рандом никакой, а некое конечное число. в моей базе числа такие: 849, 1101, 514, 1016, 6273, 6272 и т.п.
Т.е. по этому числу ищутся параметры в ItemRandomSuffix.dbc, так? А по суффиксу из RandPropPoints.dbc?

Цитата:
кстати, где вы взяли такие числа? покажите пакет целиком.
Числа были нормальные. Сейчас вручную просмотрел, и оказывается на некоторых итемах данные съезжают Вот пример: http://pastebin.com/LQELX8cv и съехало вот так: http://pastebin.com/VEQ7pZRU
Походу где-то что-то упустил
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 22:59   #17
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

Цитата:
Сообщение от HuntsMan Посмотреть сообщение
Черт, я запутался уже в этих названиях
Итак, как я понял это дело завязано на 2х dbc: RandPropPoints.dbc (в котором идут параметры рандом статов) и ItemRandomSuffix.dbc (в котором идет энтри, и имя суффикса (из-за названия файла такое название и поля ))
ну не стоит же все так буквально вопринимать, думать то тоже надо иногда
ItemRandomSuffix - имеется ввиду, что в этой таблице собраны рандомы суффиксов (еще одно подверждение, что никакого рандома у близов нет, все заранее просчитано).

Цитата:
Сообщение от HuntsMan Посмотреть сообщение
Т.е. по этому числу ищутся параметры в ItemRandomSuffix.dbc, так? А по суффиксу из RandPropPoints.dbc?
я не могу сказать, где что сейчас ищется. давайте разбираться.

Цитата:
Сообщение от HuntsMan Посмотреть сообщение
Числа были нормальные. Сейчас вручную просмотрел, и оказывается на некоторых итемах данные съезжают
Походу где-то что-то упустил
ну. конечно. мусор сплошняком
для начала давайте пофиксим размерность пакета и поставим все поля на свои места, если это необходимо - введем новые unk-и.

и еще, поля в основном int, а не uint:
11.Allowable Class: 4294967295
12.Allowable Race: 4294967295
эти и подобные поля должны быть равны минус еденице.
RomanRom2 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
HuntsMan (24.02.2011)
Старый 24.02.2011, 23:07   #18
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Цитата:
ItemRandomSuffix - имеется ввиду, что в этой таблице собраны рандомы суффиксов (еще одно подверждение, что никакого рандома у близов нет, все заранее просчитано).
Помоему близзы имели ввиду что рандомные будут статы у предметов, а не номера
Цитата:
ну. конечно. мусор сплошняком
для начала давайте пофиксим размерность пакета и поставим все поля на свои места, если это необходимо - введем новые unk-и.
Я заметил такую закономерность: если итем не имеет спеллов, то по имеющейся структуре он парсится более-менее нормально. Но если есть хоть один спелл, то размер пакета вырастает на 62 байта. Идой я особо не владею (что плохо ).
Цитата:
11.Allowable Class: 4294967295
12.Allowable Race: 4294967295
эти и подобные поля должны быть равны минус еденице.
Заменить просто лень было Поправлю, спасибо
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 23:19   #19
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

Цитата:
Сообщение от HuntsMan Посмотреть сообщение
Помоему близзы имели ввиду что рандомные будут статы у предметов, а не номера
я так не думаю, на близзов это не похоже. они часто делают "рандомы" среди готовых записей (строки таблиц). но никогда еще не делали рандомы у значений полей этих записей.

Цитата:
Сообщение от HuntsMan Посмотреть сообщение
Я заметил такую закономерность: если итем не имеет спеллов, то по имеющейся структуре он парсится более-менее нормально. Но если есть хоть один спелл, то размер пакета вырастает на 62 байта.
у меня больше не открываются ваши ссылки на pastebin (удалены или протухли?). такие вещи лучше постить прямо в форум, не надо стесняться. отсюда уж точно никуда не денуться. обернуть их в тег CODE и все.
у меня подозрение, что вы неправильно или вообще не парсите счетчик спеллов итема. но вроде как у спеллов не было счетчика, был у бонусов. покажите дамп пакета.

ЗЫ. блин, надо какой то irc что ли...

Последний раз редактировалось RomanRom2; 24.02.2011 в 23:23.
RomanRom2 вне форума   Ответить с цитированием
Старый 24.02.2011, 23:26   #20
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Цитата:
я так не думаю, на близзов это не похоже. они часто делают "рандомы" среди готовых записей (строки таблиц). но никогда еще не делали рандомы у значений полей этих записей.
Я это и имел ввиду

Вот к примеру отпарсенный итем с спеллом:
Код:
Entry:                       8075
Name:                        Сотворенный батон
Quality:                     1
Flags:                       2097154
Flags2:                      40960
Buy Price:                   0
Sell Price:                  0
Inventory Type:              0
Allowable Class:             -1
Allowable Race:              -1
Item Level:                  45
Required Level:              35
Required Skill:              0
Required SkillRank:          0
Required Spell:              0
Required Honor Rank:         0
Required City Rank:          0
Required Reputation Faction: 0
Required Reputation Rank:    0
Max Count:                   0
Stackable:                   20
Container Slots:             0
 * Item Mod Type 0:          0
 * Item Mod Value 0:         0
 * Item Mod Type 1:          0
 * Item Mod Value 1:         0
 * Item Mod Type 2:          0
 * Item Mod Value 2:         0
 * Item Mod Type 3:          0
 * Item Mod Value 3:         0
 * Item Mod Type 4:          0
 * Item Mod Value 4:         0
 * Item Mod Type 5:          0
 * Item Mod Value 5:         0
 * Item Mod Type 6:          0
 * Item Mod Value 6:         0
 * Item Mod Type 7:          0
 * Item Mod Value 7:         0
 * Item Mod Type 8:          0
 * Item Mod Value 8:         0
 * Item Mod Type 9:          0
 * Item Mod Value 9:         0
Scaling Stat Distribution:   0
Scaling Stat Value:          0
Armor:                       0
Delay:                       0
Ammo Type:                   0
Ranged Mod Range:            0

 * Spell ID 1:               1129
 * Spell Trigger 1:          0
 * Spell Charges 1:          0
 * Spell Cooldown 1:         0
 * Spell Category 1:         0
 * Spell Category Cooldown 1:0

 * Spell ID 2:               0
 * Spell Trigger 2:          0
 * Spell Charges 2:          0
 * Spell Cooldown 2:         0
 * Spell Category 2:         -1
 * Spell Category Cooldown 2:0

 * Spell ID 3:               0
 * Spell Trigger 3:          0
 * Spell Charges 3:          0
 * Spell Cooldown 3:         0
 * Spell Category 3:         -1
 * Spell Category Cooldown 3:-1

 * Spell ID 4:               -1
 * Spell Trigger 4:          -1
 * Spell Charges 4:          11
 * Spell Cooldown 4:         0
 * Spell Category 4:         0
 * Spell Category Cooldown 4:0

 * Spell ID 5:               0
 * Spell Trigger 5:          1000
 * Spell Charges 5:          -1
 * Spell Cooldown 5:         -1
 * Spell Category 5:         -1
 * Spell Category Cooldown 5:-1

Bonding:                      0
Description:                  
Page Text:                    0
Language ID:                  0
Page Material:                0
Start Quest:                  0
Lock ID:                      0
Material:                     4294967295
Sheath:                       0
Random Property:              0
Random Suffix:                0
Block:                        0
Itemset:                      0
Max Durability:               0
Area:                         0
Map:                          0
Bag Family:                   0
Totem Category:               0

 * Socket Color 1:            0
 * Socket Content 1:          0

 * Socket Color 2:            0
 * Socket Content 2:          0

 * Socket Color 3:            0
 * Socket Content 3:          0

Socket Bonus:                 0
Gem Properties:               0
Required Disenchant Skill:    0
Armor Damage Modifier:        0
Duration:                     0
Item Limit Category:          0
Holiday ID:                   0
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 23:27   #21
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

И дамп:
Код:
Packet SMSG, SMSG_ITEM_QUERY_SINGLE_RESPONSE (3150), len 564, Flags: None
╔════════╦═════════════════════════════════════════════════╦════════════════╗
║ OFFSET ║  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F ║0123456789ABCDEF║
╠════════╬═════════════════════════════════════════════════╬════════════════╣
║00000000║ 70 58 37 40 8B 1F 00 00 24 02 00 00 8B 1F 00 00 ║pX7@....$.......║
║00000010║ 01 00 00 00 02 00 20 00 00 A0 00 00 00 00 00 00 ║...... .........║
║00000020║ 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF ║................║
║00000030║ 2D 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 ║-...#...........║
║00000040║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000050║ 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 ║................║
║00000060║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000070║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000080║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000090║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000A0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000B0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000C0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000D0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000E0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000F0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000100║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000110║ 69 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║i...............║
║00000120║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000130║ 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 ║................║
║00000140║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000150║ FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ║................║
║00000160║ 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000170║ 00 00 00 00 E8 03 00 00 FF FF FF FF FF FF FF FF ║................║
║00000180║ FF FF FF FF FF FF FF FF 00 00 00 00 21 00 D0 A1 ║............!...║
║00000190║ D0 BE D1 82 D0 B2 D0 BE D1 80 D0 B5 D0 BD D0 BD ║................║
║000001A0║ D1 8B D0 B9 20 D0 B1 D0 B0 D1 82 D0 BE D0 BD 00 ║.... ...........║
║000001B0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000001C0║ 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF ║................║
║000001D0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000001E0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000001F0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000200║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000210║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000220║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000230║ 4E E5 9B 91 -- -- -- -- -- -- -- -- -- -- -- -- ║N...............║
╚════════╩═════════════════════════════════════════════════╩════════════════╝
А на это начинает съезжать размер:
Код:
-- Read 552 bytes, have 614
Entry:                       32453
Name:                        Слезы Звезд
Quality:                     1
Flags:                       2097152
Flags2:                      40964
Buy Price:                   10000
Sell Price:                  125
Inventory Type:              0
Allowable Class:             -1
Allowable Race:              -1
Item Level:                  75
Required Level:              65
Required Skill:              0
Required SkillRank:          0
Required Spell:              0
Required Honor Rank:         0
Required City Rank:          0
Required Reputation Faction: 0
Required Reputation Rank:    0
Max Count:                   0
Stackable:                   20
Container Slots:             0
 * Item Mod Type 0:          0
 * Item Mod Value 0:         0
 * Item Mod Type 1:          0
 * Item Mod Value 1:         0
 * Item Mod Type 2:          0
 * Item Mod Value 2:         0
 * Item Mod Type 3:          0
 * Item Mod Value 3:         0
 * Item Mod Type 4:          0
 * Item Mod Value 4:         0
 * Item Mod Type 5:          0
 * Item Mod Value 5:         0
 * Item Mod Type 6:          0
 * Item Mod Value 6:         0
 * Item Mod Type 7:          0
 * Item Mod Value 7:         0
 * Item Mod Type 8:          0
 * Item Mod Value 8:         0
 * Item Mod Type 9:          0
 * Item Mod Value 9:         0
Scaling Stat Distribution:   0
Scaling Stat Value:          0
Armor:                       0
Delay:                       0
Ammo Type:                   0
Ranged Mod Range:            0

 * Spell ID 1:               27089
 * Spell Trigger 1:          0
 * Spell Charges 1:          0
 * Spell Cooldown 1:         0
 * Spell Category 1:         0
 * Spell Category Cooldown 1:0

 * Spell ID 2:               0
 * Spell Trigger 2:          0
 * Spell Charges 2:          0
 * Spell Cooldown 2:         0
 * Spell Category 2:         -1
 * Spell Category Cooldown 2:0

 * Spell ID 3:               0
 * Spell Trigger 3:          0
 * Spell Charges 3:          0
 * Spell Cooldown 3:         0
 * Spell Category 3:         -1
 * Spell Category Cooldown 3:-1

 * Spell ID 4:               -1
 * Spell Trigger 4:          -1
 * Spell Charges 4:          59
 * Spell Cooldown 4:         0
 * Spell Category 4:         0
 * Spell Category Cooldown 4:0

 * Spell ID 5:               0
 * Spell Trigger 5:          1000
 * Spell Charges 5:          -1
 * Spell Cooldown 5:         -1
 * Spell Category 5:         -1
 * Spell Category Cooldown 5:-1

Bonding:                      0
Description:                  
Page Text:                    3050344912
Language ID:                  3050340561
Page Material:                3184572112
Start Quest:                  3491806928
Lock ID:                      3502166196
Material:                     3515601329
Sheath:                       549376130
Random Property:              -1143950128
Random Suffix:                3491794897
Block:                        0
Itemset:                      3502166194
Max Durability:               3502100661
Area:                         3515601341
Map:                          -2033115003
Bag Family:                   -1143949872
Totem Category:               -1177504304

 * Socket Color 1:            46
 * Socket Content 1:          0

 * Socket Color 2:            0
 * Socket Content 2:          0

 * Socket Color 3:            0
 * Socket Content 3:          196608

Socket Bonus:                 0
Gem Properties:               0
Required Disenchant Skill:    0
Armor Damage Modifier:        0
Duration:                     0
Item Limit Category:          0
Holiday ID:                   0
HuntsMan вне форума   Ответить с цитированием
Старый 24.02.2011, 23:28   #22
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Код:
Packet SMSG, SMSG_ITEM_QUERY_SINGLE_RESPONSE (3150), len 614, Flags: None
╔════════╦═════════════════════════════════════════════════╦════════════════╗
║ OFFSET ║  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F ║0123456789ABCDEF║
╠════════╬═════════════════════════════════════════════════╬════════════════╣
║00000000║ 70 58 37 40 C5 7E 00 00 56 02 00 00 C5 7E 00 00 ║pX7@.~..V....~..║
║00000010║ 01 00 00 00 00 00 20 00 04 A0 00 00 10 27 00 00 ║...... ......'..║
║00000020║ 7D 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF ║}...............║
║00000030║ 4B 00 00 00 41 00 00 00 00 00 00 00 00 00 00 00 ║K...A...........║
║00000040║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000050║ 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 ║................║
║00000060║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000070║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000080║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000090║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000A0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000B0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000C0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000D0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000E0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║000000F0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000100║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000110║ D1 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║.i..............║
║00000120║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000130║ 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 ║................║
║00000140║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000150║ FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ║................║
║00000160║ 3B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║;...............║
║00000170║ 00 00 00 00 E8 03 00 00 FF FF FF FF FF FF FF FF ║................║
║00000180║ FF FF FF FF FF FF FF FF 00 00 00 00 15 00 D0 A1 ║................║
║00000190║ D0 BB D0 B5 D0 B7 D1 8B 20 D0 97 D0 B2 D0 B5 D0 ║........ .......║
║000001A0║ B7 D0 B4 00 00 00 00 00 00 00 3D 00 D0 91 D0 B5 ║..........=.....║
║000001B0║ D1 80 D0 B5 D0 B6 D0 BD D0 BE 20 D0 B4 D0 BE D0 ║.......... .....║
║000001C0║ B1 D1 8B D1 82 D0 BE 20 D0 B4 D0 BB D1 8F 20 D0 ║....... ...... .║
║000001D0║ B2 D0 BE D0 B5 D0 BD D0 BD D1 8B D1 85 20 D1 86 ║............. ..║
║000001E0║ D0 B5 D0 BB D0 B5 D0 B9 2E 00 00 00 00 00 00 00 ║................║
║000001F0║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 ║................║
║00000200║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000210║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000220║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000230║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000240║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000250║ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ║................║
║00000260║ 00 00 4E E5 9B 91 -- -- -- -- -- -- -- -- -- -- ║..N.............║
╚════════╩═════════════════════════════════════════════════╩════════════════╝
Спеллы парсю вот так:
Код:
                for (i = 0; i < 5; i++)
                {
                    this.it.SpellList[i].SpellID = gr.ReadInt32();
                    this.it.SpellList[i].SpellTrigger = gr.ReadInt32();
                    this.it.SpellList[i].SpellCharges = gr.ReadInt32();
                    this.it.SpellList[i].SpellCooldown = gr.ReadInt32();
                    this.it.SpellList[i].SpellCategory = gr.ReadInt32();
                    this.it.SpellList[i].SpellCategoryCooldown = gr.ReadInt32();
                }
Вроде как их кол-во равно 5, и вроде не менялось

Цитата:
такие вещи лучше постить прямо в форум, не надо стесняться. отсюда уж точно никуда не денуться. обернуть их в тег CODE и все.
Цитата:
Вы ввели слишком длинный текст (15151 символов). Пожалуйста, сократите его до 10000 символов.


Цитата:
ЗЫ. блин, надо какой то irc что ли...
ICQ, Jabber, Skype Любой IM на ваш вкус
HuntsMan вне форума   Ответить с цитированием
Старый 25.02.2011, 00:35   #23
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

ну что я могу сказать, парсинг правильный. формат правильный.
а вот дамп неправильный. минус поставьте тому сниферу, который это отснифал. поля тут реально съехавшие прямо в дампе. у этого итема один спелл.


а, ммм... сейчас обратил внимание, что поля уехавшие и у первого дампа тоже.
быть может это просто формат пакета поменялся

Добавлено через 35 минут
поразбирал дамп итема 32443, начиная со спеллов.
по формату видно, что количество полей совпадает. 6 полей на каждый спелл. но содержимое полей заставляет задуматься о том, что дамп явно кривой. видны уехавшие вниз поля данного спелла, а между ними какой то мусор в виде нулей и "-1".

Код:
D1 69 00 00 1 m_spellID
00 00 00 00 2 m_spellTrigger
00 00 00 00 3 m_spellCharges
00 00 00 00 4 m_spellCooldown
00 00 00 00 5 m_spellCategory
00 00 00 00 6 m_spellCategoryCooldown
00 00 00 00  1
00 00 00 00  2
00 00 00 00  3
00 00 00 00  4
FF FF FF FF  5
00 00 00 00  6
00 00 00 00 1
00 00 00 00 2
00 00 00 00 3
00 00 00 00 4
FF FF FF FF 5
FF FF FF FF 6
FF FF FF FF  1
FF FF FF FF  2
3B 00 00 00  3
00 00 00 00  4
00 00 00 00  5
00 00 00 00  6
00 00 00 00 1
E8 03 00 00 2
FF FF FF FF 3
FF FF FF FF 4
FF FF FF FF 5
FF FF FF FF 6
00 00 00 00 m_bonding

15 00 
D0 A1 D0 BB D0 B5 D0 B7 D1 8B 20 D0 97 D0 B2 D0 B5 D0 B7 D0 B4 00 
00 00 00 00 
00 00 3D 00 
D0 91 D0 B5 D1 80 D0 B5 D0 B6 D0 BD D0 BE 20 D0 B4 D0 BE D0
B1 D1 8B D1 82 D0 BE 20 D0 B4 D0 BB D1 8F 20 D0
B2 D0 BE D0 B5 D0 BD D0 BD D1 8B D1 85 20 D1 86
D0 B5 D0 BB D0 B5 D0 B9 2E 00 

00 00 00 00 m_pageText
00 00 00 00 m_languageID
00 00 00 00 m_pageMaterial
00 00 00 00 m_startQuestID
00 00 00 00 m_lockID
03 00 00 00 m_material
00 00 00 00 
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 4E E5 9B 91
еще непонятка с m_description. ну видно что юникод, но какие то левые нули в середине и странные коды "символов". толи я что то не знаю о юникоде, толи тут два m_description, толи тут опять мусор.

до тройки, которая является m_material поля совпадают. дальше не парсил. но тем не менее, непонятное значение в последнем интовом поле, это не инт, не флоат, а какой то... "мусорный рандом"

еще там ближе к концу должны быть поле extended_cost, равное 1564 и поле req_disenchant_skill, которое равно -1. но в этих полях я не уверен. уверен лишь в том, что значения полей должны быть в дампе, если только эти поля не убрали из пакета. сразу оба.

у меня назрел вопрос:
откуда и каким образом был сделан снифф?

Добавлено через 17 минут
не удержался, распарсил концовку.

Код:
00 00 00 00 page_text_id
00 00 00 00 page_language_id
00 00 00 00 page_material
00 00 00 00 start_quest
00 00 00 00 lock_id
03 00 00 00 lock_material
00 00 00 00 sheath
00 00 00 00 extra
00 00 00 00 suffix_id
00 00 00 00 block
00 00 00 00 set_id
00 00 00 00 max_duarbility
00 00 00 00 area
00 00 00 00 mab
00 00 00 00 bag_sub_class
00 00 00 00 tool_id
00 00 00 00 sock_id_1
00 00 00 00 sock_unk_1
00 00 00 00 sock_id_2 
00 00 00 00 sock_unk_2
00 00 00 00 sock_id_3 
00 00 00 00 sock_unk_3
00 00 00 00 sock_bonus
00 00 00 00 gem_prop
00 00 00 00 extended_cost
00 00 00 00 req_arena_rank
00 00 00 00 req_disenchant_skill
00 00 00 00 armor_damage_mod
00 00 00 00 exist_duration
00 00 00 00 item_limit_category
4E E5 9B 91 holiday_id
названия полей набил руками в соответствии с одним из последних сандбоксов, что я делал для катаклизма, не помню какой билд. т.е. размерность вроде как совпадает, теперь только вопрос, разве такие holiday_id бывают? в вашем парсинге не хватает двух полей. в связи с этим еще один вопрос: что за код и формат вы используете? что-то явно устаревшее.

Последний раз редактировалось RomanRom2; 25.02.2011 в 00:20.
RomanRom2 вне форума   Ответить с цитированием
Старый 25.02.2011, 05:57   #24
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Использую этот инжектор:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 50 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Насчет неправильного дампа не уверен, снифер ещё ни разу в плане фрагментации пакетов не подводил
Цитата:
еще там ближе к концу должны быть поле extended_cost, равное 1564 и поле req_disenchant_skill, которое равно -1. но в этих полях я не уверен. уверен лишь в том, что значения полей должны быть в дампе, если только эти поля не убрали из пакета. сразу оба.
Помоему extended_cost в этом пакете близы давно уже не шлют

Цитата:
что-то явно устаревшее.
Формат да, он страшный Но альтернативы пока что нет Сейчас с другом пишем свой снифер, но там пока что застряли на фрагментировании пакетов.
HuntsMan вне форума   Ответить с цитированием
Старый 25.02.2011, 11:20   #25
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

еще я тут подумал, что раз доверие к сниферу некоторое имеется, что раз другие пакеты дампятся нормально, значит так кардинально сменился формат SMSG_ITEM_QUERY_SINGLE_RESPONSE. значит спеллов там теперь не пять, а один, но полей по нему стало в 5 раз больше. было 6, стало 30. это само по себе не удивительно, такие манипуляции с данными близы проводят иногда. удивляет только то, что полей для одного сраненького спелла у одного сраненького итема стало в 5 раз больше. чем по сути экономии в байтах никакой и не сделали. это всё удивляет.

насчет extended_cost я ж говорю, я не уверен. я уверен только в том, что по количеству полей этот кусок дампа совпал. а значит этот extended_cost передается. ну или если он не передается, то передается дополнительно что то еще.
RomanRom2 вне форума   Ответить с цитированием
Старый 25.02.2011, 12:48   #26
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

HuntsMan у вас неправильно читаются спеллы, на 90% уверен, что еще и статы и сокеты (т.к. код чтения не видел). В 4.0 структура изменилась.
LordJZ вне форума   Ответить с цитированием
Старый 25.02.2011, 16:03   #27
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
HuntsMan у вас неправильно читаются спеллы, на 90% уверен, что еще и статы и сокеты (т.к. код чтения не видел). В 4.0 структура изменилась.
Статы читаются нормально, проверено. А по поводу спеллов можно поподробней?)
Цитата:
значит спеллов там теперь не пять, а один, но полей по нему стало в 5 раз больше. было 6, стало 30. это само по себе не удивительно, такие манипуляции с данными близы проводят иногда. удивляет только то, что полей для одного сраненького спелла у одного сраненького итема стало в 5 раз больше. чем по сути экономии в байтах никакой и не сделали. это всё удивляет.
Помоему это нереально, т.к. возьмем туже темную скорбь. К ней привязано несколько спеллов.

Последний раз редактировалось HuntsMan; 25.02.2011 в 16:17.
HuntsMan вне форума   Ответить с цитированием
Старый 25.02.2011, 20:59   #28
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
LordJZ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
HuntsMan (25.02.2011)
Старый 25.02.2011, 22:41   #29
Dvlpr
Новичок
 
Регистрация: 21.10.2010
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Dvlpr На верном пути
По умолчанию

Топик стартер, а ты проверял, вызывается хэндлер этого пакета в клиенте вообще или нет? Например, сейчас я обнаружил, что при 100% правильной структуре и опкоде пакета SMSG_LIST_INVENTORY её хэндлер не вызывается. Причем не только хэнлдер, клиент этот опкод (в NetClient__Process) вообще не видит. При этом в world.log этот пакет тоже логируется.

Пытаюсь разобраться

ps: клиент перманентно пропатчен, однако.
Dvlpr вне форума   Ответить с цитированием
Старый 26.02.2011, 13:52   #30
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Да, это заметил. Мб таже фигня что и с пингом было. Пинг тоже не получилось заставить работать под 4.0.3, хотя структура была индентична офу, но клиент втупую не хотел его обрабатывать...
HuntsMan вне форума   Ответить с цитированием
Старый 28.02.2011, 14:15   #31
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

итак, проблемы с размерностью и форматом данных, в частности по спеллам, успешно разрешены. чем дело то закончилось?
RomanRom2 вне форума   Ответить с цитированием
Старый 28.02.2011, 14:35   #32
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Вобщем кажись дело в гуиде. Никто не подскажет как его формируют близзы в 4.0.6?)

Цитата:
итак, проблемы с размерностью и форматом данных, в частности по спеллам, успешно разрешены. чем дело то закончилось?
Ещё далеко не конец этой длинной и запутанной истории
HuntsMan вне форума   Ответить с цитированием
Старый 28.02.2011, 17:16   #33
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Они сместили Entry на байт вверх.
LordJZ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
HuntsMan (28.02.2011)
Старый 28.02.2011, 19:38   #34
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

К сожалению дело не в гуиде поправил формирование гуида, но ему все равно

Но зато хоть терь парсер нормально ентри парсить стал
Код:
Guid:       (High: Unit (0xF130), Entry: 49871, Counter: 252,552)
LootType:   1
Money:      0
Count:      2
CurCount:   0
==============================
 
 Index:             0
 ItemId:            62328
 ItemCount:         1
 ItemModelId:       18093
 RandomSuffix:      0
 RandomPropertyId:  0
 Perm:              0
 
==============================
 
 Index:             1
 ItemId:            3300
 ItemCount:         1
 ItemModelId:       6682
 RandomSuffix:      0
 RandomPropertyId:  0
 Perm:              0
HuntsMan вне форума   Ответить с цитированием
Старый 28.02.2011, 20:06   #35
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Скиньте дамп world.log с этим пакетом. (в любом формате)
LordJZ вне форума   Ответить с цитированием
Старый 28.02.2011, 20:36   #36
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Код:
<packet date = "1298914451" direction"StoC" opcode = "62348">88DA0300CFC230F1010000000002000078F3000001000000AD46000000000000000000000001E40C0000010000001A1A0000000000000000000000</packet>
Пожалуйста
HuntsMan вне форума   Ответить с цитированием
Старый 28.02.2011, 23:27   #37
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

RandomSuffix-а нету, единичку туда попробуйте пошлите или Counter гуида
LordJZ вне форума   Ответить с цитированием
Старый 28.02.2011, 23:53   #38
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Неа, не прокатывает Там походу какая-то особая новая формула генерации этого поля, но мой моск пока что её не осилил
HuntsMan вне форума   Ответить с цитированием
Старый 01.03.2011, 20:43   #39
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Тред думаю можно закрыть. Проблема решена хоть и хаком, но все-таки кое как работает
HuntsMan вне форума   Ответить с цитированием
Старый 01.03.2011, 21:20   #40
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

нет, не надо закрывать без объяснения. рассказывайте чо там.
RomanRom2 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (01.03.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot