Zireael пишет:
Для начала разберитесь с распознаванием текста, чтобы корректно распознавались цифры. Остальное потом, иначе просто запутаетесь в коде.
Мне осталось последнее действие, навести мышью на ответ и выполнить левый клик по нему, не могу допереть до этого. Остальное я все уже прописал, она считывает пример, считает его. После чего смотрит нижнюю строку, также распознает ее и переводит в текстовый формат.
На messagebox не обращайте внимания, пока так для себя.
CODE:string Text;
string answer;
int color_text_KIB_6[2];
color_text_KIB_6[0]=16579836; color_text_KIB_6[1]=16575447;
int color_text_KIB_5[1];
color_text_KIB_5[0]=16579836;
int color_fon_KIB_6[2];
color_fon_KIB_6[0]=2235931; color_fon_KIB_6[1]=15502097;
int color_fon_KIB_5[1];
color_fon_KIB_5[0]=2235931;
loadsymbolbase("C:\Users\User\Desktop\Kibor\BOTS\bCif.sib");
loadsymbolbase("C:\Users\User\Desktop\Kibor\BOTS\Cifres.sib");
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, yKIB;
start();
messagebox ("next blok");
goto m_KIB1;
m_KIB9: capcha:;
goto m_KIB7;
m_KIB3: ans:;
readtext(NUM | MARK, #answer, 8, 1, -1, -1, -1, #color_text_KIB_6[0], #color_fon_KIB_6[0], 126, -1, 676, 421, 924, 433, w_KIB);
messagebox(answer);
goto exit_KIB;
m_KIB6: int summa;
string num[2];
if(regexsearch(2, #num[0], Text, "\d+") == 2)
{
summa=formatsn(num[0])+formatsn(num[1]);
messagebox ("resul: "+format(summa));
}
goto ans;
goto exit_KIB;
m_KIB7: readtext(NUM | MARK, #Text, 8, 1, -1, -1, -1, #color_text_KIB_5[0], #color_fon_KIB_5[0], 37, -1, 752, 384, 813, 405, w_KIB);
goto m_KIB6;
m_KIB1: goto capcha;
exitKIB:;
function start()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
(Добавление)
Не много сократил код, в визуальном редакторе все в отдельные функции проставил.
function select_answer() - эта функция будет наведение мышки на правильный ответ по координате
CODE:string Text, answer;
int color_text_KIB_6[2];
color_text_KIB_6[0]=16579836; color_text_KIB_6[1]=16575447;
int color_text_KIB_5[2];
color_text_KIB_5[0]=16579836; color_text_KIB_5[1]=16575447;
int color_fon_KIB_6[2];
color_fon_KIB_6[0]=2235931; color_fon_KIB_6[1]=15502097;
int color_fon_KIB_5[2];
color_fon_KIB_5[0]=2235931; color_fon_KIB_5[1]=15502097;
loadsymbolbase("C:\Users\User\Desktop\Kibor\BOTS\Cifres.sib");
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, yKIB;
start();
read_capcha();
read_answer();
selectanswer();
function start()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function read_capcha()
{
readtext(NUM | MARK, #Text, 8, 1, -1, -1, -1, #color_text_KIB_5[0], #color_fon_KIB_5[0], 126, -1, 748, 383, 813, 408, w_KIB);
int summa;
string num[2];
if(regexsearch(2, #num[0], Text, "\d+") == 2)
{
summa=formatsn(num[0])+formatsn(num[1]);
messagebox ("resul: "+format(summa));
}
}
function read_answer()
{
loadsymbolbase("C:\Users\User\Desktop\Kibor\BOTS\bCif.sib");
for (int n=0; n<5; n++)
{
readtext(NUM | MARK, #answer[n][0], 8, 1, -1, -1, -1, #color_text_KIB_6[0], #color_fon_KIB_6[0], 126, -1, 679, 421, 919, 434, w_KIB);
}
}
function select_answer()
{