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

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

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

> Описание: хитрая автоматизация, нужна помощь.
rigigejen
Отправлено: 03 Ноября, 2014 - 08:11:32
Post Id



Пользователь
Прохожий


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




CODE:
int Image_0[41][28];

loadimage(#Image_0[0][0],"D:\K\Image_0.bmp");

int q=0,q1=0;//Здесь может быть до q9
int w=0,w1=0;//тоже
int e=1366,e1=1366;//
int r=768,r1=768//


if(findimage(1,#Image_0[0][0],-1,#PosX_0[0],#PosY_0[0],0,0,1366,746,-1)==1)
{
int x,y;
x=PosX_0[0]+imagewidth(#Image_0[0][0])/2;
y=PosY_0[0]+imageheight(#Image_0[0][0])/2;
mouse(LEFT,x,y,);
if(q=0)
{
q=PosX_0[0];
w=PosX_0[0];
e=PosX_0[0]imagewidth(#Image_0[0][0]);
r=PosX_0[0]imageheight(#Image_0[0][0]);
if(q1=0)
{
q1=PosX_0[0];
w1=PosX_0[0];
e1=PosX_0[0]imagewidth(#Image_0[0][0]);
r1=PosX_0[0]imageheight(#Image_0[0][0]);
}
}
}

Суть в чем, у меня есть N-ое количество изображений, которые стабильны в течении игры, но меняются после входа на следующий день. Они основной элемент с которым нужно работать. Используется расширенный findimage, он тратит много времени (до 17 изображений разных) и нужно уложиться в 30 секунд на цикл.
Я подумал, что можно узнать координаты через подобный скрипт и в дальнейшем будет работать это:
CODE:
findimage(1,#Image_0[0][0],-1,#PosX_0[0],#PosY_0[0],q,w,e,r,-1

но не знаю, как сделать универсальный поиск по заданным координатам, то есть после q,w,e,r, заменить на q1,w1,e1,r1 и так дойдя до пика, сброс обратно.

(Отредактировано автором: 03 Ноября, 2014 - 08:12:05)

 
 Top
Kibor
Отправлено: 03 Ноября, 2014 - 11:08:10
Post Id



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


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




масивы.. масивы..

CODE:
int Image[17][50][50];

for (int n=0; n<17; n++)loadimage(#Image[n][0][0],"D:\K\Image_"+format(n)+".bmp");
int x,y;

int PosX,PosY;
int image_scr[1366][746];

screen (#image_scr[0][0], 0, 0, 1366,746 , -1);
for (n=0; n<17; n++)
{
if(findimage(1,#Image[n][0][0],-1,#PosX,#PosY,0,0,1366,746,#image_scr[0][0])==1)
{
x=PosX+imagewidth(#Image[n][0][0])/2;
y=PosY+imageheight(#Image[n][0][0])/2;
mouse(LEFT,x,y,);
}
}


 rigigejen пишет:
он тратит много времени (до 17 изображений разных) и нужно уложиться в 30 секунд на цикл

за 30 сек можно найти не только 17... уменьшите размер искомых изображений. не думаю что надо 41-28...
используйте поиск по указателю на окно а не -1. это быстрее.
используйте поиск по заранее сделанному скриншоту как я дал. это ускорит.

читайте тут Реализация массивов изображений в функциях loadimage, findimage, saveimage
читайте тут Поиск в заранее загруженном изображение или сделанном скрине экрана.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by