Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Помогите "доделать" код!

Страниц (1): [1]
 

1. temphard - 09 Декабря, 2014 - 03:16:16 - перейти к сообщению
Здравствуйте.
Помогите "доделать" код.
Действие происходит в браузере.
Необходимо, чтобы нажатие мыши происходило по определенной картинке а не координатам.
Если картинка отсутствует, программа должна находиться в режиме ожидания.
Если ожидание превышает 60 секунд, работа программы должна останавливаться.
Название файлов *.bmp укажите условно. В последствии я заменю их на реальные.

Полагаю, что к данному коду нужно в определенных местах дописать несколько команд, но для меня это пока сложно.
Заранее благодарен за помощь.
P.S. Возможно вознаграждение.

Пример кода:
CODE:
for (int n=0; n<10; n++)
{
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (50);
key (END);
pause (50);
keydown (SHIFT);
pause (50);
key (HOME);
pause (50);
keyup (SHIFT);
pause (50);
keydown (CONTROL);
pause (50);
key ('C');
pause (50);
keyup (CONTROL);
pause (100);
activate(window ("01 - Mozilla Firefox", "MozillaWindowClass", -1));
mouse (LEFT, 381, 414);
pause (100);
keydown (CONTROL);
pause (50);
key ('V');
pause (50);
keyup (CONTROL);
pause (100);
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (100);
key (UP);
pause (50);
key (END);
pause (50);
keydown (SHIFT);
pause (50);
key (UP);
pause (50);
key (HOME);
pause (50);
keyup (SHIFT);
pause (50);
keydown (CONTROL);
pause (50);
key ('C');
pause (50);
keyup (CONTROL);
pause (100);
activate(window ("01 - Mozilla Firefox", "MozillaWindowClass", -1));
pause (100);
mouse (LEFT, 363, 660);
pause (2000);
keydown (CONTROL);
pause (50);
key ('V');
pause (50);
keyup (CONTROL);
pause (100);
mouse (LEFT, 703, 832);
pause (100);
mouse (LEFT, 1719, 284);
pause (5000);
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (100);
key (UP);
pause (50);
key (UP);
pause (100);
key (UP);
pause (100);
}
2. Kibor - 09 Декабря, 2014 - 04:25:23 - перейти к сообщению
 Цитата:
int Image_0[26][26];loadimage (#Image_0[0][0], "C:\Image_0.bmp");
int PosX, PosY;

int t=gettime () ;
s: if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)
{
mouse(LEFT, PosX, PosY);
pause(1000);
}
if (gettime ()-t < 60000){sleep(50); goto s;}
3. temphard - 08 Февраля, 2016 - 06:18:58 - перейти к сообщению
 Kibor пишет:
 Цитата:
int Image_0[26][26];loadimage (#Image_0[0][0], "C:\Image_0.bmp"Подмигивание;
int PosX, PosY;

int t=gettime () ;
s: if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)
{
mouse(LEFT, PosX, PosY);
pause(1000);
}
if (gettime ()-t < 60000){sleep(50); goto s;}


Спасибо за помощь.
Вот как мне удалось реализовать задачу:

CODE:
for (int n=0; n<10; n++)
{
pause (500);
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (100);
keydown(SHIFT);
pause (100);
key(END);
pause (100);
keyup(SHIFT);
pause (100);
keydown(CONTROL);
pause (100);
key('x');
pause (100);
keyup(CONTROL);
pause (100);
key(DELETE);
pause (100);
mouse(LEFT, 475, 684);
pause (100);
mouse(LEFT, 475, 684);
pause (100);
keydown(CONTROL);
pause (100);
key('a');
key('v');
pause (100);
keyup(CONTROL);
pause (6000);
int Image_0[75][24];loadimage (#Image_0[0][0], "C:\Image_0.bmp");
int PosX_0[512];int PosY_0[512];findimage(-1, #Image_0[0][0], 16777215, #PosX_0[0], #PosY_0[0], 1, 1, 1029, 1003, -1);
{
mouse(LEFT, PosX_0[0]+40, PosY_0[0]+10);
}
pause (5000);
}


Скрипт работает нормально, но никак не могу реализовать сканирование или поиск заданной картинки, и в случае ее отсутствия, чтобы скрипт приостановил свою работу. Конечно было бы идеально, чтобы в случает отсутствия картинки скрипт приостановился бы в самом начале, не производя действия с файлом: 01.txt.
Примерно понимаю, что каким-то образом необходимо использовать "if", "goto" "sleep" и что-то подобное, но не получается...
Подскажите пожалуйста.
4. temphard - 08 Февраля, 2016 - 14:21:55 - перейти к сообщению
Все, нашел решение, пользуясь ресурсами форума.
Большое спасибо.
Вопрос закрыт!

Powered by ExBB FM 1.0 Final