Думаю, тема ботов не оставляет равнодушным ни одного игрока в онлайн-игры. Кого-то они раздражают, кто-то ими интересуется, а кто-то их использует. Существует и некоторое количество людей, довольно маленькое относительно остальных трех групп — это люди, которые этих ботов разрабатывают.
Я предлагаю присоединиться к этой небольшой касте людей и посмотреть изнутри процесс разработки бота.ПредысторияКак-то раз в выходные я зашел за своего персонажа в world of warcraft. Делать было в игре нечего — все рейдовые боссы уже убиты, друзей для похода на арену нет, остается только выполнение квестов и неспешная добыча золота. Квесты я не очень люблю и свое свободное время в игре провожу обычно возле аукциона — с помощью специальных аддонов скупаю что подешевле и потом продаю подороже, выигрывая на разнице в цене. Соответственно в голову пришла мысль автоматизировать эти рутинные действия — прийти на аукцион, запустить аддон, покликать в нем на кнопки, дойти до почтового ящика, забрать вещи с почты, вернуться на аукцион и снова запустить аддон, и далее по кругу. В качестве инструмента для реализации был выбран Auto It, но потом оказалось что задача не такая тривиальная, как выглядит на первый взгляд, и пришлось подключать дополнительные инструменты. Сразу скажу, что никакие «грязные» методы вроде чтения памяти процесса или перехвата траффика я не использовал, только autoit для имитации кликов мышки и клавиатуры и чтения цветов пикселей с экрана. ПредупреждениеВсе описанные действия вы производите на свой страх и риск, правилами игры это запрещено и может привести к перманентному бану аккаунта.ПередвижениеСобственно, наверное самая интересная тема при разработке бота — это реализация его перемещения по миру. Сначала я думал что проблем с этим не возникнет — путь у нас простой: аукцион это здание, в котором на такой площадке стоят NPC, с которыми необходимо поговорить чтобы начать торговлю, а почтовый ящик стоит прямо на выходе из аукциона, немного слева. Персонаж поэтому все время ходит как бы буквой «Г», туда и обратно
Read more: Hhabrahabr.ru
0 comments:
Post a Comment