Здравствуйте, начал потихоньку осваивать ООГ, и возникло пару вопросов.
Для подключения к серверу, выбор персонажа, отправки пакетов я взял библиотеку с этой темы. Поначалу все получалось отлично, и даже написанные мною программы пригодились мне. И возникла идея поставить OOG перса на респе ресурса и чтоб этот персонаж копал его по КД. Через клиент я узнал пакет копки этого ресурса, и отправлял пакет через клиент, персонаж копал. Но когда отправляешь пакет через OOG, персонаж просто стоит и не копает. Пересмотрел много вариантов, расположение кирки в инвентаре, пробовал 1 и того же перса, и с другими ресурсами также.
Начинаю подумывать о том что при входе на персонажа нужно сканировать область на ресурсы, как и в библиотеке на инвентарь. Если и так, придется хорошенько потрудится чтоб принять пакеты и разобрать их. И поэтому решил с начало попросить у вас подсказки. Я не прошу писать полностью за меня код, а просто подсказать действительно нужно сканировать область, или я просто что-то не учел, или что-то не правильно делаю. Пишу на C#.
Заранее спасибо
Клиентские пакеты отправляются не сами по себе, а в контейнере. Не смотрел библиотеку, но там должно быть это реализовано. Посмотрите, если там есть, как отправляются пакеты использования скилла/любые другие, которые ловятся PacketListener'ом
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
Достаточно просто словить пакет PacketListener'ом, в коде засунуть пакет в массив байтов и этот массив отправить функции которая в библиотеке. Скиллы юзаются, взлетает, в медитацию садится и тд.
чтобы понятна была понятна вся механика действий, обычно пишут все сами с нуля, а дальше уже упрощают жизнь тем что уже готово. Если есть возможность выложите пакет который отвечает за это действие. Как я могу предположить, то в пакете указан World ID ресурса который вы выкапываете, и кто то мог выкопать его после чего появился новый, а вы отправляете пакет со старыми данными, ну вообщем киньте пример
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
36 - вроде как сама команда на копание
00 01 06 10 С0 00 00 - WID
1D 00 01 0C - Расположение кирки
00 00 00 00 00 00 00 - ?
Насчет WID, я с начало так и пробовал, и не получалось. Потом я понял что в пакете не ID, а WID, и для проверки я в PacketListener поставил на ловлю пакетов, в клиенте начал копать, и отменил сразу, вышел с персонажа, и зашел через OOG, отправил пакет и все ровно перс стоит как ни в чем не бывало. За действиями OOG проверял с другого перса, OOG перс заходил и стоял впритык с ресом.
Последний раз редактировалось dimonpw2; 12.07.2014 в 21:29.
Я делал ингейм копания шахт в кубе, формат пакета у меня вышел такой:
36 00 [AA AA AA AA] 00 00 [BB BB] [CC CC] 00 00 [DD DD] 00 00
Где
AA AA AA AA - это WID шахты
BB BB - слот в котором находится кирка
CC CC - айди итема для копания (при копании ресов - айди кирки)
DD DD - айди квеста по которому копается данный предмет. Для простых ресов нули.
Если не работает - проверьте WID шахты, может вы его неверно определяете. Также проверьте расстояние до шахты, точно ли кирку в том слоте держите итп. Может пробелма в прямом-обратном порядке байт.
Выводите пакет перед отправкой и сравнивайте с тем, что поймали в игре.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW. PW Everyday Helper Bot
Последний раз редактировалось N00bSa1b0t; 12.07.2014 в 22:35.
36 00 [AA AA AA AA] 00 00 [BB BB] [CC CC] 00 00 [DD DD] 00 00
Где
AA AA AA AA - это WID шахты
BB BB - слот в котором находится кирка
CC CC - айди итема для копания (при копании ресов - айди кирки)
DD DD - айди квеста по которому копается данный предмет. Для простых ресов нули.
Я всё-таки думаю, что айди итема и квеста занимают 4 байта, китайцы любят делать такие вещи 4-х байтовыми.
И на всякий случай дополню - порядок байт обратный (1 -> 01 00 00 00)
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
Я всё-таки думаю, что айди итема и квеста занимают 4 байта, китайцы любят делать такие вещи 4-х байтовыми.
Да, не спорю. Такая мысль мне пришла потом, когда закончил код писать под формирование пакета.
Просто пока в базе нет ни квеста, ни итема больше 64к Поэтому формат рабочий)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW. PW Everyday Helper Bot
dimonpw2, там отсылается сабпакет 0x36, который завернут в C2S 0x22, в теле сабпакета отсылается какая-то хрень, уже не помню, ID и WID реса, последний надо еще выдирать каждый раз из сабпакета 0x0A, завернутого в S2C 0x00. Плюс ко всему, сервер проверяет расстояние от перса до реса, поэтому просто так копнуть рес в Порте Мечты, стоя в ГИ не выйдет. Расстояние там маленькое, в следствии чего до реса еще необходимо добежать, выдрав его координаты опять же из 0x0A. Если же перс стоит впритык к ресу, смею предположить, что неправильно парсится WID, или же неправильно собран пакет. А пакеты движения, без них копание реса не имеет смысла (спаун рандомен в заданном радиусе), давным давно подробно описал FreePVP))): http://zhyk.ru/forum/showpost.php?p=4168006&postcount=3
Начните копать рес через клиент, и сразу отмените копку.
Копните рес через бота, сравните пакеты в пандоре. Ошибка обычно будет видна сразу.
Последний раз редактировалось Desmond Hume; 13.07.2014 в 13:16.