Создание бота для World of Tanks. Создание и описание

Доброго времени суток. Специально для читателей сайта WorldsofTank. ru. я постараюсь рассказать и подробно описать основные моменты создания простого бот-кликера с имитацией действий человека для игры World of Tanks .

Прежде чем начнем, давайте зададим себе вопрос, для чего нам, крутым ПВП-шникам, нужен такой бот. Игра World of Tanks это, безразмерный, неограниченный во времени PVP геймплей, который должен приносить удовлетворение от потраченного времени на эту игру. Боты пишутся для людей, у которых не так много свободного времени и, которые не могут тратить его на игру, просиживая часами за компьютером, но которые хотят достичь скорее более высокого уровня и открыть новые танки и характеристики. Если Вы относитесь к числу таких людей, то бот самое оно, что Вам нужно. Игра World of Tanks сначала прельщает, заставляя себя полюбить, потом затягивает в свои сети, но увы, односторонний PVP геймплей, дает о себе знать и в скором времени игра превращается не в удовольствие а в рутинную работу, при которой игрок вынужден повторять раз за разом одни и те же операции. Вот как раз в таких случаях различные разработчики делают ботов, для таких игр.

Игра World of Tanks для разработчиков различных ботов представляет собой наглядное пособие и служит отправной точкой для практических занятий по созданию ботов. Так как мы нацелились на создание простого бот-кликера, то нам, нужно сделать так, что бы бот выбирал танк, заходил в бой и выходил из него. И так приступим.

Как всем, кто играет в World of Tanks известно что в начале апреля вышел новый патч игры версии 0.7.2 и интерфейс игры по входу и выходу из игры, был немного изменен и дополнен. В Виду этого некоторые скрипты различных ботов пришлось переписывать заново.

Что нам потребуется для создания простого бот-кликера, который будет заходить в игру и по окончании боя, выходить из нее, меняя танки и продолжать участвовать в бою. Самым простым и оптимальным решением такой мини-проблемы, будет использование программы AutoIt – которая представляет собой открытый исходный код, для создания нужного вам бот-кликера. И с помощью описанных ниже операций мы постараемся сделать из болванки Буратино а другими словами сделаем умный кликер.

Самым первый действием, которое вы сделаете, скачаете по приведенной ссылке программу AutoIt и установите ее на свой компьютер, в любую удобную директорию. После запуска, программа, сама установить все необходимые модули и проведет их настройку.

Установив программу, запустите установленный SciTE Script Editor – учтите, что запускать его необходимо с правами администратора.

Открыв, его вы увидите рабочее окно, такое как в различных текстовых редакторах. Теперь нам нужно определиться, какие функции мы хотим воплотить в жизнь и использовать для прокачки наших танков в игре World of Tanks .

Самой первой функцией, которую мы должны сделать — это реагирование нашего бота на события, действия, которые будут происходить в игре: выбор танка, вступить и окончить бой.

Что бы воплотить данные функции нам потребуется две дополнительных программы их комплекта AutoIt :

    PixelGetColor – возвращает цвет точки по заданным координатам, работа по параметрам. MouseClick – тот самый кликер, указанной кнопкой мыши в определенном месте на экране монитора.

Так же для того, что бы определить координаты с помощью программы PixelGetColor мы воспользуемся AutoIt Window Info. которая идет как дополнение вместе с пакетом AutoIt .

Запустив программу в главном меню, выберите вкладку «Options » затем «Coord Mode » и затем «Client ». Данные действия необходимо выполнить для того, что бы все полученные координаты привязывались к левому верхнему углу внутри каждого окна программы.

Примечание. — По стандартным настройкам, в режиме «Screen », все полученые координаты определяются относительно левого, верхнего угла рабочего экрана Windows. Для того, что бы избежать конфликтов в работе нашей будущей программы, нам необходимо установить эти самые координаты относительно окна игрового клиента, для этого в Scite Script нужно прописать следующие параметры:

Opt(«MouseCoordMode», 2)

Opt(«PixelCoordMode», 2)

1024х768 – более удобное разрешение экрана и программа не будет глючить.

В итоге с помощью небольшого количества затраченного времени и приложенных усилий у нас получится программный код выглядящий примерно так:

Opt(«MouseCoordMode», 2)

Opt(«PixelCoordMode», 2)

WinActivate(«[TITLE:W. o.T. Client]»)

While WinActive(«[TITLE:W. o.T. Client]»)

If PixelGetColor(540, 110) == 0xEF3B2C Then MouseClick(«primary», 471, 57)

If PixelGetColor(213, 167) == 0xFEFBE0 Then MouseClick(«primary», 989, 185)

Полученные значения координат, у каждого будут разные.

Далее нам необходимо создать в программе AutoIt – SciTE Script Editor новый пустой файл и скопировать в него тот текст, который указан выше, после чего сохраняем его в файле. Имя файла Вы придумываете самостоятельно, я думаю, что первое свое творение вы назовете как-нибудь эпично там ApocalypsisBot (о_0) – самый грозный и опасный)).

«Tools» -> «Go» или F5. и тестим работу программы.

Вы заняты, запускайте программу и пусть она делает свое дело, ориентировочный доход до 500к игровых денег и 40к опыта за 10 часов. Для уточнения оптимального времени работы бота советую прочитать статью о правилах использования бота для World of Tanks. Вопрос о безопасности самой программы, отпадает сам по себе потому, что Вы ее сделали собственными руками и ничего она у вас для Вас воровать не будет).

В итоге у нас получился примитивный бот-неандерталец, но, как и самый первый МС-1 в последствии выросший в ИС-7, прогресс не стоит на месте и далее вы на примере первого созданного бота, сможете воплотить свою фантазию в более совершенных и сложных ваших творениях, для автоматизации игрового процессе в различных онлайн играх. Ну а я, в последующих статьях расскажу Вам, как сделать делать PVP бота, основанного на графической библиотеке OpenGL с визуальным, цветовым распознаванием противника и самонаведением.

Описанный метод создания бот-кликера, Вы можете использовать не только для World of Tanks но и для других клиентских и браузерных игр, в которых требуется повторение рутинных операций.