Что-то мне много мыслей в голу лезет и не могу остановится на не доделанном. Вообщем допилил систему подсечки работает хоть и туповато но зато подсекает рыбу а не коряги, так как сделал проверку по 2 скриншотам - Когда натягивается леска бот делает подсечку и проверяет значек скорости катушки если он изменился то он переходит к циклу вываживания но тут загвоздка, как я не пытался, что я только не делал он у меня не хочет этого делать, в чем причина не пойму.
Логи:
8:41:13 Забросили
8:41:55 Клюет
8:41:55 Тянем
До этих пор работает нормально дальше не чекает картинки и делает 2 процесса не в свое время.
8:41:56 Вытащили
8:42:14 Забрали рыбу
Знающие посмотрите где мои ошибки.
// Заброс удилища
wait(1)
keyDown(32)
waitms(2060) // 2060
keyUp(32)
LOGWRITE ("Забросили")
wait (5)
// Индикатор натяжание лески, подтягиваем пока не натянется леска
$var=0
WHILE($var < 20) // Колличество подтяжек
INC($var,1)
//GETSCREEN
//COLORMODE(7, 1423,824,1470,854)
//IF_PICTURE_IN (1423,824,1470,854, "pr.bmp", -1, 90) // Проверяем не дотянул-ли снасть до берега без поклевки.
//waitms(1)
GETSCREEN
COLORMODE(7, 1505,689,1610,980)
IF_PICTURE_IN (1562,686,1601,719, "nekl2.bmp", -1, 90) //Индикатор натяжание лески, подтягиваем пока не натянется леска
KEYDOWN(#SPACE)
wait (1)
KEYUP(#SPACE)
wait (2)
Else
// натянулась - подсекаем зажимая энтер на 0.7 секунд
KEYDOWN(#enter)
WAITMS(700)
KEYUP(#enter)
GETSCREEN
COLORMODE(7, 1505,689,1610,980)
IF_PICTURE_IN (1543,946,1576,982, "nekl.bmp", -1, 90) //Проверяем подсеклас-ли рыба, если да переходим к вываживанию
Else
LOGWRITE ("Клюет")
LOGWRITE ("Тянем")
$var=777
END_IF
END_IF
END_CYC
IF($var=777) // Если верно Тянем
$var=0
WHILE($var < 10) // Колличество подтяжек
INC($var,2)
KEYDOWN(#space)
WAITMS(68)
KEYDOWN(#enter)
WAITMS(32)
KEYUP(#enter)
WAITMS(32)
KEYUP(#space)
GETSCREEN
COLORMODE(7, 1423,824,1470,854)
IF_PICTURE_IN (1423,824,1470,854, "pr.bmp", -1, 90) // Проверяем не вытянулась-ли рыба
Else
END_IF
END_IF
END_CYC
LOGWRITE ("Вытащили")
// Нажимаем на кнопку забрать.
$c = 0
WHILE ($c = 0)
wait (2)
GETSCREEN
COLORMODE(7, 600,935,629,965)
IF_PICTURE_IN (600,935,629,965, "zabr.bmp", -1, 90)
$c = 1
waitms (10)
LCLICK(908,911)
wait (8)
END_IF
END_CYC
LOGWRITE ("Забрали рыбу")
Функции которые хочу реализовать:
1) Подтяжку не определенное количество раз (т.к. он бывает делает +- 2 раза прокрутки) а с проверкой пикселей, до того момента пока не дотянет до берега, какие пикселя задействовать знаю но в коде реализовать не могу.
2) Если возможно постоянную проверку на натяжение лески так-как пока работает цикл подтяжки бывает садится рыба и программа не успевает сделать скриншот в нужный промежуток времени.
3)Проверку содка после каждого вылова рыбы, и промотки времени в случаи его заполнения.
4) Сделать не общее количество подтяжек и проверки скриншотов, а допустим он 10 раз подтянул проверил по скриншоту если не вытянул еще 10 раз и т.д. пока не дотянет до берега.
Архив с наработками:
https://yadi.sk/d/owj1MXinmWpAw