Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Aleksey999

Страницы: [1]
1
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« : Январь 13, 2022, 11:41:29 pm »
Есть предположение, что из трех твоих вызовов подпрограмм находит только один цвет. Если это так, то нужно знать, что IF_PIXEL_IN может искать сразу множество цветов одновременно, и завершит поиск при первом совпадении в области:
Код: Clickermann
  1. GETSCREEN(2,807,345,1304)
  2. COLORMODE(6,2,807,345,1304)
  3. SCREENSHOTFIX(2,807,345,1304,"herb.bmp")
  4.  
  5. IF_PIXEL_IN(2,807,345,1304, 8355647, 4194175, 8388607)  //ищем сразу 3 цвета
  6.   KEYDOWN(#ctrl)
  7.   WAITMS(100)
  8.   LCLICK($_return1, $_return2)
  9.   WAITMS(100)
  10.   KEYUP(#ctrl)
  11.   WAITMS(200)
  12. END_IF
  13.  
  14. GETSCREEN(61,382,343,413)
  15. IF_PIXEL_IN(61,382, 343,413, 269907)
  16.   LCLICK($_return1, $_return2)
  17.   WAITMS(100)
  18. END_IF
  19.  
  20. HALT

Задача найти в области каждый из указанных цветов и применить к каждому из них действие.
Варианты выше с этим справляются на ура.

А конкретно этот вариант будет применять действие только к одному из них.

2
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« : Январь 13, 2022, 06:27:39 pm »
Код: Clickermann
  1. // 12.01.2022
  2. #name "New herb"
  3. SUB(herb, $par1, $par2) // подпрограмма с параметрами
  4.   GETSCREEN(26,597,367,1090)
  5.   COLORMODE(6,26,597,367,1090)
  6.   SCREENSHOTFIX(26,597,367,1090,$par1)
  7.   IF_PIXEL_IN(26,597,367,1090,$par2)
  8.      KEYDOWN(#ctrl)
  9.      WAITMS(100)
  10.      LCLICK($_return1, $_return2)
  11.      WAITMS(100)
  12.      KEYUP(#ctrl)
  13.      WAITMS(200)
  14.   END_IF
  15. END_SUB
  16.  
  17. herb("herb.bmp",8355647) // вызов подпрограммы (обязательно ниже подпрограммы)
  18. herb("herb1.bmp",8355839)
  19. herb("herb2.bmp",8388607)
  20.  
  21. GETSCREEN(61,382,343,413)
  22. IF_PIXEL_IN(61,382, 343,413, 269907)
  23.   LCLICK($_return1, $_return2)
  24.   WAITMS(500)
  25. END_IF
  26.  
  27. HALT
  28.  
GETSCREEN(26,597,367,1090)
   COLORMODE(6,26,597,367,1090)
   SCREENSHOTFIX(26,597,367,1090,$par1)
 о какой оптимальности можно говорить если этот скрипт трижды сканирует одну область и трижды подряд сохраняет её как картинку под разными названиями!
в чём смысл утраивания усилий?
 Было-бы логично  сначала проверять цвет пикселя а уже в зависимости от найденного цвета, обновлять картинку, а так
только команда HALT спасает от перегрузки компа ненужными и ресурсоёмкими действиями. действиями
Код: Clickermann
  1. // 12.01.2022
  2. #name "New herb2"
  3. SUB(herb, $par1, $par2) // подпрограмма с параметрами
  4.   IF_PIXEL_IN(26,597,367,1090,$par2)
  5.      SCREENSHOTFIX(26,597,367,1090,$par1)
  6.      KEYDOWN(#ctrl)
  7.      WAITMS(100)
  8.      LCLICK($_return1, $_return2)
  9.      WAITMS(100)
  10.      KEYUP(#ctrl)
  11.      WAITMS(200)
  12.   END_IF
  13. END_SUB
  14. GETSCREEN(26,597,367,1090)
  15. COLORMODE(6,26,597,367,1090)
  16. herb("herb.bmp",8355647) // вызов подпрограммы (обязательно ниже подпрограммы)
  17. herb("herb1.bmp",8355839)
  18. herb("herb2.bmp",8388607)
  19.  
  20. GETSCREEN(61,382,343,413)
  21. IF_PIXEL_IN(61,382, 343,413, 269907)
  22.   LCLICK($_return1, $_return2)
  23.   WAITMS(500)
  24. END_IF
  25.  
  26. HALT
  27.  

dramster, спасибо за ответ. Учту ваше замечание на будущее.

Иван_Васильевич, Огромная благодарность за рабочий скрипт с "программой с параметрами". Благодаря этому примеру получил понимание как работает эта программа с параметрами.
В итоге получил вот такой вариант, при котором делается один скриншот и по нему кликликер отыскивает 3 контрольных пикселя:


Код: Clickermann
  1.  
  2. // 12.01.2022
  3. #name "New herb2"
  4. SUB(herb, $par1)  
  5.   IF_PIXEL_IN(2,807,345,1304,$par1)
  6.      KEYDOWN(#ctrl)
  7.      WAITMS(100)
  8.      LCLICK($_return1, $_return2)
  9.      WAITMS(100)
  10.      KEYUP(#ctrl)
  11.      WAITMS(200)
  12.   END_IF
  13. END_SUB
  14.  
  15. GETSCREEN(2,807,345,1304)
  16. COLORMODE(6,2,807,345,1304)
  17. SCREENSHOTFIX(2,807,345,1304,"herb.bmp")
  18.  
  19. herb(8355647)
  20. herb(4194175)
  21. herb(8388607)
  22.  
  23. GETSCREEN(61,382,343,413)
  24. IF_PIXEL_IN(61,382, 343,413, 269907)
  25.   LCLICK($_return1, $_return2)
  26.   WAITMS(100)
  27. END_IF
  28.  
  29. HALT
  30.  
  31.  


Спасибо большое за помощь.

3
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« : Январь 12, 2022, 02:14:05 pm »
Здравствуйте господа, почитал ответы "гуру" в этой теме и понял что мне нужна помощь.
Скрипт ниже рабочий, действия простые но судя по всему сам скрип не самый оптимальный. Поделитесь опытом, как можно проще и эффективнее использовать функционал кликера?
Заранее благодарю за вашу помощь.

GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(26,597, 367,1090, "herb.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8355647)
   
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
   
END_IF

GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(26,597, 367,1090, "herb1.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8355839)
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
   
END_IF

GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(26,597, 367,1090, "herb2.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8388607)
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
   
END_IF

GETSCREEN
   IF_PIXEL_IN(61,382, 343,413, 269907)
   LCLICK($_return1, $_return2)
   WAITMS(500)
END_IF


HALT



Страницы: [1]