вторник, 11 сентября 2012 г.

Небеса: онлайн игра от русских создателей.Разработка бота. Часть 3

Итак продолжим!



Для начала я хочу рассказать о том, что для создания бота(скрипта) необходимо знать о шапке всех скриптов:


Подключаем библиотеки:

; Бот для игры Небеса - офф.
#include <Constants.au3>
#include <PixelSearchEx.au3>
#include <ImageSearch.au3>




Определяем горячие клавиши:

HotKeySet('{F1}','_Test')   ; Запуск функции _Test по нажатию клавиши F1


Дальше формирует главный цикл скрипта:

while 1    ; бесконечный цикл

Wend

Описание функций:


Func _Test()
Exit ; выходим из скрипта, полная остановка работы программы.
EndFunc

Если мы напишем этот код и запустим его, то наш скрипт будет выполняться бесконечно, пока не нажмем клавишу f1 на клавиатуре или же не выключим правой кнопкой мыши в трее.

В дальнейшем нам необходимо определить координаты необходимых нам картинок в игре, окне браузера и описать их в скрипте. Также необходимо их определить как общедоступные для всех процедур и функций скрипта(программы, бота, как нравится).

Итак, определяем глобальные переменные:

Global $coord ; определили глобальную переменную $coord с неизвестным типом данных.

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

Делается это с помощью функции PixelSearchEx или же ImageSearch.

Пример:

$coord = PixelSearchEx($i,$j,$h,$k,0xF33526,2) ; ищем 

Здесь мы ищем цвет пикселя в заданных координатах с шагом 2, т.е. разброс цвета пикселя в 2 значения. В итоге мы получим переменную $coord типом массива с 2 значениями, координаты по х и координаты по у.

Далее мы можем переместить мышку в данные координаты и допустим, щелкнуть в этих координатах хоть левой, хоть правой кнопкой мыши.

Делается это следующей командой:


MouseMove($coord[0],$coord[1]) ; перемещаем курсор мыши в заданные координаты
MouseClick("left",$coord[0],$coord[1]) ; щелкаем левой кнопкой мыши по заданным координатам.

Поиск по координатам и перемещение и кликанье мыши стоит производить или в основном теле скрипта(между while 1 и wend) или же в функциях, но не забываем про использование глобальных переменных, их может быть больше чем 1.

Итак мы научились создавать тело скрипта и уяснили какие основные команды нам понадобятся для создание нашего бота. В следующей части мы приступим к заполнению скрипта, а это:
- определение координат острова, чертенка.
- добавление в код программы констант.
- сохранение необходимых картинок из игры в папку со скриптом.
- научимся пользоваться программой Autoit Window Info.



1 комментарий: