Author Topic: Вопрос В помощи освоения условий Else, WHILE,  (Read 13048 times)

0 Members and 1 Guest are viewing this topic.

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
доброй  пятници  ! ! ! помогите  освоить  условия     хоть убей не понимаю как  они  взаимо действуют..... вот  мой  щяс   скрипт.
 Мысль такова    нажимаем "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

если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
не  ребят как  раз  ето именно практическое задание   сейчас  осваиваю  все на практике,   просто  и  так  начал  для себя  с  легкого  что смог  понять  как  пойму  то  стану  великие  дела  делать  Спасибо  щяс  попробую  скопировать   и  разобраться  для себя  по вашему  примеру
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
щяс  пытаюсь  понять  почему   именно  было использованоLOGWRITE а не  WHILE ?
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
а  есть какаето более  развернутая  справка  по описанию всех значений ?
то както  мне  все  туго доходит  все ети  термины  вроди  читаешь а  понять не  можешь как все  там   происходит


« Last Edit: November 15, 2019, 11:17:41 PM by JacsoN »
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
ребята  давайте  сделаем  для новичков   таких как я   какието  технические задания  для освоения програамы   при  поддержке  бывалых
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
ребята такая  проблемка  как   правельно подкоректировать нужно  чтобы  скрипт  ждал найденый  пиксель/картинку  и не переходил  к следуйщему  действию  ето  реально ?  ето для того чтобы  не  игратся  с 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
если  есть  возможность  объясни  по  скайпу  что  да  как

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
ребята такая  проблемка  как   правельно подкоректировать нужно  чтобы  скрипт  ждал найденый  пиксель/картинку  и не переходил  к следуйщему  действию  ето  реально ?  ето для того чтобы  не  игратся  с WAITMS(00) тоесть сам  скрипт  ждет  появление  картинки  или  ето  будет  сильно грузить  проц?
В редакторе слева, меню "Шаблоны" -->> Графика -->> Ожидание картинки/Ожидание цвета/Ожидание цвета IF_PIXEL_IN


JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Тоесть если я  все  правельно сообразил  мне  надо  сделать  было  так  вот что  я сделал  но пока  не могу  проверить  не начался  рабочий  день   вот что у меня  получилось  поправте  пожалусто если  не  так
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
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
сделал так  но  фигня  какаято  кликает  по   Картинка  1  и   замерает  чтото не  так   (((
если  есть  возможность  объясни  по  скайпу  что  да  как

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
сделал так  но  фигня  какаято  кликает  по   Картинка  1  и   замерает  чтото не  так   (((

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

Он не замирает, он ждёт пиксель (сначала 213)


JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Вопрос В помощи освоения условий Else, WHILE,
« Reply #10 on: December 26, 2019, 10:30:31 PM »
как то  долго   ладно  буду  тестировать Спасибо  наверное  надо  поубирать waitms(300)
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Вопрос В помощи освоения условий Else, WHILE,
« Reply #11 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
если  есть  возможность  объясни  по  скайпу  что  да  как

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вопрос В помощи освоения условий Else, WHILE,
« Reply #12 on: December 27, 2019, 04:10:57 PM »
Он и так ждёт.
Сначала ждёт "zp.bmp", потом цвет 42870


JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Вопрос В помощи освоения условий Else, WHILE,
« Reply #13 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  както можна использевать но  незнаю как правельно
если  есть  возможность  объясни  по  скайпу  что  да  как

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Вопрос В помощи освоения условий Else, WHILE,
« Reply #14 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