Создан без программирования в Визуальном редакторе Кибор.
Бот ожидает появление стрелок, распознает их и нажимает.
Используется распознавание текста.
Ссылка на схему визуального редактора бота
базу надо обучить на 5 букв
л в п н т
т - обучить на простую точку с одного пикселя
В блоках findheapcolor и readtext находятся зоны сканирования
В блоках findheapcolor
381 455 543 468
а в readtext
381+x[0]-10 455 381+x[k-1]+30 468
Некоторые моменты:
Ищется 2 типа кнопок, светлосиняя и темносиняя.
Первые ищет светлые и записывает в массив x y начиная с 0 индекса.
Количество найденных кнопок записывается в k
Затем ищет темные и записывает их в массив x y начиная с индеса k, то есть дописывая.
Затем координаты x сортируются.
После сортировки в x[0] получается самая левая кнопка, а в x[k-1] самая правая.
Эта зона используется потом для распознавания текста.
При обучение базы был обучен дополнительный символ - точка и назван буквой "т"
Сделано это для того, что бы при попытке распознать шум бот понимал что это не стрелки, так как шум быстрее распознается как точка.
Проверка на корректность распознавания заключается в условии:
CODE:
if (sum_symbol_KIB==0 || regexsearch(1, #t, text_KIB, "т")==1 || symbolcorrect(0)<0.2)
То есть, если распознано более 0 символов и в распознанных символах отсутствует шумовая точка (именно стрелки распознал) и оценка корректности первого распознанного символа более 0.2, то большая доля вероятности что на экране действительно стрелки, а не цветные пятна.
Что бы бот нажимал надо расскоментировать код
CODE:
regexreplace(-1, #text_KIB, text_KIB, " ", "");
char Ch[999];
strcpy(#Ch[0], text_KIB);
int aW=size(#Ch[0]);
for (int i=0; i<aW; i++)
{
if (Ch[i]=='ë')key(37);
if (Ch[i]=='â')key(38);
if (Ch[i]=='ï')key(39);
if (Ch[i]=='í')key(40);
sleep(200);//Пауза между нажатиями
}
char Ch[999];
strcpy(#Ch[0], text_KIB);
int aW=size(#Ch[0]);
for (int i=0; i<aW; i++)
{
if (Ch[i]=='ë')key(37);
if (Ch[i]=='â')key(38);
if (Ch[i]=='ï')key(39);
if (Ch[i]=='í')key(40);
sleep(200);//Пауза между нажатиями
}
И закомментировать
CODE:
messagebox (text_KIB);
Блоки мыши надо убрать, вместо них провести прямые связи.