Сегодня 19 июня 2021 года 7 часов 5 минут, суббота. Жарко и душно.
В предыдущих статьях:
14.06.2021 - 16.06.2021. Автокликер и Трофейная рыбалка 2: Начало.
16.06.2021. Автокликер и Трофейная рыбалка 2: ловим на 3 удочки.
мы ловили только на один вид поклевки -топящую.
Чтобы определять множество поклевок, необходимо сравнивать контрольную зону с некоторым количеством картинок.
На форуме
я нашел конструкцию для множества картинок
FOR($count = 1, $count < 11)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT(STRCUT("00", 0, 3 - STRLEN($count)), $count, ".bmp"), -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_CYC
IF_PICTURE_IN позволяет обращаться только к одному файлу с картинкой. Как я понял в цикле формируется обращение к различным контрольным файлам.
STRCONCAT сливает в кучу строковые значения. Как я потом понял это такая особенность работы со строками.
Изменил код, приведенный в конце статьи
16.06.2021. Автокликер и Трофейная рыбалка 2: ловим на 3 удочки.
В цикл перед каждой уточкой вставил
//вставляем много картинок
FOR($count = 1, $count<$a+1)
//формируем префикс вида поклевки.
IF($count=1)
$str= "top_"
END_IF
IF($count=2)
$str= "bult_"
END_IF
IF($count=3)
$str= "lezh_"
END_IF
FOR($count2 = 1, $count2<$b+1)
//формируем окончание файла
$str2 = STRCONCAT($str,"00",$count2,".bmp")
GETSCREEN(564,679,641,755)
COLORMODE(8)
//первая уда
IF_PICTURE_IN (564,679,641,755, $str2, -1, 100)
LOGWRITE ($str2)
Дело, как говорится, осталось за малым. Наловить контрольных картинок.
Вручную ловить поклевки - дело утомительное. Кроме того, я заметил, что картинки поклевок зависят от типа уды (дальность заброса), градуса заброса (на локациях бывают солнечные и затененные площади заброса). Так что ловить поклевки, отличающиеся от топящей надо на определенный тип уды, локации и градуса.
В предыдущую ночь запустил скрипт с записью лога имен сработавших картинок. Как я понял, лог имеет ограниченное количество записей, так что новых картинок я не отловил, но 30 травы таки наловил. Доработал скрипт
//топящие не пишем
IF($count>1)
LOGWRITE ($str2)
END_IF
Теперь надо автоматизировать фиксацию поклевок и запись скрина
Для сбора поклевок написал скрипт, который делает скриншот каждые 5 сек.:
$str= "ScrShot_"
FOR($count = 1, $count<101)
$str2 = STRCONCAT($str,$count,".bmp")
GETSCREEN // Clickermann помещает в свой графический буфер скриншот
COLORMODE(8) // Применяет к этому скриншоту режим COLORMODE
SCREENSHOTFIX(0,0, $_xmax,$_ymax, $str2)
WAIT(5)
END_CYC
Записанные файлы надо отсматривать и выявлять нужные с поклевками. Нас интересуют кладущие и "бултыхающие".
21 июня 2021 года 19 часов 28 минут, понедельник. За бортом 27 градусов по Цельсию.
Вчера настроил по 9 картинок на каждую поклевку и запустил рыбалку на ночь.
9 картинок, все-таки много. Большинство топящих поклевок не успевает сработать. Новых сработавших картинок не наловил, да и травы поймал всего 10.
Думаю, оптимально по три картинки на каждую поклевку. Словить поклевки, отличные от топящих довольно сложно - слишком большая вариабельность. Ну попробую еще.
22 июня 2021 года 7 часов 37 минут. 25 градусов
Новых поклевок так и не словил, зато наловил более 30 травы. Похоже пора кончать с другими поклевками. Отрицательный результат - тоже результат. Будем довольствоваться топящими поклевками.
Канал "Дневник программиста 1С"