В этой теме предлагаю полностью попробывать расшифровать пакет манора. Для примера возьмем вот это:
D0 02 00 01 00 00 00 71 B8 00 10 93 19 00 00 07 00 00 00 01 01 00 00 00 00 00 00
Из этого пакета понятно на 100% следующее:
07 00 00 00- ID города, куда сдаются плоды (опишу чуть позже)
01 01 00 00- колличество сдаваемых плодов.(принцип опишу чуть позже)
Не понятно следующее:
93 19 00 00 - ID сдаваемых всходов. Всегда ли оно стационарно для всех городов и "тарифов приема"?
71 B8 00 10- что это за objectID и на что он влияет?
D0 что это?
02 00- Что такое SubID и с чем его едят?
01 00 00 00- что такое ListSize
00 00 00 00 Это, как я понимаю, вообще никому не нужный отросток.
Цель вопроса: Научиться полностью ручками выставить город, плоды, кол-во плодов на сдачу.
Колличество сдаваемых плодов это 01 01 00 00. Выставить кол-во можно руками. Больше всего интересует фрагмент 71 B8 00 10- objectID. Умея расшифровать его можно будет руами выставить пакет на сдачу. У меня предположение, что этот фрагмент отвечает за цену сдачи. Пример:
D0 02 00 01 00 00 00 B9 6C 05 10 90 19 00 00 08 00 00 00 40 02 00 00 00 00 00 00
Это пакет на сдачу манора в руну "08 00 00 00" Плоды дезерт коба "90 19 00 00" в колличестве 576 штук "40 02 00 00". А это "B9 6C 05 10" я так подозреваю- цена покупки 27500. В хлапе она описывается такой строкой: "0008 d ObjectID: 268790969" Если я прав, то как связать между собой цифры 27500 и B9 6C 05 10? Как получить из первой цифры 16-ричный код?
Добавлено через 5 минут
Или я ошибаюсь и и этот фрагмент не имеет никакого отношения к цене сдачи всходов. Но имеет очень важную роль, ибо без знания этого фрагмента выставить манор руками не удается.
Кстати, если перевести число 268790969 в 16-ричный код, то как раз таки получается "B9 6C 05 10" только задом на перед "10 05 6С В9" Так что же это за число такое магическое objectID
Последний раз редактировалось Screamer, 22.01.2010 в 16:01.
Причина: Добавлено сообщение
В том то и дело, что это обжект айди, а не итем айди, который прописан в итем листе, в который ты меня отсылаешь. А обжект айди тут представлен каким-то немыслемым девятизначным числом... Есть одно подозрение, завтра вечером проверю, но я этих подозрений уже столько перепроверил...)))
И видим, что все предметы имеют свой ID. Кроме того, каждый предмет ещё имеет свой ObjecID (присваивает сервер), по которому можно отличить например две одинаковые пухи, которые лежат в инвентаре.
Из твоих слов можно уяснить следующее: "Неее, ты этот фрукт вчера сдал, сегодня это уже не тот, что был вчера, хоть и выглядит так же..." Или можно это понять по другому, что этот обьект айди отличает тот же самый плод по колличеству. Верно? Т.е. если сегодня я сдал тот же плод в кол-ве 300 штук, будет один обьектайди, а завтра буду сдавать то-же самое но в кол-ве 301 штуки и будет совершенно другой. Но как вычислить этот самый другой используя математические действия?
Screamer, на allcheats.ru лучше написано, что такое Id и ObjectId. Я просто хотел сказать, что каждая вещь имеет свой Id и свой ObjectId. Id может быть одинаков у разных однотипных вещей, а ObjectID не может. Сервер генерирует ObjectId автоматически. Можно узнать ObjectId из пакета инвентаря и применять в дальнейшем.
Вот нашел
Цитата:
Любой предмет находится на сервере и только на нем.
Клиент только отображает то, что происходит на сервере, а так же передает ваши желания, что вы хотите сделать (идти, атаковать, выбросить предмет) а сервер уже принимает решение на основании информации находящейся ТОЛЬКО на сервере.
ItemID предмета - это грубо говоря номер предмета из списка, с описанием его характеристик. Это не 'физический' предмет, это только описание вида предмета.
ObjectID предмета - это некий назначенный номер 'физически' присутствующего предмета на сервере, клиент потом оперирует этим предметом с сервером посредством этого ObjectID.
Этот ObjectID клиент получает от сервера по спискам (отдельными пакетами, либо списком - не важно) где проходит информация о предмете и его назначенный ObjectID.
ObjectID назначается сервером, и меняется от сессии к сессии , а иногда и в процессе сессии (изменения/улучшения предмета).
ObjectID игровых, либо не игровых персонажей (PC, NPC) -
это тоже самое, назначенный сервером некий ObjectID по которому в последствии клиент и оперирует персонажем с сервером.
Все остальное действительно как и с ObjectID предметов.