Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Опкоды (http://mangos.ytdb.ru/forumdisplay.php?f=36)
-   -   SMSG_UPDATE_OBJECT (http://mangos.ytdb.ru/showthread.php?t=3811)

Lordronn 27.02.2011 12:49

SMSG_UPDATE_OBJECT
 
Может ли в SMSG_UPDATE_OBJECT прийти один и тот же НПС, но уже с другими данными(другой флаг\фракция\вехиклИД)?

zhenya 27.02.2011 16:09

очень врядли.

zergtmn 27.02.2011 17:56

В одном пакете?

Lordronn 27.02.2011 18:13

Нет.

В общем похоже на то, что есть возможность прихода одного ентри с разными данными. В скриптах меняются флаги, вехИДы, фракции и прочее

zergtmn 27.02.2011 18:28

Может, конечно. В первом пакете Create, в следующем Values.

RomanRom2 27.02.2011 20:53

ни что не мешает спавниться n волкам в голшире. ентри 69 - у всех один. даже больше скажу, у многих отспавненных волков все поля абсолютно одинаковы.

нет никаких ограничений на создание объектов, за исключением гуида. клиенту нельзя креатить разные объекты с одинаковым гуидом. остально - всё разрешено. даже в одном create пакете.

12.05.2011 15:42

пожалуйста. Поделитесь пакетом и его разобранным дампом( текстовым файлом, скриншотом или чем нибудь )...
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
          .....

дальше еще хуже...в аттаче пакет SMSG_COMPRESSED_UPDATE_OBJECT

RomanRom2 12.05.2011 15:51

у итема откуда мувемент то =)

TOM_RUS 12.05.2011 15:53

И гуид какой-то левый, где-то до этого уже ошибка.

Lordronn 12.05.2011 15:54

Вложений: 1
Все просто

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


Компресед пакеты также читаются, но их сначало надо разжать

12.05.2011 17:55

build 12340
пока флага UpdateFlags::UPDATEFLAG_LIVING
структура похожа на правду...

но как только он есть...косяки :sorry:
может не тот формат MovementInfo? я в печали...

TOM_RUS 12.05.2011 18:22

Откуда
Код:

          LowGuid 1078530011
          HighGuid 2147491589
          AttackingTarget = 56313
          TransportTime = 327710
          VehicleId = 67108864
          VehicleAimAdjustement = 3.6734198463196E-40
          GoRotationULong = 1.7379390963164E+19

если у вас флаги 0x20 | 0x40 только?

Lordronn 12.05.2011 18:44

Цитата:

может не тот формат MovementInfo? я в печали..
Конечно не тот. Я думал вы пишите для 4.0.6а)

Вот тут есть все под 3.3.5
http://code.google.com/p/mywowtools/...ate%253Dclosed

13.05.2011 11:58

всем спасибо, пакет разобран, ошибки учтены =)
а ошибки простые:
использование не к месту логических операций - вместо бинарных
контейнер 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();

зы осталось описать все через хмл =)))

zergtmn 14.05.2011 19:47

Вопрос на счет UPDATEFLAG_LOWGUID и UPDATEFLAG_HIGHGUID (так они называются в мангосе). Для итемов приходят значения, не имеющие отношения к гуиду: http://paste2.org/p/1415633
Есть идеи, откуда берутся эти значения?

Lordronn 14.05.2011 20:08

Кстати, никто не знает как из итем гуида вытащить ентри? Пытался также как и для юнитов\го - получал постоянно ентри = 2

RomanRom2 14.05.2011 21:35

zergtmn, это не гуиды. не знаю что это, но это не гуиды. какие то другие данные. TOM_RUS?

Lordronn, энтри в гуидах был только у юнитов. вообще это неправильно вынимать энтри из гуида. я понимаю, что это вам облегчает жизнь =), но на это полагаться нельзя. тем более что месторасположение энтри менялось несколько раз.

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

LordJZ 14.05.2011 22:14

Цитата:

Сообщение от zergtmn (Сообщение 22388)
Вопрос на счет UPDATEFLAG_LOWGUID и UPDATEFLAG_HIGHGUID (так они называются в мангосе). Для итемов приходят значения, не имеющие отношения к гуиду: http://paste2.org/p/1415633
Есть идеи, откуда берутся эти значения?

Кстати в 4.0 они удалены


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

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