Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Aleksey999

Pages: [1]
1
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« on: January 13, 2022, 11:41:29 PM »
Есть предположение, что из трех твоих вызовов подпрограмм находит только один цвет. Если это так, то нужно знать, что IF_PIXEL_IN может искать сразу множество цветов одновременно, и завершит поиск при первом совпадении в области:
Code: (clickermann) [Select]
GETSCREEN(2,807,345,1304)
COLORMODE(6,2,807,345,1304)
SCREENSHOTFIX(2,807,345,1304,"herb.bmp")

IF_PIXEL_IN(2,807,345,1304, 8355647, 4194175, 8388607)  //ищем сразу 3 цвета
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
END_IF

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

HALT

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

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

2
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« on: January 13, 2022, 06:27:39 PM »
Code: (clickermann) [Select]
// 12.01.2022
#name "New herb"
SUB(herb, $par1, $par2) // подпрограмма с параметрами
   GETSCREEN(26,597,367,1090)
   COLORMODE(6,26,597,367,1090)
   SCREENSHOTFIX(26,597,367,1090,$par1)
   IF_PIXEL_IN(26,597,367,1090,$par2)
      KEYDOWN(#ctrl)
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      KEYUP(#ctrl)
      WAITMS(200)
   END_IF
END_SUB

herb("herb.bmp",8355647) // вызов подпрограммы (обязательно ниже подпрограммы)
herb("herb1.bmp",8355839)
herb("herb2.bmp",8388607)

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

HALT
GETSCREEN(26,597,367,1090)
   COLORMODE(6,26,597,367,1090)
   SCREENSHOTFIX(26,597,367,1090,$par1)
 о какой оптимальности можно говорить если этот скрипт трижды сканирует одну область и трижды подряд сохраняет её как картинку под разными названиями!
в чём смысл утраивания усилий?
 Было-бы логично  сначала проверять цвет пикселя а уже в зависимости от найденного цвета, обновлять картинку, а так
только команда HALT спасает от перегрузки компа ненужными и ресурсоёмкими действиями. действиями
Code: (clickermann) [Select]
// 12.01.2022
#name "New herb2"
SUB(herb, $par1, $par2) // подпрограмма с параметрами
   IF_PIXEL_IN(26,597,367,1090,$par2)
      SCREENSHOTFIX(26,597,367,1090,$par1)
      KEYDOWN(#ctrl)
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      KEYUP(#ctrl)
      WAITMS(200)
   END_IF
END_SUB
GETSCREEN(26,597,367,1090)
COLORMODE(6,26,597,367,1090)
herb("herb.bmp",8355647) // вызов подпрограммы (обязательно ниже подпрограммы)
herb("herb1.bmp",8355839)
herb("herb2.bmp",8388607)

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

HALT

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

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


Code: (clickermann) [Select]

// 12.01.2022
#name "New herb2"
SUB(herb, $par1)   
   IF_PIXEL_IN(2,807,345,1304,$par1)
      KEYDOWN(#ctrl)
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      KEYUP(#ctrl)
      WAITMS(200)
   END_IF
END_SUB

GETSCREEN(2,807,345,1304)
COLORMODE(6,2,807,345,1304)
SCREENSHOTFIX(2,807,345,1304,"herb.bmp")

herb(8355647)
herb(4194175)
herb(8388607)

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

HALT



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

3
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« on: January 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



Pages: [1]