27.02.2011, 12:49 | #1 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
SMSG_UPDATE_OBJECT
Может ли в SMSG_UPDATE_OBJECT прийти один и тот же НПС, но уже с другими данными(другой флаг\фракция\вехиклИД)?
|
27.02.2011, 16:09 | #2 |
Пользователь
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
|
очень врядли.
|
27.02.2011, 17:56 | #3 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
В одном пакете?
|
27.02.2011, 18:13 | #4 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Нет.
В общем похоже на то, что есть возможность прихода одного ентри с разными данными. В скриптах меняются флаги, вехИДы, фракции и прочее |
27.02.2011, 18:28 | #5 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Может, конечно. В первом пакете Create, в следующем Values.
|
27.02.2011, 20:53 | #6 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
ни что не мешает спавниться n волкам в голшире. ентри 69 - у всех один. даже больше скажу, у многих отспавненных волков все поля абсолютно одинаковы.
нет никаких ограничений на создание объектов, за исключением гуида. клиенту нельзя креатить разные объекты с одинаковым гуидом. остально - всё разрешено. даже в одном create пакете. |
12.05.2011, 15:42 | #7 |
Гость
Сообщений: n/a
|
пожалуйста. Поделитесь пакетом и его разобранным дампом( текстовым файлом, скриншотом или чем нибудь )...
2 дня парю мозг, с UPDATETYPE_MOVEMENT = 1,UPDATETYPE_CREATE_OBJECT = 2 никак не могу понять где ошибка лезет... Код:
updateType=2 CreateObject guid 2d333336313837363731 //hex objectTypeId=1 movement UpdateFlags=24 Flags=2796032 Flags2=65536 TimeStamp=1138688512 Position X=4.4841550858394E-44 Y=1.0550138540566E-10 Z=1.5083296410299E-40 ..... Последний раз редактировалось Minimajack; 02.06.2011 в 15:29. |
12.05.2011, 15:51 | #8 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
у итема откуда мувемент то
|
12.05.2011, 15:53 | #9 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
И гуид какой-то левый, где-то до этого уже ошибка.
|
12.05.2011, 15:54 | #10 | |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Все просто
Компресед пакеты также читаются, но их сначало надо разжать |
|
12.05.2011, 17:55 | #11 |
Гость
Сообщений: n/a
|
|
12.05.2011, 18:22 | #12 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
Откуда
Код:
LowGuid 1078530011 HighGuid 2147491589 AttackingTarget = 56313 TransportTime = 327710 VehicleId = 67108864 VehicleAimAdjustement = 3.6734198463196E-40 GoRotationULong = 1.7379390963164E+19 |
Пользователь сказал cпасибо: |
12.05.2011, 18:44 | #13 | |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Цитата:
Вот тут есть все под 3.3.5 http://code.google.com/p/mywowtools/...ate%253Dclosed |
|
Пользователь сказал cпасибо: |
13.05.2011, 11:58 | #14 |
Гость
Сообщений: n/a
|
всем спасибо, пакет разобран, ошибки учтены
а ошибки простые: использование не к месту логических операций - вместо бинарных контейнер BitArray пришлось заменить конструкцией вида... Код:
int k = 0 for (int i = 0; i < blocksCount; ++i) for (int j = 0; j < 32; ++j) if ( ( updatemask[i] & (1 << j ) ) > 0) values[k++] = ReadUInt32(); |
14.05.2011, 19:47 | #15 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Вопрос на счет UPDATEFLAG_LOWGUID и UPDATEFLAG_HIGHGUID (так они называются в мангосе). Для итемов приходят значения, не имеющие отношения к гуиду: http://paste2.org/p/1415633
Есть идеи, откуда берутся эти значения? |
14.05.2011, 20:08 | #16 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Кстати, никто не знает как из итем гуида вытащить ентри? Пытался также как и для юнитов\го - получал постоянно ентри = 2
|
14.05.2011, 21:35 | #17 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
zergtmn, это не гуиды. не знаю что это, но это не гуиды. какие то другие данные. TOM_RUS?
Lordronn, энтри в гуидах был только у юнитов. вообще это неправильно вынимать энтри из гуида. я понимаю, что это вам облегчает жизнь , но на это полагаться нельзя. тем более что месторасположение энтри менялось несколько раз. вместо этого вы должны распарсить А9 пакет, в котором вы должны вынуть тип и гуид объекта, а в апдейтполях найти его энтри. только этому можно достоверно верить. |
14.05.2011, 22:14 | #18 | |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Цитата:
|
|
Пользователь сказал cпасибо: | Lordronn (14.05.2011) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[13329] SMSG_UPDATE_OBJECT | Konctantin | Копаем клиент | 7 | 19.07.2011 20:17 |
0x00A9 SMSG_UPDATE_OBJECT (GAMEOBJECT_PARENTROTATION) | Konctantin | Копаем клиент | 35 | 25.05.2011 19:12 |