Fernandos333

На Пикабу
99 рейтинг 5 подписчиков 0 подписок 1 пост 0 в горячем
7

Пишем фарм-бота для игры r2 online с помощью Kibor[Часть 1]

Добрый день! Сидя за кружкой чая в моей голове появилась идея - а почему бы не написать полноценного бота для r2 online? Который будет поднимать лут, восстанавливать здоровье по мере необходимости, улетать в город при опасности. Спустя несколько десятков минут у меня получилось написать некоторый функционал, которым я хочу с вами поделиться!

Итак, для начала, как вы, наверное, уже знаете, для создания бота я использую Kibor. Данная программа представляет из себя программируемый кликер с кучей фенечек и сладостей. Ссылку на нее я оставлю в конце поста. Приступим!

Открываем программу и видим следующее:

В верхнем меню заходим в Инструменты -> Визуальный редактор кода.

Конечный результат выглядит вот так:

Переходы между блоками соединяем с помощью "Переход", как и в случае переходов при проверке условия: условие выполняется (Переход), не выполняется (Переход при неправда).

Итак, пробежимся с самого начала:

1)В правом меню нажимаем наблок "Старт" и переносим его на рабочее поле - С него начинается любой скрипт, так же в нем объявляются начальные переменные, нужные для дальнейшего функционирования скрипта. В свойствах блока объявляем переменные.

Далее вы поймете, для чего они нужны.

2) Переносим "Блок кода" и в свойствах блока для получения параметров экрана вписываем функцию getdisplay(color, xw, yw).

3) Для поиска монстров будем использовать функцию динамического поиска finddynamic, ссылку на справку по функциям так же оставлю в конце поста. Перетаскиваем блок "Поиск изображения", в свойствах параметру "выбор функции анализа..." = finddynamic. Данную функцию используем 2 раза: 1 раз - для получения исходного изображения экрана,

а 2 раз-для сравнения динамичных объектов с исходным изображением.

Между ними ставим задержку в 100-200мс и присваиваем переменной n = 0. Для чего она - узнаем позже. Количество найденных динамических объектов (монстров) сохраняется в переменную k, а их координаты - в массивы x и y.

4) Далее ставим логический блок с условием if(n < k). n - Переменная-счетчик, то есть, если n=0, то сначала берутся координаты из массива x[0] и у[0], n=1 -> x[1] и y[1] и так далее, пока счетчик не станет равен количеству найденных объектов т.е пока не переберем всех найденных мобов.

5) Переносим блок "Мышь клик". В свойствах блока указываем параметры как на скрине. При выполнении условия из предыдущего логического блока мы перемещаем мышь по найденным координатам монстра x[n] и y[n] со смещением -5/+5px.

6) Проверку, моб ли это или нет, будем осуществлять по изображению здоровья над мобом. Открываем кибор, вкладка "Графика". В игре нажимаем CTRL+SHIFT+S. В Кибор получаем вот такую картину:

Выбираем инструмент "Выделение"(Обведен красным слева) и выделяем один кубик от всего здоровья персонажа. ПКМ по выделенной области -> сохранить выделенное. Перетаскиваем блок "Поиск изображения", в первом параметре выбираем findimage. В параметре "Путь к файлу" выбираем ранее сохраненную картинку с квадратиком от хп моба. Ставим галку "Искать по неполному совпадению" и выставляем значение от 50 до 100. Остальные переменные выставляем точно так же(они были ранее объявлены в блоке старт). Теперь, при наведении мыши скрипт проверит, появилась ли строчка хп. Если да - это моб, нет - промах.


7) Осталось совсем немного! Теперь будем проверять, обнаружена ли полоска здоровья моба или нет. Перетаскиваем 2 блока "Блок кода" для проверки истинности/ложности условия. Если изображение найдено(Истина, соединяем блоком "Переход"), то напишем на монстре "Моб" с помощью функции textout и сделаем задержку в 1000мс, чтобы текст сразу не пропал:

А если не найдено(ложь) - прибавим к переменной n+1 (n++) и выберем следующий объект для проверки:

В завершении, соединяем блок, выводящий текст "МОБ" с логическим блоком для проверки остальных объектов.

Нажимаем справа-снизу кнопку "Получить код" -> "Скопировать и закрыть редактор". Вставляем код в поле и нажимаем на кнопку:

Демонстрация работоспособности:

Со временем  я буду обновлять функционал скрипта, добавляя новые фишки. Как и сказал, ссылки на ресурсы:
Кибор - https://kibor-bot.com/
Список функций Кибор с подробным описанием - https://kibor-bot.com/forum/topic.php?forum=14&topic=13

Показать полностью 11
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества