Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (7): « 1 [2] 3 4 5 6 7 »   

> Без описания
777J0KeR777
Отправлено: 11 Мая, 2015 - 20:29:22
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014  
Репутация: 0




Теперь эта ошибка:


Надоел уже наверное со своей глупостью)) Просто я совершенно не понимаю какой смысл у предпоследней и последней цифры...

(Отредактировано автором: 11 Мая, 2015 - 20:32:03)

 
 Top
Kibor
Отправлено: 11 Мая, 2015 - 20:36:00
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




CODE:
win w=window ("Forge of Empires - Mozilla Firefox", "MozillaWindowClass", -1);
int Image_0[19][22];
loadimage (#Image_0[0][0], "J:\kibor\Новая папка\денюжки.bmp");
int PosX;int PosY;


tt:
if (findimage (1, #Image_0[0][0], -1, #PosX, #PosY, 0, 0, 1280, 992, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2);
sleep(500);
}
sleep(10);
goto tt;
 
 Top
777J0KeR777
Отправлено: 11 Мая, 2015 - 21:03:38
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014  
Репутация: 0




Отличненько, частично заработало...) Уже прогресс)) Но опять таки "видит" не все изображения...Я тут присмотрелся, эти монетки в пикселях частично отличаются, и в динамике в каждой монете максимум что достигалось, это выявления 1-3х пикселей, оставшихся без движения, и то не на всех монетках...Как лучше поступить? делать +100500 скринов каждой монеты или есть другой более удобный и рациональный способ?...а то мне там ещё молотки надо так же автоматизировать Радость
 
 Top
Kibor
Отправлено: 11 Мая, 2015 - 21:15:04
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 777J0KeR777 пишет:
делать +100500 скринов каждой монеты
гг
поиск изображений по неполному совпад ению
 
 Top
777J0KeR777
Отправлено: 11 Мая, 2015 - 22:00:22
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014  
Репутация: 0




Спасибо огромное! Бот вполне заработал, но есть одно но. Думает он что-то долговато(

Подскажите как его ускорить? Вот получившийся скрипт:

CODE:
int Image_0[19][22];
int Image_1[25][25];
int Image_2[23][24];
int Image_3[42][19];
int Image_4[16][19];
int color, xe,ye;
sleep(500);
getdisplay(color, xe, ye);
loadimage (#Image_0[0][0], "J:\kibor\Íîâàÿ ïàïêà\äåíþæêè.bmp");
loadimage (#Image_1[0][0], "J:\kibor\Íîâàÿ ïàïêà\ìîëîò.bmp");
loadimage (#Image_2[0][0], "J:\kibor\Íîâàÿ ïàïêà\ñîí.bmp");
loadimage (#Image_3[0][0], "J:\kibor\Íîâàÿ ïàïêà\5 ìèí.bmp");
loadimage (#Image_4[0][0], "J:\kibor\Íîâàÿ ïàïêà\çàêðûòü.bmp");
int PosX;int PosY;



tt:

if (findimage (1, #Image_0[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2+50);

}


if (findimage(1, #Image_1[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)

{

mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50);

}


if (findimage(1, #Image_2[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_2[0][0])/2, PosY+imageheight(#Image_2[0][0])/2+50);


if (findimage(1, #Image_3[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_3[0][0])/2, PosY+imageheight(#Image_3[0][0])/2);

}

if (findimage(1, #Image_4[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1);
{
mouse(LEFT, PosX+imagewidth(#Image_4[0][0])/2, PosY+imageheight(#Image_4[0][0])/2);

}

}

goto tt;


P.S. Также выявилась ещё одна проблема, скрипт видит только первое действие, на последующие забивает...как исправить?
(Добавление)
Вот тут чутка ошибся:

CODE:
if (findimage(1, #Image_2[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_2[0][0])/2, PosY+imageheight(#Image_2[0][0])/2+50);


if (findimage(1, #Image_3[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_3[0][0])/2, PosY+imageheight(#Image_3[0][0])/2);

}
[color=darkred]}[/color]


Но это дело не поменяло...Всё долго и остальные команды (1,2,3) он не исполняет...Делает только 0 и 4
(Добавление)
В ходе экспериментов выявил вот что. По отдельности срабатывают все команды, но. Когда я ставлю их все вместе, то полностью не срабатывает 3 команда и скрипт забивает на 1,2 команды, а начинает выполнять 2, "3", 4...Как это исправить? Вот что имею на данный момент:

CODE:
int Image_0[19][22];
int Image_1[25][25];
int Image_2[23][24];
int Image_3[42][19];
int Image_4[16][19];
int color, xe,ye;
sleep(500);
getdisplay(color, xe, ye);
loadimage (#Image_0[0][0], "J:\kibor\Новая папка\денюжки.bmp");
loadimage (#Image_1[0][0], "J:\kibor\Новая папка\молот.bmp");
loadimage (#Image_2[0][0], "J:\kibor\Новая папка\сон.bmp");
loadimage (#Image_3[0][0], "J:\kibor\Новая папка\время 5мин.bmp");
loadimage (#Image_4[0][0], "J:\kibor\Новая папка\закрыть.bmp");
int PosX;int PosY;



tt:

if (findimage (1, #Image_0[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2+50);

}


if (findimage(1, #Image_1[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)

{

mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50);

}


if (findimage(1, #Image_2[0][0], 255, #PosX, #PosY, 0, 0, 1280, 1024, 30, 30, 30, 30, 30, 30, 80, 1, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_2[0][0])/2, PosY+imageheight(#Image_2[0][0])/2+50);


if (findimage(1, #Image_3[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, 50, 50, 50, 50, 50, 50, 80, 1, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_3[0][0])/2, PosY+imageheight(#Image_3[0][0])/2);

}
sleep(5000);
}


else

if (findimage(1, #Image_4[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, -1)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_4[0][0])/2, PosY+imageheight(#Image_4[0][0])/2);

}


goto tt;


(Добавление)
P.S. Точней в 3ей команде он почему-то картинку распознаёт странно, точней тычет в левый почти верхний угол браузера
 
 Top
Kibor
Отправлено: 11 Мая, 2015 - 23:08:49
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 777J0KeR777 пишет:
if (findimage (1, #Image_0[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024

сделать вменяеую область поиска для этого и использовать указатель на игру
 
 Top
777J0KeR777
Отправлено: 12 Мая, 2015 - 12:57:08
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014  
Репутация: 0




Что-то не могу понять какую-именно структуру делать для привязки к браузеру...
вот пишу этакое:
CODE:
win w=window ("Forge of Empires - Mozilla Firefox",419, 402, 1065, 504, "MozillaWindowClass", -1);



А далее как это использовать?...Там всё так написано, что мне не понять( Можно, пожалуйста, пример
 
 Top
Kibor
Отправлено: 12 Мая, 2015 - 13:02:50
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 777J0KeR777 пишет:
Там всё так написано, что мне не понять( Можно, пожалуйста, пример


Сканирование экрана и поиск изображений
 Цитата:
Синтаксис:
findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.
Второй - указатель на масив int в котором хранится искомое изображение.
Третий - фоновый цвет который не учитывается при сравнение изображений. Если указать -1, все цвета учитываются. В виде фонового цвета можно указать цвет конкретного пикселя искомой картинки - image[0][0] (цвет левого верхнего пикселя)... и т.д.
Четвертый и пятый - указатели на одномерные масивы int, в которые будут сохранены координаты найденых в окне изображений.
Шестой и седьмой - стартовые клиентские координаты в окне в котором ищется изображение относительно верхнего левого угла.
Восьмой и девятый - клиентские координаты окончания поиска в окне в котором ищется изображение.
Десятый - указатель на окно в котором ищем изображение. При -1 ищется по всему экрану.



 Цитата:
win w=window ("Forge of Empires - Mozilla Firefox",419, 402, 1065, 504, "MozillaWindowClass", -1);
if (findimage(1, #Image_4[0][0], -1, #PosX, #PosY, 0, 0, 1280, 1024, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_4[0][0])/2, PosY+imageheight(#Image_4[0][0])/2, 0, w);
}
 
 Top
777J0KeR777
Отправлено: 12 Мая, 2015 - 13:21:10
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014  
Репутация: 0




CODE:
win w=window ("Forge of Empires - Mozilla Firefox",419, 402, 1065, 504, "MozillaWindowClass", -1);
int Image_0[19][22];
int color, xe,ye;
sleep(500);
getdisplay(color, xe, ye);
loadimage (#Image_0[0][0], "J:\kibor\Íîâàÿ ïàïêà\äåíþæêè.bmp");
int PosX;int PosY;



tt:

if (findimage (1, #Image_0[0][0], -1, #PosX, #PosY, 619, 458, 1091, 725, 20, 20, 20, 20, 20, 20, 90, 1, w)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2+50, 0, w);

}

goto tt;


Тычет непонятно куда...
 
 Top
Kibor
Отправлено: 12 Мая, 2015 - 14:04:19
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Цитата:
if (findimage (1, #Image_0[0][0], -1, #PosX, #PosY, 619, 458, 1091, 725, 20, 20, 20, 20, 20, 20, 90, 1, w)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2+619, PosY+imageheight(#Image_0[0][0])/2+50+458, 0, w);

}

сместить
 
 Top
Страниц (7): « 1 [2] 3 4 5 6 7 »
Сейчас эту тему просматривают: 11 (гостей: 11, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by