Голосование

Была ли полезна вам эта тема?)

Да
Нет
От части
Не читал xD
Очень полезна

Автор Тема: Цикл нажимающий на куче повторённого изабражения  (Прочитано 3801 раз)

0 Пользователей и 1 Гость просматривают эту тему.

dramster

  • Герой форума
  • *****
  • Сообщений: 1130
    • Просмотр профиля
или надо снаружи ставить в теле скрипта а не ифов?
ЕСТЕСТВЕННО!!!

ну черт подери, за столько времени и постов с вопросами и ответами, можно же было уже наконец понять, что если картинки нет и ее не нашло, тогда  то, что в твоем "ифе", не срабатывает, и твои задержки также не срабатывают. для этого и существуют условия "ифы", либо сработает либо нет, при определенных условиях. в данном случае, это условие присутствия картинки.

Цитировать
если он ищет все ифы одновременно что сверхъестественно для обычного процесса,
читай то что я написал выше.

Цитировать
у меня он же ищет в мелких областях экрана а не фулл что не должно сильно нагружать цп при последовательном выполнении ифов вместо одновременного бреда ;D
а это не важно, хоть ты один пиксель проверяй. без задержек он у тебя в секунду тыщи раз проверит, и при этом попытается выжать максимум с производительности твоего пк.
« Последнее редактирование: Апрель 28, 2018, 08:17:02 pm от dramster »

Иллидан

  • Освоившийся
  • **
  • Сообщений: 36
  • Дзен-Мастер
    • Просмотр профиля
области обновления графического буфера не указаны.
Если он всунул десятку на слабый комп, забитый пылью и с большим монитором или несколькими, плюс параллельно работает несколько процессов и прожорливый игровой клиент, то такой код будет тормозить по любому.

затруднения с точным определением необходимых задержек между поиском картинок.
логично использовать не проверку, а ожидание картинок в заданном порядке с приемлемой разгрузкой внутри циклов ожидания.
0. Изи топовый лэптоп 17.2 дюйма, 3.4ГГц, 8 озу, 2.5 взу, HDD, винда заводское ограниченное гавно 10 home(ещё жду смерти гарантии)...  :P
0.1. Параллельно работает рабочий стол на котором тестирую эти скрины задействованные фоном рабочего стола, действительно много жрёт правда не в этой вселенной 8)
1. области то везде де над указаны.
2. вотэта у меня виснит на 2 цыкле и жрёт 30% цп ничё неделая ???
$time = $_time_t + 2
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (748,825,854,875,"инвайт.bmp", -1, 100)
      $time = 0
MOVE($_return1,$_return2)
MOVE($_return1+29, $_return2+9)
      WAIT(0.5)
   ELSE
      WAIT(1)
   END_IF
END_CYC

$time = $_time_t + 2
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (356,190,1306,750,"выход.bmp", -1, 90)
      $time = 0
      MOVE($_return1,$_return2)
    LCLICK($_return1+277,$_return2+61)
      WAIT(0.5)
   ELSE
      WAIT(1)
   END_IF
END_CYC

тут же норм задержки, стандартный шаблон а чё не так? :P
« Последнее редактирование: Апрель 29, 2018, 03:54:15 am от Иллидан »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Речь идет об ограничении области снимка и цветокоррекции
Пример
Код: Clickermann
  1. $time = $_time_t + 2
  2. WHILE($time > $_time_t)
  3.   GETSCREEN(748,825,854,875)
  4.   COLORMODE(6,748,825,854,875)
  5.   IF_PICTURE_IN (748,825,854,875,"инвайт.bmp", -1, 100)
  6.      $time = 0
  7.      MOVE($_return1,$_return2)
  8.      MOVE($_return1+29, $_return2+9)
  9.      WAIT(0.5)
  10.   ELSE
  11.      WAIT(1)
  12.   END_IF
  13. END_CYC
  14.  
  15. $time = $_time_t + 2
  16. WHILE($time > $_time_t)
  17.   GETSCREEN(356,190,1306,750)
  18.   COLORMODE(6,356,190,1306,750)
  19.   IF_PICTURE_IN (356,190,1306,750,"выход.bmp", -1, 90)
  20.      $time = 0
  21.      MOVE($_return1,$_return2)
  22.      LCLICK($_return1+277,$_return2+61)
  23.      WAIT(0.5)
  24.   ELSE
  25.      WAIT(1)
  26.   END_IF
  27. END_CYC

Но у тебя другая проблема. Если на долго виснет при поиске картинки то значит эта картинка слишком большого размера.
Какой размер в пикселах картинок "инвайт.bmp" и "выход.bmp"?

Иллидан

  • Освоившийся
  • **
  • Сообщений: 36
  • Дзен-Мастер
    • Просмотр профиля
Какой размер в пикселах картинок "инвайт.bmp" и "выход.bmp"?
54x21(тупо кнопка)
329x68(слева кусок текста, справа 2 кнопки)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Вот смотри
54x21 = 1134 пикселов
329x68 = 22372 пикселов

Вторая картинка будет искаться в 19 раз дольше чем первая

Чем больше пикселов на сравнение тем дольше поиск. Во время работы функции горячие клавиши недоступны, поэтому кликер невозможно остановить, а анализироваться такая большая картинка (329x68) будет ощутимо долго.

Все что тебе нужно, срезать картинку до приемлемого размера
329x3 = 987


Иллидан

  • Освоившийся
  • **
  • Сообщений: 36
  • Дзен-Мастер
    • Просмотр профиля
Все что тебе нужно, срезать картинку до приемлемого размера
329x3 = 987
приемлемый эт меньше 1 КБ или скок мона?
Все уменьшил меньше КБ и пока вроде всё норм.

А как их правильно всунуть друг в друга чтоб если первый блок не выполняется 2 других пропускались и так с остальными такими кучками?)
у меня всего штук 18 таких циклоифов ;)

так или мона лучше?

$time = $_time_t + 2
WHILE($time > $_time_t)
   GETSCREEN(1515,863,$_xmax,$_ymax)
   COLORMODE(1515,863,$_xmax,$_ymax)
   IF_PICTURE_IN (1515,863,$_xmax,$_ymax,"тык.bmp", -1, 100)
      $time = 0
      MOVE($_return1,$_return2)
      LCLICK($_return1+25,$_return2+2)
      WAIT(1)

$time = $_time_t + 2
WHILE($time > $_time_t)
   GETSCREEN(513,340,1087,465)
   COLORMODE(6,513,340,1087,465)
   IF_PICTURE_IN (513,340,1087,465,"конец.bmp", -1, 100)
      $time = 0
      MOVE($_return1,$_return2)
      LCLICK($_return1+47,$_return2+53)
      WAIT(2)
      HALT
   ELSE
      WAIT(1)
   END_IF
END_CYC

   ELSE
      WAIT(1)
   END_IF
END_CYC

$time = $_time_t + 1
WHILE($time > $_time_t)
   GETSCREEN(276,165,432,205)
   COLORMODE(6,276,165,432,205)
   IF_PICTURE_IN (276,165,432,205,"поиск.bmp", -1, 100)
      $time = 0
      MOVE($_return1,$_return2)
      LCLICK($_return1+26,$_return2+3)
      WAIT(1)

$time = $_time_t + 1
WHILE($time > $_time_t)
   GETSCREEN(427,209,464,257)
   COLORMODE(6,427,209,464,257)
   IF_PICTURE_IN (427,209,464,257,"инвайт.bmp", -1, 100)
      $time = 0
      MOVE($_return1,$_return2)
      LCLICK($_return1+10,$_return2+9)
      WAIT(1)

$time = $_time_t + 1
WHILE($time > $_time_t)
   GETSCREEN(999,769,1157,807)
   COLORMODE(6,999,769,1157,807)
   IF_PICTURE_IN (999,769,1157,807,"тык.bmp", -1, 100)
      $time = 0
      MOVE($_return1,$_return2)
      LCLICK($_return1+24,$_return2+2)
      WAIT(1)
   ELSE
      WAIT(1)
   END_IF
END_CYC

   ELSE
      WAIT(1)
   END_IF
END_CYC

   ELSE
      WAIT(1)
   END_IF
END_CYC
« Последнее редактирование: Апрель 30, 2018, 02:55:59 pm от Иллидан »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Все что тебе нужно, срезать картинку до приемлемого размера
329x3 = 987
приемлемый эт меньше 1 КБ или скок мона?
Все уменьшил меньше КБ и пока вроде всё норм.

Не в килобайтах мерить надо а в пикселах.
50х50 что равняется 2500 пикселов считается нормой. Но картинку всегда нужно резать по минимуму, это сильно влияет на скорость поиска. Также на скорость влияет процент совпадения.

А как их правильно всунуть друг в друга чтоб если первый блок не выполняется 2 других пропускались и так с остальными такими кучками?)
у меня всего штук 18 таких циклоифов ;)

Ну правильно, если функция не найдет картинку то условие не выполнится и все что написано в нем тоже.



Иллидан

  • Освоившийся
  • **
  • Сообщений: 36
  • Дзен-Мастер
    • Просмотр профиля
бальшое пасиба коту!  ;D
/кот Oraven

а можно какнить скомпилировать скрипт кликермана в собственный бот-экзешник со своим интерфейсом шоб в скрипт не лез никто?

Иллидан

  • Освоившийся
  • **
  • Сообщений: 36
  • Дзен-Мастер
    • Просмотр профиля

Код: Clickermann
  1. $ARR_NUM = 0
  2. WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
  3.  
чё мне над дописать чтоб если найдёт больше 10 картинок то ставил не 999 секунд поиска времени а 10?)