Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: JacsoN on November 15, 2019, 08:15:28 PM

Title: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on November 15, 2019, 08:15:28 PM
доброй  пятници  ! ! ! помогите  освоить  условия     хоть убей не понимаю как  они  взаимо действуют..... вот  мой  щяс   скрипт.
 Мысль такова    нажимаем "5" следущее  действие  гринскрин поиск картинки..... если нашло кликает если нет   нажимаем"5"
 и все  поновой  ищем  первую картинку.
если кликнуло  ищем  пексель нашли  клик  и так  3  раза  ищем  одинаковый  пиксель  но  по  разным  кординатам P.S  многие  в  личку не  отвечают(  или говорят разберайся  сам.......Очень  прошу  обясните
Code: [Select]
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "666.bmp")
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(444,878, 471,910, 213)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(461,735, 469,771, 213)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(320,620, 459,637, 213)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(326,569, 459,583, 213)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on November 15, 2019, 09:33:01 PM
не  ребят как  раз  ето именно практическое задание   сейчас  осваиваю  все на практике,   просто  и  так  начал  для себя  с  легкого  что смог  понять  как  пойму  то  стану  великие  дела  делать  Спасибо  щяс  попробую  скопировать   и  разобраться  для себя  по вашему  примеру
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on November 15, 2019, 09:52:02 PM
щяс  пытаюсь  понять  почему   именно  было использованоLOGWRITE а не  WHILE ?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on November 15, 2019, 10:15:23 PM
а  есть какаето более  развернутая  справка  по описанию всех значений ?
то както  мне  все  туго доходит  все ети  термины  вроди  читаешь а  понять не  можешь как все  там   происходит


Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on November 16, 2019, 03:01:55 PM
ребята  давайте  сделаем  для новичков   таких как я   какието  технические задания  для освоения програамы   при  поддержке  бывалых
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 26, 2019, 01:18:56 AM
ребята такая  проблемка  как   правельно подкоректировать нужно  чтобы  скрипт  ждал найденый  пиксель/картинку  и не переходил  к следуйщему  действию  ето  реально ?  ето для того чтобы  не  игратся  с WAITMS(00) тоесть сам  скрипт  ждет  появление  картинки  или  ето  будет  сильно грузить  проц?
Code: [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   GETSCREEN
   IF_PIXEL_IN(486,963, 515,998, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 1")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(368,815, 451,837, 11513775)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 2")
   END_IF
   WAITMS(420)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 3")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(356,624, 500,637, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 4")
   END_IF
   WAITMS(300)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 5")
   END_IF
   WAITMS(150)
   GETSCREEN
   IF_PIXEL_IN(361,606, 502,618, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 6")
   END_IF
   WAITMS(400)
ELSE
   LOGWRITE ("картинки нет")
END_IF
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Vint on December 26, 2019, 08:07:13 AM
ребята такая  проблемка  как   правельно подкоректировать нужно  чтобы  скрипт  ждал найденый  пиксель/картинку  и не переходил  к следуйщему  действию  ето  реально ?  ето для того чтобы  не  игратся  с WAITMS(00) тоесть сам  скрипт  ждет  появление  картинки  или  ето  будет  сильно грузить  проц?
В редакторе слева, меню "Шаблоны" -->> Графика -->> Ожидание картинки/Ожидание цвета/Ожидание цвета IF_PIXEL_IN
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 26, 2019, 09:52:17 AM
Тоесть если я  все  правельно сообразил  мне  надо  сделать  было  так  вот что  я сделал  но пока  не могу  проверить  не начался  рабочий  день   вот что у меня  получилось  поправте  пожалусто если  не  так
Code: [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  шесть раз  ищем  одинаковый  пиксель  но  по  разным  кординатам с  ожиданием
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(486,963, 515,998, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 1")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(400)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(368,815, 451,837, 11513775)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 2")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(420)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 3")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(400)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(356,624, 500,637, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 4")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(300)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 5")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(150)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(361,606, 502,618, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 6")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(400)
ELSE
   LOGWRITE ("картинки нет")
END_IF
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 26, 2019, 12:53:12 PM
сделал так  но  фигня  какаято  кликает  по   Картинка  1  и   замерает  чтото не  так   (((
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Vint on December 26, 2019, 02:55:09 PM
сделал так  но  фигня  какаято  кликает  по   Картинка  1  и   замерает  чтото не  так   (((

Всё правильно. Как ты и хотел
...нужно  чтобы  скрипт  ждал найденый  пиксель/картинку  и не переходил  к следуйщему  действию

Он не замирает, он ждёт пиксель (сначала 213)
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 26, 2019, 10:30:31 PM
как то  долго   ладно  буду  тестировать Спасибо  наверное  надо  поубирать waitms(300)
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 27, 2019, 03:09:34 PM
исправье  чтоб  последовательно  ожидал картинку 
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (582,421, 859,1044, "zp.bmp", 80)
      $check = 1
      LCLICK($_return1+2, $_return2+2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(821,554, 854,583, 42870)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Vint on December 27, 2019, 04:10:57 PM
Он и так ждёт.
Сначала ждёт "zp.bmp", потом цвет 42870
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 29, 2019, 01:05:24 AM
обьясните    лудше  примером
Code: [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   GETSCREEN
   IF_PIXEL_IN(486,963, 515,998, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 1")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(368,815, 451,837, 11513775)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 2")
   END_IF
   WAITMS(420)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 3")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(356,624, 500,637, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 4")
   END_IF
   WAITMS(300)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 5")
   END_IF
   WAITMS(150)
   GETSCREEN
   IF_PIXEL_IN(361,606, 502,618, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 6")
   END_IF
   WAITMS(400)
  HALT
ELSE
   LOGWRITE ("картинки нет")
END_IF

GOTO(skip)
GOTO(skip) как  ето использевать никогда не  пользевался   нужно чтобы  скриптпосле  HALT через 10 секунд  скрипт по новой  возобновил работу.  читал что GOTO  както можна использевать но  незнаю как правельно
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on December 29, 2019, 11:34:50 AM
GOTO это грубый кастыль, нужен для перепрыгивания выполнения из одного места в другое.
HALT полностью останавливает выполнение, после этого уже не будет никакого продолжения.

Не знаю, это часть скрипта или есть еще, но если тебе нужно ждать 10 сек то удали HALT и вставть WAIT
Code: (clickermann) [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   GETSCREEN
   IF_PIXEL_IN(486,963, 515,998, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 1")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(368,815, 451,837, 11513775)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 2")
   END_IF
   WAITMS(420)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 3")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(356,624, 500,637, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 4")
   END_IF
   WAITMS(300)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 5")
   END_IF
   WAITMS(150)
   GETSCREEN
   IF_PIXEL_IN(361,606, 502,618, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 6")
   END_IF
   WAIT(10) // задержка 10 сек
ELSE
   LOGWRITE ("картинки нет")
END_IF
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on December 29, 2019, 02:56:22 PM
Ого  я  не  ожидал что сам Oraven ответит  ето   для меня  как   личное   приветствие )))
так  теперь  по  делу почему етот скрипл  с  wiaitms
Code: [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   GETSCREEN
   IF_PIXEL_IN(486,963, 515,998, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 1")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(368,815, 451,837, 11513775)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 2")
   END_IF
   WAITMS(420)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 3")
   END_IF
   WAITMS(400)
   GETSCREEN
   IF_PIXEL_IN(356,624, 500,637, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 4")
   END_IF
   WAITMS(300)
   GETSCREEN
   IF_PIXEL_IN(355,682, 499,697, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 5")
   END_IF
   WAITMS(150)
   GETSCREEN
   IF_PIXEL_IN(361,606, 502,618, 213)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("пиксель 6")
   END_IF
   
   WAITMS(400)
ELSE
   LOGWRITE ("картинки нет")
END_IF
лудше  работает  чем  етот  который  с  ожиданием  картинки ?  поидее  с  ожиданием картинки  должен  лудше  работать 
Code: [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(486,963, 515,998, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 1")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(400)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(368,815, 451,837, 11513775)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 2")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(420)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 3")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(400)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(356,624, 500,637, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 4")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(300)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 5")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(150)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(361,606, 502,618, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 6")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   WAITMS(400)
ELSE
   LOGWRITE ("картинки нет")
END_IF
пожалуста  ответьте как  лудше  то  иногда  бывает так что  скрипт  который  с waitms просто  дает осечку  ну   задержка  интернета и все скрипт  тупит.   порекомендуйте  как лудше
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on December 29, 2019, 04:34:59 PM
Первый скрипт ищет пиксели 1 - 6, если не найдено переходит к следующему.
Второй скрипт перейдет к следующему только если пиксель найден.

Я не представляю что ты имеешь ввиду под "лучше работает". Если дело в скорости, так убери задержки между циклами второго скрипта, они там ненужны.
Code: (clickermann) [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   WAITMS(1200)
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(486,963, 515,998, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 1")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC

   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(368,815, 451,837, 11513775)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 2")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC

   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 3")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC

   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(356,624, 500,637, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 4")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC

   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 5")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC

   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(361,606, 502,618, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(400)
         LOGWRITE ("пиксель 6")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
ELSE
   LOGWRITE ("картинки нет")
END_IF


Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 04, 2020, 07:06:43 PM
орвен скажи   для  быстрого  отклика  как  сделать   разделить правильно   свой  скрипт  задача: нужно чтобы LOGWRITE ("нажимаем 5")
KEYPRESS(#5) работала  параллельно  поиску  первой картинки  точнее  из  поиска  сделать также  ожидание   и  если   первую нашло  то пошло дальше  как  в  етом  скрипте   тут  5 ищет и  так  покругу   поправите  если  не  так
Code: [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.


GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(486,963, 515,998, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 1")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(368,815, 451,837, 11513775)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 2")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 3")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(356,624, 500,637, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         
         LOGWRITE ("пиксель 4")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 5")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(361,606, 502,618, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 6")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
ELSE
   LOGWRITE ("картинки нет")
END_IF
  картинки  улетают  со скоростью  света  Отцы   прошу  на  советы  картинка  размером 2x30  пиксель в длинну  (примерно)
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Дядя_Витя on January 05, 2020, 02:01:51 AM
Вероятно вам нужно чтото такое.
Код не проверял щас далеко от компа так что если что сторожилы поправят.
Code: (clickermann) [Select]
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
    WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
    END_CYC
end_sub


LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.

//Ждем картинку
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

 
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
         
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 05, 2020, 06:31:56 AM
Ребята как  сделать так  чтобы  скрипт  параллельно   нажимал "5" c  задержкой 1 сек(Wait(1))  и   не  мешая  поиску  первой  картинки  то есть 5  нажимается  себе а  поиск  ищет  себе  и  ето все  одновременно?  чтобы  уменьшить скажем  так  шанс  осечки. и  все  ето  желательно в  1  запущенном  Clicermann
P.S.
я проверю но  для меня  тут много непонятного)   хотя все понятно но  хз  не работал  так  еще   я  завтра   отпишу  что как  работает.
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on January 05, 2020, 09:38:22 AM
Ребята как  сделать так  чтобы  скрипт  параллельно   нажимал "5" c  задержкой 1 сек(Wait(1))  и   не  мешая  поиску  первой  картинки  то есть 5  нажимается  себе а  поиск  ищет  себе  и  ето все  одновременно?  чтобы  уменьшить скажем  так  шанс  осечки. и  все  ето  желательно в  1  запущенном  Clicermann
P.S.
я проверю но  для меня  тут много непонятного)   хотя все понятно но  хз  не работал  так  еще   я  завтра   отпишу  что как  работает.

А для чего у нас потоки?
Code: (clickermann) [Select]
THREAD(t1, 1) // данный поток выполняется независимо от задержек остального скрипта.
   LOGWRITE ("нажимаем 5")
   KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
   WAIT(1)
END_THREAD

GETSCREEN    //следущее  действие  гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")  // поиск картинки
   SETTHREAD (t1, 2) // останавливаем поток нажатия "5"
   
   LOGWRITE ("найдена картинка")
   
   LCLICK($_return1, $_return2)    // если нашло кликает
   
   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(486,963, 515,998, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 1")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(368,815, 451,837, 11513775)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 2")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 3")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(356,624, 500,637, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         
         LOGWRITE ("пиксель 4")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 5")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(361,606, 502,618, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("пиксель 6")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   SETTHREAD (t1, 1) // запускаем поток нажатия "5"
ELSE
   LOGWRITE ("картинки нет")
END_IF

Но нужно понимать что выполнение функции IF_PICTURE_IN тормозит весь скрипт, потому что команды все равно выполняются дуг за другом по списку, и пока функция поиска не отработает ничто другое в скрипте в других потоках работать не будет.
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 05, 2020, 09:57:08 AM
Oraven скажи   что ты  думаешь на  щет скрипта  от ДЯДЯ ВИТЯ ?  непонимаю  а какая  разница  между
Quote
THREAD(t1, 1) // данный поток выполняется независимо от задержек остального скрипта.
   LOGWRITE ("нажимаем 5")
   KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
   WAIT(1)
END_THREAD
и  просто keepres (#5)?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Дядя_Витя on January 05, 2020, 11:02:27 AM
Создавать отдельный поток ради нажатия одной клавиши это как стрелять из пушки по воробьям))) Весело но не логично)))
Ну сделайте так)
Code: (clickermann) [Select]
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
    WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
    END_CYC
end_sub
 
KEYPRESS(#5) // Жмяк 5

//Ждем картинку
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
      KEYPRESS(#5)
      WAITMS(1000)
   END_IF
END_CYC
 
 
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
 
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 05, 2020, 12:23:20 PM
 ;D ;D ;D рассмешил!   зачтено.  но  цифра 5  у  меня   задействована  как  обновление  принудительно
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Дядя_Витя on January 05, 2020, 12:45:49 PM
Тоесть если я вас правильно понял, вам нужен следующий алгоритм. Жмем 5=обновляем. Картинка найдена=обновляем. Нашли первый пиксель=обновляем и так далие?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Дядя_Витя on January 05, 2020, 01:12:04 PM
Если я вас правильно понял вот мой вариант решения.
Code: (clickermann) [Select]
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
    WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         LOGWRITE ("pix not fined")
         WAITMS(50)
      END_IF
    END_CYC
end_sub
 
KEYPRESS(#5) // Жмяк 5
 
//Ждем картинку
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(50)
      KEYPRESS(#5)
      WAITMS(100)
   ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
      LOGWRITE ("picture not fined")
      KEYPRESS(#5)
      WAITMS(100)
   END_IF
END_CYC
 
 
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
 
Ну и для любителей обьемного кода)) Такое решение)))
Code: (clickermann) [Select]
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.
WAITMS(1000)
 
//Ждем картинку
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(50)
      KEYPRESS(#5)
      WAITMS(100)
   ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
      LOGWRITE ("picture not fined")
      KEYPRESS(#5)
      WAITMS(100)
   END_IF
END_CYC

   //если кликнуло  ищем  пексель нашли  клик  и так  ЧЕТЫРЕ ! раза  ищем  одинаковый  пиксель  но  по  разным  кординатам
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(486,963, 515,998, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("пиксель 1")
      ELSE
         LOGWRITE ("pix 1 not fined")
         WAITMS(50)
      END_IF
   END_CYC
 
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(368,815, 451,837, 11513775)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("пиксель 2")
      ELSE
         LOGWRITE ("pix 2 not fined")
         WAITMS(50)
      END_IF
   END_CYC
 
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
          WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("пиксель 3")
      ELSE
         LOGWRITE ("pix 3 not fined")
         WAITMS(50)
      END_IF
   END_CYC
 
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(356,624, 500,637, 213)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("пиксель 4")
      ELSE
         LOGWRITE ("pix 4 not fined")
         WAITMS(50)
      END_IF
   END_CYC
 
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(355,682, 499,697, 213)
         $check = 1
         LCLICK($_return1, $_return2)
          WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("пиксель 5")
      ELSE
         LOGWRITE ("pix 5 not fined")
         WAITMS(50))
      END_IF
   END_CYC
 
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(361,606, 502,618, 213)
         $check = 1
         LCLICK($_return1, $_return2)
          WAITMS(50)
         KEYPRESS(#5)
         WAITMS(100)
         LOGWRITE ("пиксель 6")
      ELSE
         LOGWRITE ("pix 6 not fined")
         WAITMS(50)
      END_IF
   END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 09, 2020, 07:44:05 PM
Так  ребята  Вопрос!!!!  8) 8) 8)
Как  искать  несколько  картинок  тут
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 11, 2020, 04:16:57 PM
Жду  ответа  от  Знающих   как  искать  несколько  разных  картинок ??? ?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on January 11, 2020, 07:04:05 PM
Жду  ответа  от  Знающих   как  искать  несколько  разных  картинок ??? ?
Прописать несколько условий с поиском разных картинок, Ватсон...
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 11, 2020, 09:36:02 PM
Code: (clickermann) [Select]
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub


LOGWRITE ("нажимаем 5")
KEYPRESS(#5)  // 1.  нажимаем "5" //  2. если нет   нажимаем"5"  и все  поновой  ищем  первую картинку.

//Ждем картинку
$check = 0
WHILE($check = 0)
   LOGWRITE ("нажимаем 5")
   KEYPRESS(#5)
   wait(1)
   GETSCREEN
   IF_PICTURE_IN (5,197, 559, 795, "KAT999.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC


//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
  б"И"да  пришла  !!  в етом  скрипте   произходит  2-3  клика  по нужным  картинкам  а  потом  Сюрпрайз)  что не  так   подскажите  Скрипт  Не  мой  в Ветке  есть  такойже   но   етот работает но  тормозится ((
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 11, 2020, 09:44:53 PM
Вот так   искать  несколько  картинок ?   и  если  да  то  тут  нужны  Wait? или  поубирать? 
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            WAITMS(50)
         END_IF
      END_CYC
     
      $check = 0
      WHILE($check = 0)
         GETSCREEN
         IF_PIXEL_IN(711,389, 773,956, 113282)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            WAITMS(50)
         END_IF
      END_CYC
  а  как тут  теперь  скорость поиска?  дольше  искать  будет ?    может  выгоднее  запустить  несколько Кликерманов?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on January 11, 2020, 10:19:47 PM
Не верные параметры в заголовке подпрограммы
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)

Кликер не поддерживает пока присвоение переменным значения.
Правильно так:
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)Но в случаи того скрипта $check там вообще нельзя писать, та как в вызове нет такого параметра. Отсюда и ошибка.

На счет твоего скрипта верно так
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            WAITMS(50)
         END_IF
      END_IF
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(711,389, 773,956, 113282)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on January 11, 2020, 10:22:23 PM
а  как тут  теперь  скорость поиска?  дольше  искать  будет ?    может  выгоднее  запустить  несколько Кликерманов?

Искать будет картинки друг за другом, пока не совпадет. Скорость зависит от размера области поиска и размера картинки поиска.
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on January 11, 2020, 10:24:42 PM
а  как тут  теперь  скорость поиска?  дольше  искать  будет ?    может  выгоднее  запустить  несколько Кликерманов?

Искать будет картинки друг за другом, пока не совпадет. Скорость зависит от размера области поиска и размера картинки поиска.
Размер  картинки 1x30-50 пикселей в  длину  примерно  такая  картинка , а  еще  что скажешь  из  личного  опыта  2- запущенных  кликермана   медленнее  будут  работать   чем 1 нос  полным  кодом?  то есть  если  в  каждом кликермане  задать  область  допустим 1 половина  экрана и 2   вторая  половина экрана
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: gogodanse on January 12, 2020, 02:45:16 PM
Народ кто шарит может кинуть правильно смысл

(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))

Выдает ошибку, что не так ?

Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on January 12, 2020, 04:28:04 PM
Народ кто шарит может кинуть правильно смысл

(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))

Выдает ошибку, что не так ?

Мне нужно чтобы он любую из двух фраз искал, а не обе сразу

Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: gogodanse on January 12, 2020, 05:32:22 PM
Народ кто шарит может кинуть правильно смысл

(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))

Выдает ошибку, что не так ?

Мне нужно чтобы он любую из двух фраз искал, а не обе сразу

Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...

А если два условия поставить это будет бред ?

Допустим:

(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on January 12, 2020, 05:57:07 PM
Народ кто шарит может кинуть правильно смысл

(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))

Выдает ошибку, что не так ?

Мне нужно чтобы он любую из двух фраз искал, а не обе сразу

Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...

А если два условия поставить это будет бред ?

Допустим:

(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
Code: (clickermann) [Select]
// Так ищем обе подстроки
IF(strpos($stroka, "Фраза1"))
   IF(strpos($stroka, "Фраза2"))
      LOGWRITE ("Обе подстроки найдены")
   END_IF
END_IF
// А так ищем любую из подстрок
$flag = 0
IF(strpos($stroka, "Фраза1"))
   $flag = 1
else
   IF(strpos($stroka, "Фраза2"))
      $flag = 1
   END_IF
END_IF

IF($flag)
   LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: gogodanse on January 12, 2020, 07:27:27 PM
Народ кто шарит может кинуть правильно смысл

(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))

Выдает ошибку, что не так ?

Мне нужно чтобы он любую из двух фраз искал, а не обе сразу

Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...

А если два условия поставить это будет бред ?

Допустим:

(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
Code: (clickermann) [Select]
// Так ищем обе подстроки
IF(strpos($stroka, "Фраза1"))
   IF(strpos($stroka, "Фраза2"))
      LOGWRITE ("Обе подстроки найдены")
   END_IF
END_IF
// А так ищем любую из подстрок
$flag = 0
IF(strpos($stroka, "Фраза1"))
   $flag = 1
else
   IF(strpos($stroka, "Фраза2"))
      $flag = 1
   END_IF
END_IF

IF($flag)
   LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF

Блин не хотел я else использовать :((( ну ладно спасибо hit <3 как обычно выручил, щас ещё подумаю если что дак этот использую
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on January 12, 2020, 07:40:44 PM
Блин не хотел я else использовать :(((
А чем else тебе не нравится...?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: gogodanse on January 12, 2020, 07:48:02 PM
Блин не хотел я else использовать :(((
А чем else тебе не нравится...?

Посмотри пожалуйста

$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if (strpos($HTML, "Фраза 1")) если фраза найдена
   if(wndfind($pack1)) // если окно не открыто
   else
Выполняем действия для открытия окна
   END_IF
END_IF

if (strpos($HTML, "Фраза1")) Тут через else тоесть если фраза не найдена
else
   if(wndfind($pack1))  А окно открыто
Выполняем действия для закрытия окна
   END_IF
END_IF

Дак вот я понял что на сайте может быть 2 разные фразы, и мне нужно сделать так чтобы он искал обе фразы
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on January 12, 2020, 09:55:12 PM
Блин не хотел я else использовать :((( ну ладно спасибо hit <3 как обычно выручил, щас ещё подумаю если что дак этот использую

вот тебе без ELSE, в чем проблема то?..
Code: (clickermann) [Select]
// Так ищем обе подстроки
IF((strpos($stroka, "Фраза1") > 0) & (strpos($stroka, "Фраза2") > 0))
   LOGWRITE ("Обе подстроки найдены")
END_IF

// А так ищем любую из подстрок
IF((strpos($stroka, "Фраза1") > 0) | (strpos($stroka, "Фраза2") > 0))
   LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF


Посмотри пожалуйста

$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if (strpos($HTML, "Фраза 1")) если фраза найдена
   if(wndfind($pack1)) // если окно не открыто
   else
Выполняем действия для открытия окна
   END_IF
END_IF

if (strpos($HTML, "Фраза1")) Тут через else тоесть если фраза не найдена
else
   if(wndfind($pack1))  А окно открыто
Выполняем действия для закрытия окна
   END_IF
END_IF

Дак вот я понял что на сайте может быть 2 разные фразы, и мне нужно сделать так чтобы он искал обе фразы

Code: (clickermann) [Select]
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if ((strpos($HTML, "Фраза 1") > 0) | (strpos($HTML, "Фраза 2") > 0)) // если фраза найдена
   if(wndfind($pack1) = 0) // если окно не открыто
      // Выполняем действия для открытия окна
   END_IF
ELSE // Тут через else тоесть если фраза не найдена
   if(wndfind($pack1) > 0)  // А окно открыто
      // Выполняем действия для закрытия окна
   END_IF   
END_IF
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: gogodanse on January 12, 2020, 11:51:23 PM
Блин не хотел я else использовать :((( ну ладно спасибо hit <3 как обычно выручил, щас ещё подумаю если что дак этот использую

вот тебе без ELSE, в чем проблема то?..
Code: (clickermann) [Select]
// Так ищем обе подстроки
IF((strpos($stroka, "Фраза1") > 0) & (strpos($stroka, "Фраза2") > 0))
   LOGWRITE ("Обе подстроки найдены")
END_IF

// А так ищем любую из подстрок
IF((strpos($stroka, "Фраза1") > 0) | (strpos($stroka, "Фраза2") > 0))
   LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF


Посмотри пожалуйста

$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if (strpos($HTML, "Фраза 1")) если фраза найдена
   if(wndfind($pack1)) // если окно не открыто
   else
Выполняем действия для открытия окна
   END_IF
END_IF

if (strpos($HTML, "Фраза1")) Тут через else тоесть если фраза не найдена
else
   if(wndfind($pack1))  А окно открыто
Выполняем действия для закрытия окна
   END_IF
END_IF

Дак вот я понял что на сайте может быть 2 разные фразы, и мне нужно сделать так чтобы он искал обе фразы

Code: (clickermann) [Select]
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if ((strpos($HTML, "Фраза 1") > 0) | (strpos($HTML, "Фраза 2") > 0)) // если фраза найдена
   if(wndfind($pack1) = 0) // если окно не открыто
      // Выполняем действия для открытия окна
   END_IF
ELSE // Тут через else тоесть если фраза не найдена
   if(wndfind($pack1) > 0)  // А окно открыто
      // Выполняем действия для закрытия окна
   END_IF   
END_IF

Я так понимаю это оптимизация моего кода D:

Все было так просто , спасибо большое  ::)
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on April 23, 2020, 10:27:45 PM
Не верные параметры в заголовке подпрограммы
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)

Кликер не поддерживает пока присвоение переменным значения.
Правильно так:
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)Но в случаи того скрипта $check там вообще нельзя писать, та как в вызове нет такого параметра. Отсюда и ошибка.
Всем  привет   вот    я внес  изминения  по твоим  рекомендациям  и всеравно  такое  высвечивается  скрин  Ниже   подскажите  как  проправить   чтобы  работало  на  ура
 
Code: (clickermann) [Select]
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (117,141, 183,1016, "2.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (117,141, 183,1016, "0.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
      IF_PICTURE_IN (117,141, 183,1016, "1.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
       END_IF
END_IF
   END_IF
END_CYC


//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(397, 797, 412, 803, 213) // Жду
Find_pix(462, 636, 485, 642, 213)   //  есть
с  сабами  не  работал  никогда  для меня  все новое   пока  разбираюсь
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on April 24, 2020, 06:39:37 AM
   подскажите  как  проправить   чтобы  работало  на  ура

Количество параметров в вызове меньше чем установленных переменных в заголовке подпрограммы.
Code: (clickermann) [Select]
Find_pix(496, 945, 498, 950, 213)
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)
Code: (clickermann) [Select]
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (117,141, 183,1016, "2.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (117,141, 183,1016, "0.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN (117,141, 183,1016, "1.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            WAITMS(50)
         END_IF
      END_IF
   END_IF
END_CYC


//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(397, 797, 412, 803, 213) // Жду
Find_pix(462, 636, 485, 642, 213)   //  есть
Title: Re: кражи на форуме!
Post by: Чольшой Блен on April 24, 2020, 08:24:31 AM
Неоднократно замечал, что своевременные и дельные ответы форумчан пропадают из тем, а вместо них появляются ответы какого-то оравена.
Думал что люди увидев после своего более полный ответ, просто удаляют самостоятельно, чтоб не плодить повторений в одной теме.
Но вот сегодня столкнулся с тем, что и мои ответы украдены и подменены ответами того-же человека.
Может кто понимающий может объяснить, зачем это делается?
Если для дела, то пойму, но пока такие массовые подмены, мной воспринимаются, как обычное воровство для набора совершенно незаслуженной популярности. Даже если человек уверен, что отвечает правильнее и полнее, то со стороны такая деятельность выглядит очень некрасиво.
Title: Re: кражи на форуме!
Post by: JacsoN on April 24, 2020, 01:27:38 PM
Неоднократно замечал, что своевременные и дельные ответы форумчан пропадают из тем, а вместо них появляются ответы какого-то оравена.
Думал что люди увидев после своего более полный ответ, просто удаляют самостоятельно, чтоб не плодить повторений в одной теме.
Но вот сегодня столкнулся с тем, что и мои ответы украдены и подменены ответами того-же человека.
Может кто понимающий может объяснить, зачем это делается?
Если для дела, то пойму, но пока такие массовые подмены, мной воспринимаются, как обычное воровство для набора совершенно незаслуженной популярности. Даже если человек уверен, что отвечает правильнее и полнее, то со стороны такая деятельность выглядит очень некрасиво.
к чему  ето сообщение ?   не  понимаю
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on April 24, 2020, 01:29:09 PM
Спасибо  вроди  заработало  хотя  я вчера  Check   убирал не  работало   магия какаято ))
Title: Re: кражи на форуме!
Post by: Hito on April 25, 2020, 11:27:25 AM
какого-то оравена
Это ты супермодератора называешь каким-то...? )))) Oraven и Vint - это те люди, которые нам - олухам, отвечают наиболее полно и готовыми примерами, без лишних разговоров и уже далеко не первый год.
Title: Re: кражи на форуме!
Post by: Чольшой Блен on April 25, 2020, 12:06:32 PM
какого-то оравена
Это ты супермодератора называешь каким-то...? )))) Oraven и Vint - это те люди, которые нам - олухам, отвечают наиболее полно и готовыми примерами, без лишних разговоров и уже далеко не первый год.
Не надо, смешивать всё и всех в одну кучу. Я привёл конкретно свой случай, так- как ситуация очень странная.
Олухам может и всё равно, а нормальные форумчане замечают даже скрытое редактирование своих сообщений!
Везде где администрация, что-то подчищает или удаляет, то об этом остаются служебные сообщения, а тут вырезали из твоего сообщения, код и ты выглядишь не опытным программером, а дурачком-балаболкой.
Если кто-то понимает, происходящее и может объяснить, то буду благодарен, если нет, то и ладно везде свои странности и особенности, здесь такие-вот, на других форумах свои.
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on June 04, 2020, 09:47:19 AM
ребята  всем  добрый  день   задача как то произвольно усложнилась (((
    нужно искать слово "БУЛЬВАР" в картинке  3 квадрата (см картинка) и  в каком квадрате  нахожу  слово  в  том  и  продолжаем  скрипт НО
если  нахожу слово "БУЛЬВАР"  и  не  находит  дальше  по скрипту  переходит   заново поиск по квадратам  слова  "БУЛЬВАР"  если нашло  то по списку дальше  и  так  по кругу
 не могу  понять как  ето сделать (((
 у нас к  примеру  во   2  и  3  картинках есть слово  БУЛЬВАР   а   по условию  скрипта к примеру  2 квадрат  слово есть а  дальше нам не  подходит   и мы  ето должны пропустьть не  смотря  что есть найдено БУЛЬВАР  а в 3 квалдрате  есть и  бульвар и  нам  подходит условие  скрипта.   
Тоесть для  чего  надо делить на квадраты  какимто образом  при  нахождении  БУЛЬВАР  нажимало там  где  нашло  а  не   где  попало.

Поправте и простите   если  коряво  обьяснил )

Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (281,214, 523,1020, "бульвар.bmp")    // слово  ищем
      $check = 1
      LOGWRITE ("есть ! ! !")
     
     
      // ========================================
     
      IF_PICTURE_IN (117,141, 183,1016, "0.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE                                                // ночь
         IF_PICTURE_IN (117,141, 183,1016, "1.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            IF_PICTURE_IN (117,141, 183,1016, "2.bmp")
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
            ELSE
               WAITMS(50)
            END_IF
         END_IF
      END_IF
   END_IF
END_CYC

//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(397, 797, 412, 803, 4342338) // Жду
Find_pix(437, 633, 498, 652, 213)    //  есть
Find_pix(464, 699, 489, 711, 213)    //  вроди как  ок нажал
Find_pix(567, 901, 575, 906, 16777215)    // кнопка назад

Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on June 17, 2020, 08:01:54 PM
ребята  всем  добрый  день   задача как то произвольно усложнилась (((
Опять циклы запихнул... Ппц... :(
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on June 18, 2020, 12:02:24 AM
НУ   цикл  ищет  а  саб    делает  все  ок   было  а  что   изменить  ?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 18, 2020, 11:59:43 PM
ребят   кто  более  точно  проконсультирует  по  поводу моего  вопроса    который в  Ответ 50  написан 

как  реализовать  поиск в  заданных координатах   если  их  может быть  несколько  сразу ?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 19, 2020, 07:29:24 AM
как  правельно  задать  область поиска после   нахождения?  тоесть нужно както  резко  задать  квадрат в  котором нашло первую картинку  и  чтобы   не  вылезло за  приделы  границ тут как я понимаю надо делать переменную а  для меня  ето  как  серпом по яйкам )
К примеру  етот скрипт не  подходит  находит 1 ячейку и  тычит по второй(
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 2628842)
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 13387583)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
END_IF
HALT
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on July 19, 2020, 08:24:23 AM
А что тут трудного?

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
   $x = $_return1 // записываем координаты в переменные
   $y = $_return2
   
   IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "file2.bmp", -1, 100) // ищем в зоне относительно начала красной полоски
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF   
   
END_IF
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 19, 2020, 08:32:15 AM
я  просто не  компьютерный  гений  я только  учусьи   мне ето дается  тяжело а  можно попросить  дополнить сообщение  выше   обяснением  как  ты  узнал
Code: (clickermann) [Select]
($x-116,$y-51, $y+268,$y+690,сколько  нужно добавить и  сколько нужно убавить?  пожалусто


и  проблема  если  искать  чисто пиксель... то всеравно   находит  2  картинку  а надо  третья ...
Code: (clickermann) [Select]
GETSCREEN

IF_PIXEL_IN(0,0, $_xmax,$_ymax, 2299883)
   $x =  $_return1
   $y =  $_return2
   
   IF_PIXEL_IN($x-200,$y-200, $y+500,$y+500, 13387583)
     
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
END_IF
halt
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 19, 2020, 10:52:07 AM
ану ребята  подкоректируйте   вроди должно работать
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (117,141, 183,1016, "кат.bmp")
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "кат.bmp") // тут  не понятно   какая  зона рамки... но вроди работает
         
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         
      END_IF
     
   END_CYC
   
   
   
   //Если картинка найдена то ищем пиксели итд.
   Find_pix(496, 945, 498, 950, 213)  //  Есть
   Find_pix(369, 819, 433, 835, 4342338) // Жду
   
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (263,90, 391,1033, " есть.bmp", -1, 100) // ето последнее действие после  САБА
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_IF
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Oraven on July 19, 2020, 04:10:50 PM
ану ребята  подкоректируйте   вроди должно работать

Путаница с окончаниями
Так правильно
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (117,141, 183,1016, "кат.bmp")
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "кат.bmp") // тут  не понятно   какая  зона рамки... но вроди работает
         
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         
      END_IF
   END_IF
END_CYC



//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (263,90, 391,1033, " есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

Quote
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "кат.bmp") // тут  не понятно   какая  зона рамки... но вроди работает
$x и $y до этого не объявлены а значит при первом упоминании будут 0
итого зона поиска будет такой
-116,-51, 268,690

Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 20, 2020, 04:37:21 PM
так  товариш оравен   подкоректировал скрипт ваш  под  себя .можно   очень   подробно  про  строку 21  22  23
Code: (clickermann) [Select]
$x-116,$y-51, $y+268,$y+690 как  найти  правельно  кординаты  которые  вводить зону  поиска   может  какойто пример порекомендуете?
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (112,211, 553,1037, "аптека.bmp")
      $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // тут  не понятно   какая  зона рамки... но вроди работает
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
   END_IF
END_CYC



//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (263,90, 391,1033, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 21, 2020, 10:42:18 AM
ребят  опять  мудрую как   быть ...... вот   что у меня  щяс  получается  вроди работает но  строка 20
ето первый поиск если  находит  нужно чтобы  искал 23   и 25  по  очереди ...... а  мне кажится  он  зависает  при  таком  написании   может чтото подправить ?
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (112,211, 553,1037, "кат.bmp") //  ее ищем  сразу   если  она  есть  ищем  ниже 23  25 строки
     $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "11.bmp")  //  если нету  ищем  ниже
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "33.bmp")
           
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
         END_IF
      END_IF
   END_IF
END_CYC



//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

он вообще  Зависает  и   комп  виснет  чтото   не  то  делаю......

 но  вот  ето исполнение   скрипта   не  тормозит комп  вродибы что  скажите
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (112,211, 553,1037, "кат.bmp")
      $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "11.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN (112,211, 553,1037, "кат.bmp")
            $x =  $_return1
            $y =  $_return2
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "33.bmp")
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
            END_IF
         END_IF
      END_IF
   END_IF
END_CYC



//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
и  если  такая  картинка   то  ничего не  произходит  хотя  должно  кликнуть  по  нижней    голова  не  понимает как    подкооректировать
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 22, 2020, 01:52:15 PM
 ребята  может ето все както в цикл?
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub



$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (112,211, 552,406, "кат.bmp")   //  ищем  если есть   ищем 42 строку
      $check = 1
      $x =  $_return1
      $y =  $_return2
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (112,211, 552,406, "кат.bmp")  //  ищем  если есть   ищем 42 строку
         $check = 1
         $x =  $_return1
         $y =  $_return2
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_IF
END_CYC





IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")    //  ищем  если есть  клик если нету 
   
   LOGWRITE ("0")
   LCLICK($_return1, $_return2)
   WAITMS(100)
ELSE
   IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")     //  ищем  если есть  клик если нету
     
      LOGWRITE ("1")
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")    //  ищем  если есть  клик если нету               переходим к 18 строке  и  в ето все  в  цикл
         
         LOGWRITE ("2")
         
         LCLICK($_return1, $_return2)
         WAITMS(100)
         
         
         WAITMS(50)
      END_IF
   END_IF
END_IF




//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
   не научился  понимать как добавлять циклы ))))
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on July 22, 2020, 06:47:57 PM
ребята  может ето все както в цикл?
Циклы в цикл? А потом и этот цик в принципе можно в цикл закатать.
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 22, 2020, 09:13:23 PM
ребята  может ето все както в цикл?
Циклы в цикл? А потом и этот цик в принципе можно в цикл закатать.
да   дядя  имено  вот  набросил визуально задание  так  мне   легче   понять  и  другим  обьяснить  вот  пока  что сложил но  оно  не  работает ........
картинкаhttps://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing (https://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing)



.
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub



$gc = 0         // произвольная переменная  только  не  могу  ее пременить правельно
While($gc ! 1)
   
   // ================================1111111================
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (112,208, 557,408, "кат.bmp")   // первый красный  квадрат
         $x =  $_return1  //  переменная  кординаты квадрата
         $y =  $_return2
         $check = 1
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_IF
   
   
   
   
   $check = 0
   WHILE($check = 0)
     
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")    // используем  переменную с верху
         $check = 1
         LOGWRITE ("0")
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")     // // используем  переменную с верху
            $check = 1
            LOGWRITE ("1")
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")   // используем  переменную с верху
               $check = 1
               
               LOGWRITE ("2")
               
               LCLICK($_return1, $_return2)
               WAITMS(100)
               
               
               WAITMS(50)
            END_IF
         END_IF       //==================== Не  нашло   переходим  к  поиску во втором  квадрате       как ето реализовать?
      END_IF
   END_CYC
   
   //===========================================2222222222222222==============================
   
                           
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (111,407, 552,629, "кат.bmp")  //  второй  красный  квадрат
         $x =  $_return1               
         $y =  $_return2              //  переменная  кординаты квадрата
         $check = 1
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $check = 0
   WHILE($check = 0)
     
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")    //  ищем  если есть  клик если нету
         $check = 1
         LOGWRITE ("0")
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")     //  ищем  если есть  клик если нету
            $check = 1
            LOGWRITE ("1")
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")    //  ищем  если есть  клик если нету               переходим к 21 строке  и  в ето все  в  цикл
               $check = 1
               
               LOGWRITE ("2")
               
               LCLICK($_return1, $_return2)
               WAITMS(100)
               
               
               WAITMS(50)
            END_IF
         END_IF
      END_IF
   END_CYC
END_CYC
HALT

//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 23, 2020, 03:46:47 AM
во  проснулся  ночью...... и   на  свежую голову  попробывал  свои  силы в  переменных... но чтото    пока  не  работает  не понимаю как  циклу сказать что я от него  хочу описание  в картинке https://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing (https://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing)

Code: (clickermann) [Select]
$gc = 0          // основная  переменная всего  скрипта которая возвращяет цикл   если не нащлось $gc3 $gc5
While($gc ! 1)
   
   
   $gc2 = 0 //переменная 1 квадрата
   While($gc2 ! 1) //условие  если $gc2= 1 ищем @gc3
     
     
     
      // ================================1111111================
     
      LOGWRITE ("начало GC2")
     
      GETSCREEN
      IF_PICTURE_IN (112,208, 557,408, "кат.bmp")   // первый красный  квадрат
         $x =  $_return1  //  переменная  кординаты квадрата
         $y =  $_return2
         WAITMS(100)
      ELSE
         $check = 1
      END_IF
     
     
      LOGWRITE ("вышли  и  погнали  дальше")
     
     
      $gc3 = 0 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      While($gc3 ! 1) //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         
         
         GETSCREEN($x,$y)
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")    // используем  переменную с верху
            LOGWRITE ("0")
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")     // // используем  переменную с верху
               LOGWRITE ("1")
               LCLICK($_return1, $_return2)
               WAITMS(100)
            ELSE
               IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")   // используем  переменную с верху
                 
                  LOGWRITE ("2")
                 
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                 
                 
                  WAITMS(50)
                 
               ELSE //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  $check = 1 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                 
               END_IF
            END_IF       //==================== Не  нашло   переходим  к  поиску во втором  квадрате       как ето реализовать?
         END_IF
      END_CYC
   END_CYC
                    LOGWRITE ("начало GC3")
   
   //===========================================2222222222222222==============================
   $gc3 = 0 //переменная 2 квадрата
   While($gc3 ! 1) //условие  если $gc3= 1 ищем @gc4
     
      GETSCREEN
      IF_PICTURE_IN (111,407, 552,629, "кат.bmp")  //  второй  красный  квадрат
         $x =  $_return1
         $y =  $_return2              //  переменная  кординаты квадрата
         
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   $gc4 = 0 //переменная  синего  квадратика  если есть  нажал погнали дальше
   While($gc4 ! 1) //условие  если $gc2= 1 ищем @gc3
     
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")    //  ищем  если есть  клик если нету
         
         LOGWRITE ("0")
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")     //  ищем  если есть  клик если нету
           
            LOGWRITE ("1")
            LCLICK($_return1, $_return2)
            WAITMS(100)
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")    //  ищем  если есть  клик если нету               переходим к 21 строке  и  в ето все  в  цикл
               
               
               LOGWRITE ("2")
               
               LCLICK($_return1, $_return2)
               WAITMS(100)
               
            ELSE //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
               $check = 1 //@@@@@@@@@@@@
            END_IF
         END_IF
      END_IF
   END_CYC
END_CYC
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 23, 2020, 05:46:51 AM
Народ кто шарит может кинуть правильно смысл

(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))

Выдает ошибку, что не так ?

Мне нужно чтобы он любую из двух фраз искал, а не обе сразу

Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...

А если два условия поставить это будет бред ?

Допустим:

(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
Code: (clickermann) [Select]
// Так ищем обе подстроки
IF(strpos($stroka, "Фраза1"))
   IF(strpos($stroka, "Фраза2"))
      LOGWRITE ("Обе подстроки найдены")
   END_IF
END_IF
// А так ищем любую из подстрок
$flag = 0
IF(strpos($stroka, "Фраза1"))
   $flag = 1
else
   IF(strpos($stroka, "Фраза2"))
      $flag = 1
   END_IF
END_IF

IF($flag)
   LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
чтото вроди етого нудно в моем скрипте но непонимаю.....
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on July 23, 2020, 10:13:19 PM
Что ж тебе проще-то не живется...?
Code: (clickermann) [Select]
SUB(клик, $x, $y)
   IF($click_time < $_ms)
      LCLICK($x, $y)
      $click_time = $_ms+1000
   END_IF
END_SUB

GETSCREEN

$var = 0
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем зеленую строку в первом красном квадрате
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем синюю картинку
      $var = 1
      клик ($_return1, $_return2)
   END_IF
END_IF

IF($var = 0)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем зеленую строку во втором красном квадрате
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем синюю картинку
         клик ($_return1, $_return2)
      END_IF
   END_IF
END_IF

WAITMS(50)
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 23, 2020, 10:47:00 PM
ух ты какой   я тут  два  дня  ломаю голову  как   сказать скрипту чтобы он  искал  по  очереди  два квадрата   и  проверял   если  есть строка  ищем   если нету  пропускаем .....
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)   //  саб   делает  2  функции строка 130
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================
$all = 0
IF($all = 0 )
   
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (112,211, 553,1037, "кат.bmp")   // картинка  в первом  квадрате   зеленая
         LOGWRITE ("ЕСТЬ КАТ")
         //============================ОБЯЗАТЕЛЬНО ЧИТАТЬ НИЖЕ========================
         // а  вот  тут  надо  както сказать кликеру  чтобы  он  если нету  первой  зеленой картинки в  первом квадрате  чтобы искал во втором  квадрате   так  сказать какоето проверочное  условие ......
         
         
         $x =  $_return1
         $y =  $_return2
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")  // синяя
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=0")
         ELSE
            LOGWRITE ("нету КМ")
           
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")  // синяя
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               LOGWRITE ("нашел=1")
            ELSE
               LOGWRITE ("нету КМ")
               IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")   // синяя
                  $check = 1
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  LOGWRITE ("нашел=2")
               ELSE
                  LOGWRITE ("нету КМ")
                  IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")// синяя
                     $check = 1
                     LCLICK($_return1, $_return2)
                     WAITMS(100)
                     LOGWRITE ("нашел=3")
                  ELSE
                     LOGWRITE ("нету  ищю снова ")
                     $all = 0
                     
                     
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_CYC
END_IF
//======================тут вроди как  поиск  второго квадрата  все так
//Ждем картинку  ===========================================================
$all = 0
IF($all = 0 )
   
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (111,411, 555,605, "кат.bmp")   // картинка  в первом  квадрате   зеленая
         LOGWRITE ("ЕСТЬ КАТ")
         //============================ОБЯЗАТЕЛЬНО ЧИТАТЬ НИЖЕ========================
         // а  вот  тут  надо  както сказать кликеру  чтобы  он  если нету  первой  зеленой картинки в  первом квадрате  чтобы искал во втором  квадрате   так  сказать какоето проверочное  условие ......
         
         
         $x =  $_return1
         $y =  $_return2
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")  // синяя
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=0")
         ELSE
            LOGWRITE ("нету КМ")
           
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")  // синяя
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               LOGWRITE ("нашел=1")
            ELSE
               LOGWRITE ("нету КМ")
               IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")   // синяя
                  $check = 1
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  LOGWRITE ("нашел=2")
               ELSE
                  LOGWRITE ("нету КМ")
                  IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")// синяя
                     $check = 1
                     LCLICK($_return1, $_return2)
                     WAITMS(100)
                     LOGWRITE ("нашел=3")
                  ELSE
                     LOGWRITE ("нету  ищю снова ")
                     $all = 0
                     
                     
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_CYC
END_IF

//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213)  //  Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
шах и  мат......... как  тебе  такое ??  как   теперь  твой  саб  с моим склеить?  или  можна  мой както  подправить ?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on July 24, 2020, 02:53:13 AM
кароче  раз оно  так  плохо  идет  то  легче  запустить  два  кликера   раз не могу  понять ....... и все  будет  работать
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on July 25, 2020, 08:41:17 PM
как   сказать скрипту чтобы он  искал  по  очереди  два квадрата   и  проверял   если  есть строка  ищем   если нету  пропускаем .....
Так что тебе не понравилось в том, что я дал?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on August 20, 2020, 08:55:00 AM
Реебята   надоело работать с  двумя и более  окнами кликермана ...... хочу в один скрипт  помнеститься... вот мозг не  срабатывает  где правельно поставить End_IF

Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку ===============ПЕРВАЯ ЧСТЬ============================================


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (112,211, 553,405, "кат.bmp")
      LOGWRITE ("ЕСТЬ КАТ")
      $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("нашел=0")
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=1")
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               LOGWRITE ("нашел=2")
            ELSE
               IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
                  $check = 1
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  LOGWRITE ("нашел=3")
               ELSE
                  LOGWRITE ("нету  ищю снова ")
               END_IF
            END_IF
         END_IF
      END_IF
   END_IF
END_IF
//==========================================ВТОРАЯ ЧАСТЬ ПРИСОЕДИНИЛ   КАК ЧТОБЫ ОДНИМ ГЕТ СКРИНОМ ВСЕ РАБОТАЛО ????????
IF_PICTURE_IN (112,411, 553,605, "катерина низ.bmp")
   LOGWRITE ("ЕСТЬ КАТ")
   $x =  $_return1
   $y =  $_return2
   IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("нашел=0")
   ELSE
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("нашел=1")
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=2")
           
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               LOGWRITE ("нашел=3")
            END_IF
         END_IF
      END_IF
   END_IF   
END_CYC






//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213)  //  Есть

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC



$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(7)
      LCLICK(580,911)  // 1250067
      WAIT(1)
      LCLICK(574,907)  // 1250067
     
     
   ELSE
      WAITMS(50)
   END_IF
END_CYC
WAIT(6)
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Vint on August 20, 2020, 10:16:59 AM
В строке 90 почему стоит END_CYC вместо END_IF?
Перед 58 поставь GETSCREEN
Остальное непонятно что не устраивает.

Аааа... там и в 56 END_IF. Что ты хочешь куда затолкать? Вторую часть внутрь цикла первой? Последовательно с существующими условиями или вложено?
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Vint on August 20, 2020, 10:21:54 AM
Так что ли?
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
    GETSCREEN
    IF_PICTURE_IN (112,211, 553,405, "кат.bmp")
        LOGWRITE ("ЕСТЬ КАТ")
        $x =  $_return1
        $y =  $_return2
        IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=0")
        ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
                $check = 1
                LCLICK($_return1, $_return2)
                WAITMS(100)
                LOGWRITE ("нашел=1")
            ELSE
                IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
                    $check = 1
                    LCLICK($_return1, $_return2)
                    WAITMS(100)
                    LOGWRITE ("нашел=2")
                ELSE
                    IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
                        $check = 1
                        LCLICK($_return1, $_return2)
                        WAITMS(100)
                        LOGWRITE ("нашел=3")
                    ELSE
                        LOGWRITE ("нету  ищю снова ")
                    END_IF
                END_IF
            END_IF
        END_IF
    END_IF
   
    //==========================================ВТОРАЯ ЧАСТЬ ПРИСОЕДИНИЛ   КАК ЧТОБЫ ОДНИМ ГЕТ СКРИНОМ ВСЕ РАБОТАЛО ????????
    IF_PICTURE_IN (112,411, 553,605, "катерина низ.bmp")
        LOGWRITE ("ЕСТЬ КАТ")
        $x =  $_return1
        $y =  $_return2
        IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=0")
        ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
                $check = 1
                LCLICK($_return1, $_return2)
                WAITMS(100)
                LOGWRITE ("нашел=1")
            ELSE
                IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
                    $check = 1
                    LCLICK($_return1, $_return2)
                    WAITMS(100)
                    LOGWRITE ("нашел=2")
                   
                ELSE
                    IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
                        $check = 1
                        LCLICK($_return1, $_return2)
                        WAITMS(100)
                        LOGWRITE ("нашел=3")
                    END_IF
                END_IF
            END_IF
        END_IF
    END_IF
END_CYC

А лучше опиши словами что хочешь. Понять по неправильному коду это невозможно.
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on August 20, 2020, 10:45:28 AM
ну так как ты показал я пробывал вроди не работает  щяс  буду тестировать   еще....не мог понять куда ставить END_IF
вот  пример 2 скрипта как их  обьеденить в один
Первый скрипт
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (112,211, 555,405, "кат.bmp")
      LOGWRITE ("ЕСТЬ КАТ")
      $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("нашел=0")
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=1")
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               LOGWRITE ("нашел=2")
            ELSE
               WAITMS(50)
               
               LOGWRITE ("нету  ищю снова ")
            END_IF
         END_IF
      END_IF
   END_IF
END_CYC




//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213)  //  Есть


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC


$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(5)
      LCLICK(580,911)  // 1250067
      WAIT(1)
      LCLICK(574,907)  // 1250067
     
     
   ELSE
      WAITMS(50)
   END_IF
END_CYC
WAIT(6)

И второй  они одинаковы только  зоны поиска немного разные
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($x, $y, $x1, $y1, $color)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("pix fined")
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
end_sub

//Ждем картинку  ===========================================================

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (111,411, 555,605, "катерина низ.bmp")
      LOGWRITE ("ЕСТЬ КАТ")
      $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LOGWRITE ("нашел=0")
      ELSE
         IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("нашел=1")
         ELSE
            IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2низ.bmp")
               $check = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               LOGWRITE ("нашел=2")
            ELSE
               LOGWRITE ("нету  ищю снова ")
            END_IF
         END_IF
      END_IF
   END_IF
END_CYC




//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213)  //  Есть

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC




$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
      $check = 1
      LCLICK($_return1, $_return2)
        WAIT(5)
      LCLICK(580,911)  // 1250067
      WAIT(1)
      LCLICK(574,907)  // 1250067
     
     
   ELSE
      WAITMS(50)
   END_IF
END_CYC
WAIT(5)
нехватает опыта как ето обьеденить
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Vint on August 21, 2020, 02:56:57 PM
Code: (clickermann) [Select]
SUB(Find_pix, $x, $y, $x1, $y1, $color)
    $check = 0
    WHILE($check = 0)
        GETSCREEN
        IF_PIXEL_IN($x, $y, $x1, $y1, $color)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE ("pix fined")
        ELSE
            WAITMS(50)
        END_IF
    END_CYC
end_sub

//Ждем картинку  ===========================================================

$check = 0
WHILE($check = 0)
    GETSCREEN(112,211, 555,405)
    IF_PICTURE_IN(112,211, 555,405, "кат.bmp")
        LOGWRITE("ЕСТЬ КАТ")
        $x = $_return1
        $y = $_return2
        IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "0.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE("нашел=0")
        ELSE
            IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "1.bmp")
                $check = 1
                LCLICK($_return1, $_return2)
                WAITMS(100)
                LOGWRITE("нашел=1")
            ELSE
                IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "2.bmp")
                    $check = 1
                    LCLICK($_return1, $_return2)
                    WAITMS(100)
                    LOGWRITE("нашел=2")
                END_IF
            END_IF
        END_IF
    END_IF

    GETSCREEN(111,411, 555,605)
    IF_PICTURE_IN(111,411, 555,605, "катерина низ.bmp")
        LOGWRITE("ЕСТЬ КАТ низ")
        $x = $_return1
        $y = $_return2
        IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LOGWRITE("нашел=0низ")
        ELSE
            IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "1.bmp")
                $check = 1
                LCLICK($_return1, $_return2)
                WAITMS(100)
                LOGWRITE("нашел=1")
            ELSE
                IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "2низ.bmp")
                    $check = 1
                    LCLICK($_return1, $_return2)
                    WAITMS(100)
                    LOGWRITE("нашел=2низ")
                END_IF
            END_IF
        END_IF
    END_IF
    WAITMS(50)
END_CYC


//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213)  //  Есть

$check = 0
WHILE($check = 0)
    GETSCREEN
    IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
        $check = 1
        LCLICK($_return1, $_return2)
        WAITMS(100)
    ELSE
        WAITMS(50)
    END_IF
END_CYC

$check = 0
WHILE($check = 0)
    GETSCREEN
    IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после  САБА
        $check = 1
        LCLICK($_return1, $_return2)
        WAIT(5)
        LCLICK(580,911)  // 1250067
        WAIT(1)
        LCLICK(574,907)  // 1250067
    ELSE
        WAITMS(50)
    END_IF
END_CYC
WAIT(6)

Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on August 22, 2020, 05:56:46 PM
Vint  Спасибо тоесть  делать GETSCREEN(222,244 666,777) по  кординатам  ето быстрее?......  чем  в миох скриптах....
ок буду тестировать  а щяс буду на форуме искаить  скрипт  как выставить окно в точно заданые  кординаты  я  его на форуме встречал))
Ненашел собрал сам....
Code: (clickermann) [Select]
LDOWN(1033,27) // место появления окна
WAITMS(50)
MOVE(354,34) // место куда перемещять
WAITMS(50)
LUP(354,34)
LOGWRITE ("переместил окно")

HALT


а еще  вопрос сюда ....что продуктивнее  поиск по пикселю.... или  поиск  ХЕШ?  есть места  где   область картинки не  изменяется .
Code: (clickermann) [Select]
GETSCREEN
$count = PXLCRC (10,20, 100, 40)
logwrite("Hash: ", $count)
TOCLIP ($count) // Сразу записывает хеш в буфер обмена - тебе уже не надо его копировать, чтоб вставить потом.
HALT // Скрипт сам остановится
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: JacsoN on August 25, 2020, 10:03:33 AM
ребята прошу вашей помощи.......в разборе данного параметра в скрипте
Code: (clickermann) [Select]
GETSCREEN(112,211, 555,405)
   IF_PICTURE_IN (112,211, 555,405, "кат.bmp")
      $x =  $_return1
      $y =  $_return2
      IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0верхБД.bmp") // вот в етой строке интересует
как узнать охват зоны поиска по  етим параметрам ?  и как  научится выщитывать  ее самостоятельно
Code: (clickermann) [Select]
$x-116,$y-51, $y+268,$y+690
Title: Re: Вопрос В помощи освоения условий Else, WHILE,
Post by: Hito on August 25, 2020, 05:45:25 PM
как узнать охват зоны поиска по  етим параметрам ?
Code: (clickermann) [Select]
LOGWRITE ($x-116,",",$y-51,", ",$y+268,",",$y+690)
и как  научится выщитывать  ее самостоятельно
Нужно освоить математику.