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

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

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

> Описание: Динамические изображения в браузерной игре
rev41k
Отправлено: 13 Января, 2014 - 00:42:39
Post Id



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


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2013  
Откуда: Молдова, Кишинев
Репутация: 0




Спасибо огромное со всем этим разобрался.
Последнее , что мне нужно это поиск изображений на экране во время боя и клик по ним.

4 изображения.
Поиск 1-го изображения , если нашли клик по 2-му изображению.
Если не нашли 1-е клик по 3-му изображению.
Если не нашли 2-е и 3-ее (т.к. 2-е и 3-е изображение стало черно-белого цвета значит нельзя активировать)клик по 4-му изображению.

Код (Отобразить)


Image_cerep = 1 изображение
Image_bers = 2 изображение
Image_eg = 3 изображение
Image_v = 4 изображение

При запуске моего скрипта программа уходит в аут. Windows 7 x64.
 
 Top
Kibor
Отправлено: 13 Января, 2014 - 12:43:47
Post Id



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


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




 rev41k пишет:
a:
fight();
a;

Ошибка.

 Цитата:
a:
fight();
goto a;


 rev41k пишет:
if (findimage(1, #Image_cerep[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{
if (findimage(1, #Image_bers[0][0], 0, #bx, #by, 0, 0, 1366, 767, -1)==1)
{
mouse(LEFT, bx+4, by+2);
sleep(rand(1000,3000));
mousemove(100,500);
}
else
{
if (findimage(1, #Image_cerep[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{
if (findimage(1, #Image_eg[0][0], 0, #cx, #cy, 0, 0, 1366, 767, -1);
mouse(LEFT, cx+4, cy+2);
sleep(rand(1000,3000));
mousemove(100,500);
}
}
else
{
findimage(1, #Image_v[0][0], 0, #dx, #dy, 0, 0, 1366, 767, -1);
mouse(LEFT, dx+4, dy+2);
sleep(rand(1000,3000));
mousemove(100,500);
}
}


Ошибка применения else. Оно должно идти только после if

Этот код сейчас:
 Цитата:
if (findimage(1, #Image_cerep[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{//1
if (findimage(1, #Image_bers[0][0], 0, #bx, #by, 0, 0, 1366, 767, -1)==1)
{//2
}//2
else
{//3

if (findimage(1, #Image_cerep[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{//4
}//4

}//3
else
{//5
}//5

}//1


else идет после другого else.

Надо что типа этого

 Цитата:
function fight()
{
if (findimage(1, #1[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{//1
if (findimage(1, #2[0][0], 0, #bx, #by, 0, 0, 1366, 767, -1)==1)
{//2
mouse(LEFT, bx+4, by+2);
sleep(rand(1000,3000));
mousemove(100,500);
return;
}//2
}//1

if (findimage(1, #3[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{//4
mouse(LEFT, ax+4, ay+2)
sleep(rand(1000,3000));
mousemove(100,500);
return;
}//4

if (findimage(1, #4[0][0], 0, #dx, #dy, 0, 0, 1366, 767, -1)==1)
{
mouse(LEFT, dx+4, dy+2);
sleep(rand(1000,3000));
mousemove(100,500);
}//5

}
 
 Top
rev41k
Отправлено: 13 Января, 2014 - 13:20:49
Post Id



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


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2013  
Откуда: Молдова, Кишинев
Репутация: 0




Вот так будет верно ?
CODE:

function fight()
{//function
if (findimage(1, #1[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==1)
{//1
if (findimage(1, #2[0][0], 0, #bx, #by, 0, 0, 1366, 767, -1)==1)
{//2
mouse();
}//2
}//1
else
{//3
if (findimage(1, #1[0][0], 0, #ax, #ay, 0, 0, 1366, 767, 50, 50, 50, 50, 50, 50, 100, 1, -1)==0)
{//4
if (findimage(1, #3[0][0], 0, #cx, #cy, 0, 0, 1366, 767, -1)==1)
{//5
mouse();
}//5
}//4
}//3
if (findimage(1, #3[0][0], 0, #cx, #cy, 0, 0, 1366, 767, -1)==0)
{//6
if (findimage(1, #2[0][0], 0, #bx, #by, 0, 0, 1366, 767, -1)==0)
{//7
findimage(1, #4[0][0], 0, #dx, #dy, 0, 0, 1366,767, -1);
mouse();
}//7
}//6
}//function


Замечу , что в ELSE я проверяю если не находит первую картинку.
Как и в if //7 ... Если не находит первые 3 картинка , тогда клик по 4-ой.
Заранее спасибо!

(Отредактировано автором: 13 Января, 2014 - 13:22:16)

 
 Top
Kibor
Отправлено: 13 Января, 2014 - 15:57:25
Post Id



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


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




Исходя из

 rev41k пишет:

1] Поиск 1-го изображения , если нашли клик по 2-му изображению.
2] Если не нашли 1-е клик по 3-му изображению.
3] Если не нашли 2-е и 3-ее (т.к. 2-е и 3-е изображение стало черно-белого цвета значит нельзя активировать)клик по 4-му изображению.

Псевдокод такой..
 Цитата:
1]
if (findimage(1)==1)
{
if (findimage(2)==1) {mouse (2); return;}//Выполниль нужное условие 1 выход из функции
}

2]//Тут мы будем если не нашли 1 изображение и не кликнули (при наличие 2 изобр.) (то есть условие 1 мы выполнили)
if (findimage(3)==1) {mouse (3); return;}//Выполниль нужное условие 2 (клик по 3 картинке) выход из функции

3]//Мы попадаем сюда если не нашли 2 и 3 изобр.
if (findimage(4)==1) mouse (4);//Выполниль нужное условие 3 (клик по 4 картинке)


else тут не нужен. Почему.?
Возьмем к примеру 1 условие..
Поиск 1-го изображения , если нашли клик по 2-му изображению.
К примеру оно выполнилось.. Зачем нам делать else если можно просто выйти из функции return
Если первое условие не выполнено, то проверит второе, так как return не был...
 
 Top
inre25
Отправлено: 13 Мая, 2019 - 04:06:52
Post Id



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


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




как в визуальном редакторе сделать поиск по изображению когда их много одинаковых , а клик будит только на одно, что первое найдет.
 
 Top
Kibor
Отправлено: 13 Мая, 2019 - 07:19:32
Post Id



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


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





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


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




Powered by