Как запустить:
1. Устанавливаем Python 3.6 или выше
2. Ставим и настраиваем Pycharm Comminity Edition (
)
3. Скачиваем архив, распаковываем и открываем в Pycharme папку fishbot
4. В Pycharme открываем консоль (Alt+F12). Текущий путь в консоли должен указывать на текущую папку fisbot
4. Обновляем pip (установщик пакетов) командой в консоли
python -m pip install --upgrade pip
5. Устанавливаем пакеты командой
pip install -r requirements.txt
6.
Важно Инструментом ножницы делаем картинку своей удочки с экрана игры и заменяем файл POLE.png
6. Выбираем файл fish.py и запускаем (shift+F10 или зеленая кнопка play), переключаемся на игру и достаем удочку
Выход на пробел
Как работает бот:
В папке бота есть шаблоны основных картинок которые ищутся на скринах экрана.
При поклевках распознает натяжение и делает большую паузу если сильное натяжение
Перед починкой чередует шаг назад/шаг вперед чтобы не выкидывал по афк
Можно подставить свои картинки если не работает на разрешении 1920*1080.
Основные настройки в начале файла fish.py
Код:
FULL_SIZE = {"left": 0, "top": 0, "width": 1920, "height": 1080} # Разрешение монитора
BEFORE_START = 5 # Задержка перед началом старта ловли чтобы спокойно переключится и достать удочку
ENABLE_LOGGING = True # логирование в файл и в консоль
SAVE_SCREEN = False # сохранение скрина для отладки
REPAIR_INTERVAL = 20 # через какое количестов забросов чинить удочку
LONG_CAST = 2 # Дальний заброс
SHORT_CAST = 0.2 # ближний заброс
CAST_TIME = SHORT_CAST # время на заброс удочки
FLAY_POPLAVOK = 1 # время на полет поплавка
CAST_INTERVAL = 1.9 # время на удержание ЛКМ при вываживании рыбы
WAIT_IF_ALARM = 1.1 # Ждать если сильно натянута леска
WAIT_IF_NO_ALARM = 0.3 # Ждать если не натянута леска
THRESHOLD = 0.5 # основной уровень для распознавания
POPLAVOK_THRESHOLD = 0.75 # Уровень распознавания натяжения лески
Протестировать находится ли картинка на скрине можно с помощью скрипта test_cv.py меняя параметры:
img_name = 'ALERT2' #имя файла картинки
screen_name = 'tst5' #имя файла скриншота
Меняя threshold = 0.5 можно найти то значение при котором определяется картинка