Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Очень часто в играх приходится выполнять рутинные однообразные действия, которые хотелось бы избежать или минимизировать. Для некоторых задач подходят кликеры, записав сценарий для которых можно запустить воспроизведение по кругу, однако такая автоматизация отличается большой не надежностью и ее возможно применить в очень ограниченных случаях.
В случае не возможности простого повторения на помощь может прийти один из множества программируемых кликеров, которые в своем арсенале имеют функции анализа экрана. С помощью встроенного скриптового языка в этих программах можно запрограммировать логику действий в зависимости от того что происходит на экране. В этом есть один недостаток - надо знать язык программирования который используется в программе.
В данной статье я хочу рассказать как можно создавать полноценных ботов за минимальное количество времени без освоения языка используемого в нужной программе.
Использовать будем программу Кибор, в котором присутствует визуальный редактор кода. В визуальном редакторе Кибор схема данного бота будет выглядеть таким образом. На ее составление ушло не более 10 минут с подготовкой всех изображений.
Нажмите для увеличения
Для примера будем автоматизировать процесс рыбной ловли в игре На рыбалку. Процесс рыбалки выглядит следующим образом:
1) Нажимаем на кнопку Забросить и щелкаем по ней левой кнопкой мыши.
Нажмите для увеличения
2) Ожидаем появление кнопки Тянуть. При появление кнопки зажимаем на ней левую кнопку мыши. Появляется полоса обозначающая натяжение лески. Нажимая и отпуская левую кнопку мыши следим что бы полоса не перевалила за правый или левый край.
Нажмите для увеличения
3) Когда рыба вытащена закрываем табличку и переходим к первому этапу.
Для данных действий бот должен уметь:
Распознать кнопку Забросить и нажать на нее.
Распознать кнопку Тянуть и зажать на ней левую кнопку мыши.
Распознать по полосе когда надо кратковременно отпускать левую кнопку мыши.
Распознать появление таблички, что бы закрыть ее и начать лов сначала.
Овальный блок это точка старта. Синие блоки отвечают за анализ экрана, зеленые на манипулирование мышью.
Черные линии - линии переходов по мере выполнения программы. Красные линии - переходы при не нахождение указанного изображения в блоке анализа экрана.
На данном скриншоте показаны какие части изображений используются в каких блоках.
Нажмите для увеличения
Бот строится по порядку действий игрока.
Первым создается блок Старт. В нем объявляются переменные в которые мы в дальнейшем запомним координаты кнопок.
Нажмите для увеличения
Затем идет блок поиска кнопки Забросить и клик по ней.
Нажмите для увеличения
После этого ожидается появление кнопки Тянуть. В настройках свойств этого блока даем время ожидания появления этой кнопки (первый параметр). Пока кнопка не появится программа будет крутиться в этом блоке указанное время. как только кнопка появится управление перейдет дальше. При появление кнопки ее координаты запишутся в переменные (x y) и мышь зажмет левую кнопку на ней.
Нажмите для увеличения
После этого ожидаем появление полосы. Точнее указанного нами ее фрагмента, при появление которого надо кратковременно отпустить левую кнопку мыши.
Нажмите для увеличения
Одновременно с полосой сканируем появление таблички о пойманной рыбе. Эти два изображения сканируются по очереди, пока одно из них не будет найдено. Координаты найденного крестика закрытия таблички запишутся в переменные (x1 y1).
Нажмите для увеличения
Как только появится указанный участок полосы при появление которого надо кратковременно отпустить левую кнопку мыши управление переходит в блоки управления мышью. Действия мыши происходит по координатам (x y) кнопки Тянуть. Затем управление опять переходит на сканирование полосы.
Нажмите для увеличения
Нажмите для увеличения
Когда рыба поймана появится табличка с крестиком для закрытия. В этом случае управление перейдет в нижние блоки управления мыши. В них мышь отпустит левую кнопку на кнопке Тянуть, переместится на крестик закрытия таблички (x1 y1), закроет табличку и управление перейдет в начало программы.
Нажмите для увеличения
Нажмите для увеличения
|