legro0303 |
Отправлено: 20 Июля, 2020 - 16:44:57
|
Наблюдатель
Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020
Репутация: 0
|
Проблема решена. По глупости не запускал Кибор от имени администратора.
Вариант товарища Zirael по нажатию с помощь кода, указанного ниже сработал
CODE:// навести курсор на игру, ждать 3 секунды
win w;
int x, y;
pause (3000);
getmouse(x, y);
w=getwindow(0, x, y);
key(56,1,0,w); // нажать цифру 8 |
|
|
legro0303 |
Отправлено: 21 Июля, 2020 - 18:43:21
|
Наблюдатель
Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020
Репутация: 0
|
Zireael пишет: Цитата: Как в визуальном редакторе указать в настройках нажатий клавиш окно, в котором их необходимо нажимать ?
Поставить галку 'Фоновый режим' и выбрать нужное из списке.
Где-то было видео по визуальному редактору, в котором объяснено про привязку к окну.
Выбрал фоновый режим+привязку к окну, но действия не воспроизводятся(нет нажатий клавиш и т.д.)
В видеоуроках привязка к контроллу/указателю про окно что-то ничего не нашел. Подскажите, всё ли я правильно сделал ?
Нажмите для увеличения
Нажмите для увеличения
|
|
|
legro0303 |
Отправлено: 21 Июля, 2020 - 21:28:20
|
Наблюдатель
Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020
Репутация: 0
|
Kibor пишет: legro0303 пишет: Выбрал фоновый режим+привязку к окну, но действия не воспроизводятся(нет нажатий клавиш и т.д.)
В видеоуроках привязка к контроллу/указателю про окно что-то ничего не нашел. Подскажите, всё ли я правильно сделал ?
А привязать нажатия клавиш к окну в фоновом режиме как то можно ?Если да, то как программа "поймет" какое окно использовать, если ей нельзя указать window ("Teoc", "GAME", -1)?
Что то я совсем запутался. Я попробовал через "Быстрое создание блок-схем" записать несколько нажатий клавиш перед этим окно с скриптом записи поместил прямо над окном игры и ничего не получилось(плюс судя по видео-уроку это будет работать не в фоновом режиме, а мне нужно в фоновом)
Проблема вот в чем:
Код с распознаванием текста на экране с такого
CODE:readtext(NUM | MARK, #text_KIB, 8, -1, -1, -1, -1, -1, -1, 0, -1, 3, 62, 227, 81, -1);
изменяется на такой(в качестве последнего параметра переменная, необходимая для захвата окна я так понимаю) из за чего преобразование текста работает не правильно
CODE:readtext(NUM | MARK, #text_KIB, 8, -1, -1, -1, -1, -1, -1, 0, -1, 1, 65, 234, 79, w_KIB); (Отредактировано автором: 21 Июля, 2020 - 21:39:41) |
|
|
Zireael |
Отправлено: 22 Июля, 2020 - 01:23:16
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Выбрал фоновый режим
Не ставьте, sendkey же не работает.
Цитата: то как программа "поймет" какое окно использовать, если ей нельзя указать window ("Teoc", "GAME", -1)?
Выбрать 'Привязать к Указателю'. В свойствах блока Старт, в edit написать window("Teoc", "GAME", -1). Как на скрине.
Цитата: из за чего преобразование текста работает не правильно
Если делается привязка к окну, то координаты надо указывать оконные, а не экранные.(Отредактировано автором: 22 Июля, 2020 - 01:24:58) |
|
|
legro0303 |
Отправлено: 22 Июля, 2020 - 10:12:25
|
Наблюдатель
Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020
Репутация: 0
|
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] |
|
|
|