Zireael пишет:
Цитата:
Выбрал фоновый режим
Не ставьте, sendkey же не работает.
Цитата:
то как программа "поймет" какое окно использовать, если ей нельзя указать window ("Teoc", "GAME", -1)?
Выбрать 'Привязать к Указателю'. В свойствах блока Старт, в edit написать window("Teoc", "GAME", -1). Как на скрине.
Цитата:
из за чего преобразование текста работает не правильно
Если делается привязка к окну, то координаты надо указывать оконные, а не экранные.
Спасибо за ответ, не совсем понял что нужно сделать, чтобы указать экранные координаты, а не оконные. При обучении распознавания текста выбрал "Экран"(Скриншот 1), научил распознавать цифры (Скриншот 2), загрузил распознавание в блок в визуальном редакторе (Скриншот 3), описал указатель и выбрал соответствующий пункт в привязке (Скриншот 4), зашел в быстрое создание блок-схем чтобы записать нажатие клавиш (Скриншот 5), получил нажатие клавиши (Скриншот 6). в итоге получаю не правильные координаты (Скриншот 7). Подскажите, на каком этапе я ошибся ?
CODE:string text_KIB;
int color_text_KIB_6[2];
color_text_KIB_6[0]=16777215; color_text_KIB_6[1]=0;
loadsymbolbase("F:\Games\BOT\text\Новая база3.sib");
int size_key_char_KIB=-1;
double X,Y,Z
;
string result[3];
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int sx_KIB, sy_KIB;
start_();
readtext(NUM | MARK, #text_KIB, 8, -1, -1, -1, 16, #color_text_KIB_6[0], 1, 0, -1, sx_KIB+1, sy_KIB+63, sx_KIB+233, sy_KIB+80, -1);
regexreplace(-1, #text_KIB, text_KIB, "-", "");
if (regexsearch(sizearray(result), #result[0], text_KIB, "\d+(\.\d+)*")>0) goto m_KIB4;
else goto m_KIB5;
m_KIB4: X = formatsn(result[0]);
Y = formatsn(result[1]);
Z = formatsn(result[2]);
if (X>=999.523) goto m_KIB7;
m_KIB5: messagebox(X);messagebox("ошибка 1");
goto exit_KIB;
m_KIB7: key_(56, 1, "", 0, 0, 500);
exit_KIB:;
function start_()
{
pause(1000);
w_KIB=window("Teoc", "GAME", -1);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
sx_KIB=w_KIB.leftclient; sy_KIB=w_KIB.topclient;
}
function key_(int k, int m, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){key(key_char_KIB[n]); sleep(pc);}
}
else
{
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
}
pause(p2);
}
Скриншот 1
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]
Скриншот 2
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]
Скриншот 3
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]
Скриншот 4
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]
Скриншот 5
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]
Скриншот 6
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]
Скриншот 7
[img]
(для просмотра ссылки Вам необходимо авторизоваться) /img]