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

Основной раздел => Общие вопросы => Topic started by: Pain on November 16, 2015, 06:08:04 PM

Title: Вопрос по правильности построения кода
Post by: Pain on November 16, 2015, 06:08:04 PM
Задача такова:Изначально код проходит полностью в строгой последовательности,затем первая часть отключается и работает вторая,затем как вторая проработает сотню раз,все начинается с первой части кода и потом снова работает только вторая,и так до бесконечности.
Пример моего кода:
[spoiler]   uf1:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "uf1.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(uf1)
END_IF
   uf2:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "uf2.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(uf2)
END_IF
   uf3:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "uf3.bmp", -1, 100)
   MOVE($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(uf3)
END_IF
   uf4:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "uf4.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(uf4)
END_IF
   uf5:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "uf5.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(uf5)
END_IF
   uf6:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "uf6.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAIT(3600)
   ELSE
   GOTO(uf6)
END_IF

 //////////////2 Часть

op1:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "11.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(op1)
END_IF
op2:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "2.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(op2)
END_IF
op3:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "33.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(op3)
END_IF
op4:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "skil1.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
KEYPRESS(#S)
   ELSE
   GOTO(op4)
END_IF
op5:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "4.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(op5)
END_IF
op6:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "55.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(50)
   ELSE
   GOTO(op6)
END_IF
op7:
GETSCREEN
IF_PICTURE_IN (214,143, 1227,708, "6.bmp", -1, 100)
   LCLICK($_return1, $_return2)
LCLICK(737,77)  // 15454130
   WAITMS(50)
   ELSE
   GOTO(op7)
END_IF[/spoiler]
PS:Буду очень благодарен за помощь и подачу моего кода в правильном виде исходя из моих задач ;)
Title: Re: Вопрос по правильности построения кода
Post by: Vint on November 16, 2015, 06:33:36 PM
Code: (clickermann) [Select]
// первая часть здесь
FOR($i=0, $i < 101)
// вторая часть кода здесь
END_CYC

И лучше бы поубирать GOTO и вот это всё одинаковое в циклы
Title: Re: Вопрос по правильности построения кода
Post by: Oraven on November 16, 2015, 06:34:25 PM
Code: (clickermann) [Select]
SUB(Part1, $image, $w)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (214,143, 1227,708, $image, -1, 100)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS($w)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
END_SUB

SUB(Part2, $image, $var)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (214,143, 1227,708, $image, -1, 100)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(50)
         IF($var = 1)
            KEYPRESS(#S)
            WAITMS(50)
         END_IF
         IF($var = 2)
            LCLICK(737,77)  // 15454130
            WAITMS(50)
         END_IF
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
END_SUB

/////// 1 Часть ////////
Part1("uf1.bmp",50)
Part1("uf2.bmp",50)
Part1("uf3.bmp",50)
Part1("uf4.bmp",50)
Part1("uf5.bmp",50)
Part1("uf6.bmp",3600)

/////// 2 Часть ////////
FOR($a=0,$a<100)
   Part2("11.bmp",0)
   Part2("2.bmp",0)
   Part2("33.bmp",0)
   Part2("skil1.bmp",1)
   Part2("4.bmp",0)
   Part2("55.bmp",0)
   Part2("6.bmp",2)
END_CYC
Title: Re: Вопрос по правильности построения кода
Post by: Vint on November 16, 2015, 06:43:27 PM
Ну как-то так:
Code: (clickermann) [Select]
FOR($i=1, $i < 7)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (214,143, 1227,708, STRCONCAT("uf", $i, ".bmp"))
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(50)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
END_CYC
WAIT(3600)

//////////////2 Часть
STRSEPARATE("11:2:33:skil1:4:55:6", ":", $name)
FOR($repeat=0, $repeat < 101)
   FOR($i=0, $i < ARRSIZE($name))
      $check = 0
      WHILE($check = 0)
         GETSCREEN
         IF_PICTURE_IN (214,143, 1227,708, STRCONCAT($name[$i] ".bmp"))
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(50)
            IF($i = 3)
               KEYPRESS(#S)
               WAITMS(50)
            END_IF
            IF($i = 6)
               LCLICK(737,77)  // 15454130
               WAITMS(50)
            END_IF
         ELSE
            WAITMS(50)
         END_IF
      END_CYC
   END_CYC
END_CYC
Title: Re: Вопрос по правильности построения кода
Post by: Oraven on November 16, 2015, 08:10:20 PM
Во как надо скрипты писать  8)  ;D
Title: Re: Вопрос по правильности построения кода
Post by: Pain on November 17, 2015, 09:29:15 AM
Я сам новичок,только начал писать скрипты,очень полезно было узнать как же должно все выглядеть в профессиональном виде.Спасибо всем за помощь :)
Title: Re: Вопрос по правильности построения кода
Post by: Pain on November 17, 2015, 02:00:35 PM
Во как надо скрипты писать  8)  ;D
Твой скрипт работает как часики.Второй же жмакает один и тот-же элемент и дальше дело не идет)