Author Topic: Здраствуйте.Помогите пожалуйста исправить код два дня уже ломаю голову  (Read 1994 times)

0 Members and 1 Guest are viewing this topic.

tomakim1990

  • Освоившийся
  • **
  • Posts: 37
    • View Profile
Code: (clickermann) [Select]
SUB(klik ннн) // подпрограмма
   LCLICK(1317,204)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN (1014,551,1078,576, "1.1.bmp" )
      LCLICK(RND(912,1059),RND(429,450))
      WAITMS(500)
      LCLICK(RND(1340,1358),RND(430,446))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444)) 
      WAIT(15)
   ELSE
      GETSCREEN
      IF_PICTURE_IN (1014,551,1078,576, "2.2.bmp" )
         LCLICK(RND(912,1059),RND(429,450))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAIT(15)
      ELSE
         LCLICK(RND(918,1069),RND(541,562))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444)) 
         WAIT(15)
      END_IF
   END_IF
END_SUB


SUB(klik ммм) // подпрограмма
   LCLICK(1317,204)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN (1014,551,1078,576, "1.1.bmp" )
      LCLICK(RND(912,1059),RND(429,450))
      WAITMS(500)
      LCLICK(RND(1340,1358),RND(430,446))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444))
     WAIT(15)
   ELSE
      GETSCREEN
      IF_PICTURE_IN (1014,551,1078,576, "2.2.bmp" )
         LCLICK(RND(912,1059),RND(429,450))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444)) 
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444)) 
         WAIT(15)
      ELSE
         LCLICK(RND(918,1069),RND(541,562))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444)) 
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444)) 
         WAIT(15)
      END_IF
   END_IF
END_SUB


GETSCREEN
IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN(1082,447,1158,487,"2.3.bmp")
   END_IF
END_IF
klik ннн()
ELSE
GETSCREEN
IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN(1082,447,1158,487,"2.4.bmp")
   END_IF
END_IF
klik ммм()



« Last Edit: November 27, 2018, 07:44:21 AM by Oraven »

tomakim1990

  • Освоившийся
  • **
  • Posts: 37
    • View Profile
Картинки ето я для примера ввела цыфри.
Проблема в том что срабатует только один код

tomakim1990

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

Если ставиш клик ннн первым то он срабатывает тоже он для второй подпрограмы

tomakim1990

  • Освоившийся
  • **
  • Posts: 37
    • View Profile
Вы можете подсказать,как указать путь.Картинки лежат в той же папке что и скрипт и действие происходит только первой подпрограммы.Если клик "ннн" вызов подпрограммы,стоит первым,то срабатывает он,а если клик "ммм"стоит первым,то срабатывает он.

tomakim1990

  • Освоившийся
  • **
  • Posts: 37
    • View Profile
Может сдесь ошибка какая?


GETSCREEN
IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN(1082,447,1158,487,"2.3.bmp")
   END_IF
END_IF
klik ннн()
ELSE
GETSCREEN
IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN(1082,447,1158,487,"2.4.bmp")
   END_IF
END_IF
klik ммм()


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
В конце ELSE вне условия не говоря уже о том что в действиях поиска картинок ничего нет. Также имена подпрограмм лучше всего писать английскими буквами и без пробелов.

Возможно верный вариант
Code: (clickermann) [Select]
SUB(klik_hhh) // подпрограмма
   LCLICK(1317,204)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN (1014,551,1078,576, "1.1.bmp")
      LCLICK(RND(912,1059),RND(429,450))
      WAITMS(500)
      LCLICK(RND(1340,1358),RND(430,446))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444))
      WAIT(15)
   ELSE 
      IF_PICTURE_IN (1014,551,1078,576, "2.2.bmp")
         LCLICK(RND(912,1059),RND(429,450))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAIT(15)
      ELSE
         LCLICK(RND(918,1069),RND(541,562))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAIT(15)
      END_IF
   END_IF
END_SUB


SUB(klik_mmm) // подпрограмма
   LCLICK(1317,204)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN (1014,551,1078,576, "1.1.bmp")
      LCLICK(RND(912,1059),RND(429,450))
      WAITMS(500)
      LCLICK(RND(1340,1358),RND(430,446))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444))
      WAIT(15)
   ELSE
      IF_PICTURE_IN (1014,551,1078,576, "2.2.bmp")
         LCLICK(RND(912,1059),RND(429,450))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAIT(15)
      ELSE
         LCLICK(RND(918,1069),RND(541,562))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         WAIT(15)
      END_IF
   END_IF
END_SUB


GETSCREEN
IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
   IF_PICTURE_IN(1082,447,1158,487,"2.3.bmp")
      klik_hhh()
   END_IF
ELSE
   IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
      IF_PICTURE_IN(1082,447,1158,487,"2.4.bmp")
         klik_mmm()
      END_IF
   END_IF
END_IF

И улучшим оптимизацию.
Там во второй подпрограмме появились всего две новые строки. Из можно поместить в условие а в подпрограмму добавить параметры.
Code: (clickermann) [Select]
SUB(klik,$var) // параметр передается в переменную $var
   LCLICK(1317,204)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN (1014,551,1078,576, "1.1.bmp")
      LCLICK(RND(912,1059),RND(429,450))
      WAITMS(500)
      LCLICK(RND(1340,1358),RND(430,446))
      WAITMS(500)
      LCLICK(RND(1094,1123),RND(432,444))
      IF($var = 1) // если $var равна 1 срабатывает дополнительное действие
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
      END_IF
      WAIT(15)
   ELSE
      IF_PICTURE_IN (1014,551,1078,576, "2.2.bmp")
         LCLICK(RND(912,1059),RND(429,450))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         IF($var = 1)
            WAITMS(500)
            LCLICK(RND(1094,1123),RND(432,444))
         END_IF
         WAIT(15)
      ELSE
         LCLICK(RND(918,1069),RND(541,562))
         WAITMS(500)
         LCLICK(RND(1340,1358),RND(430,446))
         WAITMS(500)
         LCLICK(RND(1094,1123),RND(432,444))
         IF($var = 1)
            WAITMS(500)
            LCLICK(RND(1094,1123),RND(432,444))
         END_IF
         WAIT(15)
      END_IF
   END_IF
END_SUB


GETSCREEN
IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
   IF_PICTURE_IN(1082,447,1158,487,"2.3.bmp")
      klik(0) // передаем параметр 0 в подпрограмму klik
   END_IF
ELSE
   IF_PICTURE_IN(45,64,957,301,"5.5.bmp")
      IF_PICTURE_IN(1082,447,1158,487,"2.4.bmp")
         klik(1) // передаем параметр 1 в подпрограмму klik
      END_IF
   END_IF
END_IF