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

Основной раздел => Общие вопросы => Topic started by: Зануда on May 25, 2017, 09:05:14 PM

Title: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 25, 2017, 09:05:14 PM
как упростить если при нахождении одной из  картинок выполнять одно  и то же действия это вроде как то через подпрограму делается ?
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Oraven on May 25, 2017, 09:11:49 PM
Code: (clickermann) [Select]
SUB(имя) // подпрограмма
   // тело выполняется только после вызова
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_SUB


GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
   имя() // вызов подпрограммы (обязательно ниже подпрограммы)
ELSE
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      имя() // вызов подпрограммы (обязательно ниже подпрограммы)
   END_IF
END_IF
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 25, 2017, 09:15:17 PM
а если картинок больше 10 то их все прийдется писать каждую отдельно да?  :-\ 
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: open_78 on May 25, 2017, 09:39:50 PM
Опять всех запутал ;D. Это не подпрограмма, это цикл называется.
Вот пример:
http://crapware.aidf.org/forum/index.php?topic=2875.msg18708#msg18708
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Oraven on May 25, 2017, 09:41:47 PM
Можно прогнать их через цикл

Code: (clickermann) [Select]
GETSCREEN
FOR($i=1,$i<16) // Имена рартинок от Image_1.bmp до Image_15.bmp
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Image_", $i, ".bmp"), -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      $i=9999 // выход из цикла
   END_IF
END_CYC
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 25, 2017, 10:06:11 PM
тогда выходит нужно картинки подписывать именно по порядку и к этому же нудно чтоб их всегда было столько по порядку для меня не удобно  :-[ я тогда сам запутаюсь что где
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: open_78 on May 25, 2017, 10:36:02 PM
тогда выходит нужно картинки подписывать именно по порядку и к этому же нудно чтоб их всегда было столько по порядку для меня не удобно  :-[ я тогда сам запутаюсь что где
Если боишься запутаться в своих картинках сделай через массив.
Code: (clickermann) [Select]
STRSEPARATE("Огонь,Воздух,Земля,Вода",",",$picture) //  Впиши названия своих картинок через запятую

FOR($num=0,$num<ARRSIZE($picture))
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($picture[$num],".bmp"),-1,100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      $num=ARRSIZE($picture)+999
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 25, 2017, 11:16:41 PM
спасибо ))) :)
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 26, 2017, 07:47:15 AM
тогда выходит нужно картинки подписывать именно по порядку и к этому же нудно чтоб их всегда было столько по порядку для меня не удобно  :-[ я тогда сам запутаюсь что где
Если боишься запутаться в своих картинках сделай через массив.
Code: (clickermann) [Select]
STRSEPARATE("Огонь,Воздух,Земля,Вода",",",$picture) //  Впиши названия своих картинок через запятую

FOR($num=0,$num<ARRSIZE($picture))
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($picture[$num],".bmp"),-1,100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      $num=ARRSIZE($picture)+999
   ELSE
      WAITMS(50)
   END_IF
END_CYC


а как добавить если ни одна из этих картинок не нашлась  то делать совсем дугое ? ???
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: open_78 on May 26, 2017, 07:59:56 AM
а как добавить если ни одна из этих картинок не нашлась  то делать совсем дугое ? ???
Code: (clickermann) [Select]
STRSEPARATE("Огонь,Воздух,Земля,Вода",",",$picture) //  Впиши названия своих картинок через запятую

FOR($num=0,$num<ARRSIZE($picture))
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,STRCONCAT($picture[$num],".bmp"),-1,100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      $num=9999
   ELSE
      WAITMS(50)
   END_IF
END_CYC

IF($num<9999)
   
   //  Делать совсем другое
   
END_IF
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 26, 2017, 08:18:41 AM
еще раз спасибо  ;)
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 26, 2017, 02:36:38 PM
а почему эта конструкцыя выполняеться только один раз а дальше не выполняется если уже один раз нашло что то из картинок то потом  если не выключить и включить скрипт рукой оно просто пропускает это ...
Title: Re: как упростить если при нахождении одной из картинок выполнять одно и то же...
Post by: Зануда on May 26, 2017, 02:57:52 PM
ой все нашел это я сам натупил извените  :-[