Hanter |
Отправлено: 11 Февраля, 2015 - 17:28:18
|
Прохожий
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2015
Репутация: 0
|
findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.
все что выше написано на форуме.
Объясните пожалуйста, как обращаться к элементам массива если поставить первый параметр функции -1? |
|
|
SemEMP |
Отправлено: 11 Февраля, 2015 - 18:11:09
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Дек. 2013
Репутация: 2
|
Hanter пишет: findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.
все что выше написано на форуме.
Объясните пожалуйста, как обращаться к элементам массива если поставить первый параметр функции -1?
(для просмотра ссылки Вам необходимо авторизоваться)
согласно справке, сама функция возвращает количество найденных изображений,
CODE:
int N;
N=findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind)
если , то в переменных CODE:x[0],y[0];x[1],[y[1]...x[N-1],y[N-1]
будут координаты найденных изображений(Отредактировано автором: 11 Февраля, 2015 - 18:12:50) |
|
|
Hanter |
Отправлено: 12 Февраля, 2015 - 00:39:58
|
Прохожий
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2015
Репутация: 0
|
SemEMP пишет: Hanter пишет: findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.
все что выше написано на форуме.
Объясните пожалуйста, как обращаться к элементам массива если поставить первый параметр функции -1?
(для просмотра ссылки Вам необходимо авторизоваться)
согласно справке, сама функция возвращает количество найденных изображений,
CODE:
int N;
N=findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind)
если , то в переменных CODE:x[0],y[0];x[1],[y[1]...x[N-1],y[N-1]
будут координаты найденных изображений
У меня проблема вот в чем.
У меня есть одинаковые картинки от 1-5 и я никак не могу понять, как мне сделать так что бы бот перебирал все, а не выбирал одну и крутил её по кругу... |
|
|
Hanter |
Отправлено: 12 Февраля, 2015 - 01:13:25
|
Прохожий
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2015
Репутация: 0
|
Kibor пишет: Hanter пишет: что бы бот перебирал все
и?
перебирал и кликал по первой что нашел...
перебирал и кликал по всех..
свой вариант..
CODE:o:
if (findimage(1, #Ya[0][0], 0, #PosX, #PosY, 0, 0,wind.widthclient, wind.heightclient, wind)==1)
{
X1 = PosX - X_Cons;
Y1 = PosY - Y_Cons;
X2 = PosX + X_Cons;
Y2 = PosY + Y_Cons;
// messagebox(X1,"-", Y1,"-", X2, "-" , Y2, "-", PosX, "-", PosY);
if (findimage(-1, #spider[0][0], 0, #PosX, #PosY, 0, 0,wind.widthclient, wind.heightclient, wind)!=0 )
{
if(PosX>X1 && PosY>Y1 && PosX<X2 && PosY<Y2) {messagebox("Bingo!"); } else{ messagebox("Ne popal v oblast"); goto o; }
} else{messagebox("Ne nashlo skorpa");}
}
Вот в этом случаи он берет 1-ну из несколько картинок и не переходит на следующую, подскажите как это можно реализовать, а то уже голова болит не могу понять как это сделать... |
|
|
Kibor |
Отправлено: 12 Февраля, 2015 - 12:51:17
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
int N;
N=findimage(-1, #image[0][0], 0, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
for (int h=0; h<N; h++)
{
mousemove(x[h], y[h], wind);
sleep(600);
} |
|
|
Hanter |
Отправлено: 12 Февраля, 2015 - 14:08:57
|
Прохожий
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2015
Репутация: 0
|
Kibor пишет: int N;
N=findimage(-1, #image[0][0], 0, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
for (int h=0; h<N; h++)
{
mousemove(x[h], y[h], wind);
sleep(600);
}
Вот сделал как вы, и мне выдает ошибку:
CODE:int N;
o:
if (findimage(1, #Ya[0][0], 0, #PosX, #PosY, 0, 0,wind.widthclient, wind.heightclient, wind)==1)
{
X1 = PosX - X_Cons;
Y1 = PosY - Y_Cons;
X2 = PosX + X_Cons;
Y2 = PosY + Y_Cons;
// messagebox(X1,"-", Y1,"-", X2, "-" , Y2, "-", PosX, "-", PosY);
N = findimage(-1, #spider[0][0], 0, #PosX[0], #PosY[0], 0, 0,wind.widthclient, wind.heightclient, wind);
if (N>0 )
{
for(int h=0; h<N; h++){
// if(PosXx[h]>X1 && PosYy[h]>Y1 && PosXx[h]<X2 && PosYy[h]<Y2) {messagebox("Bingo!"); } else{ messagebox("Ne popal v oblast"); }
mousemove(PosX[h], PosY[h], wind);
sleep(1000);
}
} else{messagebox("Ne nashlo skorpa");}
}
(Отредактировано автором: 12 Февраля, 2015 - 14:11:52) |
|
|
Kibor |
Отправлено: 12 Февраля, 2015 - 14:25:14
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Hanter пишет: if (findimage(1, #Ya[0][0], 0, #PosX, #PosY, 0, 0,wind.widthclient, wind.heightclient, wind)==1)
{
X1 = PosX - X_Cons;
Y1 = PosY - Y_Cons;
X2 = PosX + X_Cons;
Y2 = PosY + Y_Cons;
// messagebox(X1,"-", Y1,"-", X2, "-" , Y2, "-", PosX, "-", PosY);
N = findimage(-1, #spider[0][0], 0, #PosX[0], #PosY[0]
определитесь уже.. или у вас массив или просто..
где как идет объявление
PosX PosY |
|
|
Hanter |
Отправлено: 12 Февраля, 2015 - 14:29:39
|
Прохожий
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2015
Репутация: 0
|
Kibor пишет: Hanter пишет: if (findimage(1, #Ya[0][0], 0, #PosX, #PosY, 0, 0,wind.widthclient, wind.heightclient, wind)==1)
{
X1 = PosX - X_Cons;
Y1 = PosY - Y_Cons;
X2 = PosX + X_Cons;
Y2 = PosY + Y_Cons;
// messagebox(X1,"-", Y1,"-", X2, "-" , Y2, "-", PosX, "-", PosY);
N = findimage(-1, #spider[0][0], 0, #PosX[0], #PosY[0]
определитесь уже.. или у вас массив или просто..
где как идет объявление
PosX PosY
вот я тоже думаю что с объявлением проблемы. Вы в примерах пишете точно кол-ство элементов которые должны найти, но у меня не определено точное количество моих картинок, но их будет не меньше чем 1 и не больше чем 5.
Вот так я объявил:
int PosX, PosY; |
|
|
|