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

Основной раздел => Общие вопросы => Topic started by: rasnvas on October 18, 2017, 08:50:34 PM

Title: ПОМОГИТЕ УПРОСТИТЬ
Post by: rasnvas on October 18, 2017, 08:50:34 PM
ПОМОГИТЕ УПРОСТИТЬ СКРИПТ И ЕЩЕ ХОТЕЛ БЫ ЗНАТЬ НЕТ ЛИ ОШИБОК заранее  спасибо.

Code: (clickermann) [Select]
$arr[0]="1a.bmp"
$arr[1]="2a.bmp"
$arr[2]="3a.bmp"
$arr[3]="4a.bmp"
$arr[4]="5a.bmp"
$arr[5]="6a.bmp"
$arr[6]="7a.bmp"
$arr[7]="8a.bmp"
$arr[8]="9a.bmp"
SUB(click1)
   FOR($i=0, $i < 9)
      GETSCREEN
      COLORMODE(6,707,302,746,358)
      IF_PICTURE_IN (707,302,746,358,$arr[$i])
         KEYDOWN($i+49)
         WAITMS(50)
         KEYUP($i+49)
         GOTO(fin1)
      END_IF
   END_CYC
END_SUB
SUB(click2)
   $s=0
   FOR($i=0, $i < 9)
      $s=$i+1
      WAITMS(500)
      GETSCREEN
      COLORMODE(6,740,300,781,358)
      IF_PICTURE_IN (740,300,781,358,$arr[$i])
         KEYDOWN($i+49)
         WAITMS(50)
         KEYUP($i+49)
         GOTO(fin2)
      END_IF
   END_CYC
END_SUB
SUB(click3)
   $s=0
   FOR($i=0, $i < 9)
      $s=$i+1
      WAITMS(500)
      GETSCREEN
      COLORMODE(6,775,300,814,357)
     
      IF_PICTURE_IN (775,300,814,357,$arr[$i])
         KEYDOWN($i+49)
         WAITMS(50)
         KEYUP($i+49)
         GOTO(fin3)
      END_IF
   END_CYC
END_SUB
SUB(click4)
   $s=0
   FOR($i=0, $i < 9)
      $s=$i+1
      WAITMS(500)
      GETSCREEN
      COLORMODE(6,813,300,848,357)
     
      IF_PICTURE_IN (813,300,848,357,$arr[$i])
         KEYDOWN($i+49)
         WAITMS(50)
         KEYUP($i+49)
         GOTO(fin4)
      END_IF
   END_CYC
END_SUB
start:
MOVE(692,389)
WAITMS(500)
LCLICK(692,389)  // 16777215

click1()
WAITMS(500)
fin1:
click2()
WAITMS(500)
fin2:
click3()
WAITMS(500)
fin3:
click4()
WAITMS(500)
fin4:
WAITMS(500)
KEYPRESS(#ENTER)
WAITMS(500)

GETSCREEN
IF_PICTURE_IN (400,300,1065,600,"blok.bmp")
   WAITMS(50)
   SOUND("blip2.wav")
   MOVE($_return1+8,$_return2+8)
   WAITMS(50)
   LCLICK($_return1+8,$_return2+8)
   WAITMS(50)
   KEYPRESS(#ENTER)
END_IF
GOTO(start)
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: Oraven on October 18, 2017, 09:30:47 PM
Конечно есть! Нельзя выпрыгивать из подпрограмм, к тому же, в данном случаи, это не требуется. Да и массив тоже не нужен.

Все пишется проще
Code: (clickermann) [Select]
SUB(click, $x1,$y1,$x2,$y2)
   GETSCREEN($x1,$y1,$x2,$y2)
   COLORMODE(6,$x1,$y1,$x2,$y2)
   FOR($i=0, $i<9)
      IF_PICTURE_IN ($x1,$y1,$x2,$y2,STRCONCAT($i+1,"a.bmp"))
         KEYDOWN($i+49)
         WAITMS(50)
         KEYUP($i+49)
         $i=9999
      END_IF
   END_CYC
END_SUB

MOVE(692,389)
WAITMS(500)
LCLICK(692,389)  // 16777215
WAITMS(500)
click(707,302,746,358)
WAITMS(500)
click(740,300,781,358)
WAITMS(500)
click(775,300,814,357)
WAITMS(500)
click(813,300,848,357)
WAITMS(500)
KEYPRESS(#ENTER)
WAITMS(500)

GETSCREEN
IF_PICTURE_IN (400,300,1065,600,"blok.bmp")
   WAITMS(50)
   SOUND("blip2.wav")
   MOVE($_return1+8,$_return2+8)
   WAITMS(50)
   LCLICK($_return1+8,$_return2+8)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
END_IF
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: rasnvas on October 19, 2017, 04:24:51 PM
Спасибо большое. А можно узнать почему выпрыгивать из подпрограмм нельзя?
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: open_78 on October 19, 2017, 07:27:33 PM
Спасибо большое. А можно узнать почему выпрыгивать из подпрограмм нельзя?
Процессор сгорит.
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: Oraven on October 19, 2017, 08:43:13 PM
Спасибо большое. А можно узнать почему выпрыгивать из подпрограмм нельзя?

Из циклов и подпрограмм выпрыгивать нельзя, потому что кликер не поймет что выполнение идет уже не в подпрограмме или цикле, и это приведет к непредсказуемым ошибкам.
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: rasnvas on October 23, 2017, 06:36:15 PM
Да что такое не могу понять почему ошибку выдает что та связано с интеграция

Code: (clickermann) [Select]
LCLICK(593,125)  //Multiply
WAITMS (1000)

DBLCLICK(1178,118) //ÂÛÄÅËßÅÌ ÒÅÊÑÒ
WAITMS(50)
KEYDOWN (#CTRL) //ÊÎÏÈÐÓÅÌ
WAITMS (50)
KEYDOWN (#C)
WAITMS (50)
KEYUP (#C)
KEYUP (#CTRL)
//.............................................................................
$A_BL = 0
$A_V = 0
$A_B2 = 0
$coun = 0
$count = 0
$A_BL = FROMCLIP()
$A_V = STRREPLACE ($A_BL, ".")
$coun = INT((INT($A_V)/100)*75)
$A_B2 = $coun
$count = INT((INT($A_B2)/100)*0.005)
WAITMS(50)
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: i0 on October 23, 2017, 07:35:10 PM
может, с интертрепацией?)
а у strreplace три параметра: строка, заменяемая подстрока, заменяющая подстрока
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: rasnvas on October 23, 2017, 07:39:12 PM
картинка
http://prntscr.com/h10a2c (http://prntscr.com/h10a2c)
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: i0 on October 23, 2017, 08:42:29 PM
Code: (clickermann) [Select]
$A_V = STRREPLACE ($A_BL, ".")$A_BL - первый параметр (строка)
"." - второй параметр (что искать)
ну и где третий обязательный параметр? справку уже открой
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: rasnvas on October 23, 2017, 08:56:47 PM
мне надо проста убрать точку в начале цифр первый раз без ошибки второй раз ошибка
0.001
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: i0 on October 24, 2017, 12:45:52 AM
strreplace($A_BL, ".", "")

в strreplace жёстко 3 параметра.
просто запомни, что если что-то не работает, стоит попробовать сделать как советуют, а не как тебе кажется
Title: Re: ПОМОГИТЕ УПРОСТИТЬ
Post by: psyzum on October 26, 2017, 01:03:12 AM
почему выпрыгивать из подпрограмм нельзя?   :-X
продублируй 1 скрипт и запусти эти скрипты в одном скрипте  ;) когда первый закончит цикл, то второй скрипт работать будет до первого гото и запустит первый  ::)
качай Notepad++ и настрой для себя синтаксисы, что бы видел где цикл закончится, так будет тебе проще  ;D

я вот умничаю, а сам же чайник  :P