|
Опкоды, Формулы, Клиент Разбор и изучение взаимодействия клиента с сервером |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
20.08.2013, 03:53 | #1 |
Пользователь
Регистрация: 22.06.2013
Сообщений: 71
Сказал(а) спасибо: 22
Поблагодарили 0 раз(а) в 0 сообщениях
|
[4.3.4] Проверка ролей
Доброго времени суток, может кто подсказать одну вещь, вообщем:
Есть такая штука как Проверка ролей, жму от клиента идёт 0x0430 как я понимаю пустышка, он вызывает 0x70B0, составил маску, но есть там поле, оно первое uint8, что туда закинуть нужно? Кинул туда любое число, вроде как окошко появляется с выбором роли, но правильно ли это... Последний раз редактировалось Dubstep; 20.08.2013 в 03:55. |
20.08.2013, 10:55 | #2 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
этот uint8 - маска байтов в гуиде
http://paste2.org/9a20gPsC гуид, очевидно, - гуид инициировавшего role poll |
20.08.2013, 12:46 | #3 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
как то не похоже на гуид, после этого байта идут инты32, в странном порядке до кучи, 1, 5, 7, 3, 2. у гуида после маски идут байты (инт8 по вашему).
больше смахивает на количество гуидов, которые в пакете наличествуют. |
20.08.2013, 13:38 | #4 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
не вижу int32. 1, 5, 7, 3, 2 это порядок вытаскивания битов из маски. ну а потом да, идет считывание байтов.
Код:
ObjectGuid guid; recv_data.ReadGuidMask<1, 5, 7, 3, 2, 4, 0, 6>(guid); recv_data.ReadGuidBytes<4, 7, 0, 5, 1, 6, 2, 3>(guid); Последний раз редактировалось Amaru; 20.08.2013 в 13:41. |
20.08.2013, 16:39 | #5 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
ммм... вот. не?
Код:
CDataStore_GetInt8(a2, (int)&v13); v6 = 2 * v13; v5->guid[1] = (unsigned int)v13 >> 7; v7 = (unsigned int)v6 >> 7; v6 *= 2; v5->guid[5] = v7; v8 = (unsigned int)v6 >> 7; v6 *= 2; v5->guid[7] = v8; v9 = (unsigned int)v6 >> 7; v6 *= 2; v5->guid[3] = v9; v10 = (unsigned int)v6 >> 7; v6 *= 2; v5->guid[2] = v10; |
20.08.2013, 21:18 | #6 | ||
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
Цитата:
близзы сейчас пишут сначала маску использованных байтов в гуиде, в произвольном порядке. потом, в другом произвольном порядке, пишут сами использованные байты икс-оренные на 1. Цитата:
|
||
20.08.2013, 14:44 | #7 |
Пользователь
Регистрация: 22.06.2013
Сообщений: 71
Сказал(а) спасибо: 22
Поблагодарили 0 раз(а) в 0 сообщениях
|
спасибо
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка возможности каста | virusav | Новичкам | 17 | 11.11.2010 23:39 |
Проверка нахождения нпц в мире | virusav | Новичкам | 3 | 08.11.2010 00:08 |
[micro] Проверка ScriptDev2 скриптов | LordJZ | Tools | 22 | 06.08.2010 23:55 |
Проверка браузера | selector | Новичкам | 8 | 05.06.2010 18:42 |