Author Topic: Помогите составить скрипт  (Read 2588 times)

0 Members and 1 Guest are viewing this topic.

Юра

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Помогите составить скрипт
« on: February 01, 2018, 11:32:52 AM »
У меня есть 5 скриптов 1.cms 2.cms 3.cms 4.cms 5.cms  и 5 картинок  1.bmp 2.bmp 3.bmp 4.bmp 5.bmp
мне нужно создать скрипт с условием:

//если появилась картинка 1.bmp
1. клик на 1.bmp
2. выполнить скрипт 1.cms

// если появилась картинка 2.bmp
 то выполнить скрипт 2.cms

// если появилась картинка 3.bmp
 то выполнить скрипт 3.cms

 // если появилась картинка 4.bmp
 то выполнить скрипт 4.cms

 // если появилась картинка 5.bmp
 то выполнить скрипт 5.cms

     и так пусть ищет по кругу, пока не найдёт одну из этих картинок.

   Условия: Если выполнен хоть один из пяти скриптов, то возвращаемся в самое начало и опять ищем.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Помогите составить скрипт
« Reply #1 on: February 01, 2018, 12:11:55 PM »
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
   #include "1.cms"
   WAITMS(500)
else
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      #include "2.cms"
      WAITMS(500)
   else
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
         #include "3.cms"
         WAITMS(500)
      else
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
            #include "4.cms"
            WAITMS(500)
         else
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
               #include "5.cms"
               WAITMS(500)
            else
               WAITMS(100)
            END_IF
         END_IF
      END_IF
   END_IF
END_IF

Юра

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: Помогите составить скрипт
« Reply #2 on: February 01, 2018, 12:49:40 PM »
Спасибо большое, буду пробовать!!!

Юра

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: Помогите составить скрипт
« Reply #3 on: February 01, 2018, 01:29:27 PM »
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
   #include "1.cms"
   WAITMS(500)
else
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      #include "2.cms"
      WAITMS(500)
   else
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
         #include "3.cms"
         WAITMS(500)
      else
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
            #include "4.cms"
            WAITMS(500)
         else
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
               #include "5.cms"
               WAITMS(500)
            else
               WAITMS(100)
            END_IF
         END_IF
      END_IF
   END_IF
END_IF


Соединил ещё одно условие, вообще ничего не работает:
WAIT(1)
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // удаляем предыдущий поиск
WAITMS(50)

KEYSTRING("найти", 40) // Вводим текст для поиска
WAITMS(2000)

GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3315455) // ищем цвет выделения
   LCLICK($_return1+2, $_return2+2) // кликаем по найденному
   WAITMS(100)
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
   #include "1.cms"
   WAITMS(500)
else
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      #include "2.cms"
      WAITMS(500)
      else
               WAITMS(100)
            END_IF
         END_IF

Юра

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: Помогите составить скрипт
« Reply #4 on: February 01, 2018, 02:16:35 PM »
вообще-вообще ничего или хоть что-то работает?
Вы ведь без соединения должны были проверять.

А как соединить, я ещё пока новичок, пытаюсь понять, как это работает.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите составить скрипт
« Reply #5 on: February 01, 2018, 02:22:51 PM »
Скрипт верный, но хочется узнать что находится в "1.cms" и "2.cms"

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Помогите составить скрипт
« Reply #6 on: February 01, 2018, 02:36:55 PM »
Соединил ещё одно условие, вообще ничего не работает:
WAIT(1)
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // удаляем предыдущий поиск
WAITMS(50)

KEYSTRING("найти", 40) // Вводим текст для поиска
WAITMS(2000)

GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3315455) // ищем цвет выделения
   LCLICK($_return1+2, $_return2+2) // кликаем по найденному
   WAITMS(100)
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
   #include "1.cms"
   WAITMS(500)
else
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      #include "2.cms"
      WAITMS(500)
      else
               WAITMS(100)
            END_IF
         END_IF

у тебя после клика по найденному задержка в 100мс и сразу поиск картинки. за 100мс скорее всего на экране ничего еще не подгрузилось, занчит и картинки 1-5 еще не появились. а если нет картинок, то возврат к поиск ctrl+f.

Code: (clickermann) [Select]
WAIT(1)
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // удаляем предыдущий поиск
WAITMS(50)

KEYSTRING("найти", 40) // Вводим текст для поиска
WAITMS(2000)

GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3315455) // ищем цвет выделения
   LCLICK($_return1+2, $_return2+2) // кликаем по найденному
   WAITMS(100)
END_IF

//WHILE(1)  //такбудет искать картинки 1-5 и выполнять скрипты 1-5. назад к поиску ctrl+f уже не вернется.

$check = 0
WHILE($check = 0)  //пока не найдет одну из пяти картинок. если найдет, выполнит  #include и вернется к поиску ctrl+f и клику по найденному.
   
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
      #include "1.cms"
      WAITMS(500)
      $check = 1
   else
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
         #include "2.cms"
         WAITMS(500)
         $check = 1
      else
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
            #include "3.cms"
            WAITMS(500)
            $check = 1
         else
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
               #include "4.cms"
               WAITMS(500)
               $check = 1
            else
               IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
                  #include "5.cms"
                  WAITMS(500)
                  $check = 1
               else
                  WAITMS(100)
               END_IF
            END_IF
         END_IF
      END_IF
   END_IF
   
END_CYC

Юра

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: Помогите составить скрипт
« Reply #7 on: February 01, 2018, 02:39:17 PM »
вообще-вообще ничего или хоть что-то работает?
Вы ведь без соединения должны были проверять.

А как соединить, я ещё пока новичок, пытаюсь понять, как это работает.
Не стоит приуменьшать свои способности, определённо, что вы искушённый пользователь Clickermann, уже не раз замеченный на этом форуме.

Да нет у меня пока ещё способностей, только недавно решил попробовать писать скрипты. Просто учусь   быстро и на ходу. Пытаюсь анализировать.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите составить скрипт
« Reply #8 on: February 01, 2018, 06:27:23 PM »
Вот не понятно зачем там INC вообще....
Code: (clickermann) [Select]
GETSCREEN
FOR($i=1,$i<6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax,STRCONCAT($i,".bmp"), -1, 100)
      SWITCH($i)
      CASE(1)
         #include "1.cms"
      CASE(2)
         #include "2.cms"
      CASE(3)
         #include "3.cms"
      CASE(4)
         #include "4.cms"
      CASE(5)
         #include "5.cms"
      END_SWITCH
      WAITMS(500)
      $i=999 // выходим из цикла
   END_IF
END_CYC
WAITMS(50)

Юра

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: Помогите составить скрипт
« Reply #9 on: February 01, 2018, 09:27:26 PM »
Вот не понятно зачем там INC вообще....
Code: (clickermann) [Select]
GETSCREEN
FOR($i=1,$i<6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax,STRCONCAT($i,".bmp"), -1, 100)
      SWITCH($i)
      CASE(1)
         #include "1.cms"
      CASE(2)
         #include "2.cms"
      CASE(3)
         #include "3.cms"
      CASE(4)
         #include "4.cms"
      CASE(5)
         #include "5.cms"
      END_SWITCH
      WAITMS(500)
      $i=999 // выходим из цикла
   END_IF
END_CYC
WAITMS(50)

Спасибо хлопцы, не думал, что так поможете.!!! Просто пока учусь.