Author Topic: нужна помощь  (Read 3834 times)

0 Members and 1 Guest are viewing this topic.

rasnvas

  • Освоившийся
  • **
  • Posts: 44
    • View Profile
нужна помощь
« on: March 07, 2017, 08:25:13 PM »
Привет всем скажите как исправить почему та не выполняется  10 раз

Code: (clickermann) [Select]
WAIT(1)

start:

FOR($a=0,$a<10)//надо чтобы работал по меткам B1: , B2: ,B4: 10 раз
   B1:
   B2:
   B4:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "w.bmp")//(1)
      //==============================
      LDOWN(1192,96)//ВЫДЕЛЯЕМ ТЕКСТ '
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL) // Ctrl+C копируем
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
      //==============================
     
      FOR($a=0, $a<3)
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
     
      GOTO(B1)
     
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "l.bmp") //(1)
     
      FOR($a=0, $a<3
         KEYPRESS(#BACKSPACE)
         SOUND("EServer_Err.wav")
         WAITMS (10)
      END_CYC
     
   END_IF //==========================================
   
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "w.bmp")//(2)
      //==============================
      LDOWN(1192,96)//ВЫДЕЛЯЕМ ТЕКСТ
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL) // Ctrl+C копируем
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
      //==============================
     
      FOR($a=0, $a<3
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
     
      GOTO(B2)
     
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "w.bmp")//(3)
      //==============================
      LDOWN(1192,96)//ВЫДЕЛЯЕМ ТЕКСТ
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL) // Ctrl+C копируем
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
      //==============================
     
      FOR($a=0, $a<3
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
     
      GOTO(B4)
     
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "l.bmp")//(3)
     
     
      FOR($a=0, $a<3
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
     
   END_IF
   
   
END_CYC //=========================================

GOTO(start)

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: нужна помощь
« Reply #1 on: March 07, 2017, 09:08:00 PM »
А можно пошагово изложить свои хотелки. Что сначала 10 раз, что потом. Или может просто всё повторить 10 раз? Весь ли это текст, или часть чего-то огромного?  :'(
А то от того что я вижу глаза кровоточат. :'( :'( :'(
Зря ты нашел функцию GOTO().
« Last Edit: March 07, 2017, 09:20:08 PM by open_78 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: нужна помощь
« Reply #2 on: March 07, 2017, 10:07:49 PM »
Там у вас переменные по талонам? Или просто дифицит.
А то одна переменная $a и во внешнем цикле и во внутренних.


open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: нужна помощь
« Reply #3 on: March 07, 2017, 10:19:25 PM »
1) Скобок не хватает.
2) Зачем разные имена меток, если все они находятся в одном месте...
3) Условия с картинкой "w.bmp" абсолютно одинаковы и не понятно что они делают. Выделить>Скопировать>Стереть(3 раза). И так десять раз? Тогда не хватает функции СОХРАНИТЬ_И_УДАЛИТЬ($всё).
« Last Edit: March 07, 2017, 10:59:28 PM by open_78 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: нужна помощь
« Reply #4 on: March 08, 2017, 08:13:04 AM »
Зачем там один и тот же код несколько раз?

Думаю вот так
Code: (clickermann) [Select]
WAIT(1)

$count = 0
WHILE($count < 10) // цикл на 10 повторов
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "w.bmp")
      //==============================
      LDOWN(1192,96)//ВЫДЕЛЯЕМ ТЕКСТ '
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
      WAITMS(50)
     
      KEYDOWN (#CTRL) // Ctrl+C копируем
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
      WAITMS(50)
      //==============================
     
      FOR($b=0,$b<3)
         KEYPRESS(#BACKSPACE)
         WAITMS(10)
      END_CYC
     
      INC($count,1) // наращиваем счетчик цикла если картинка "w.bmp" найдена
     
   ELSE
      IF_PICTURE_IN (570,482, 851,508, "l.bmp")
         FOR($b=0, $b<3)
            KEYPRESS(#BACKSPACE)
            WAITMS (10)
         END_CYC
         SOUND("EServer_Err.wav") // команда не тормозит скрипт, поэтому после требуется задержка равная длительности звука.
         WAIT(1)
      ELSE
         WAITMS(100)
      END_IF
   END_IF
   
END_CYC

HALT

rasnvas

  • Освоившийся
  • **
  • Posts: 44
    • View Profile
Re: нужна помощь
« Reply #5 on: March 08, 2017, 08:43:26 PM »
Привет всем попробую объяснить хотя для меня это трудно мне надо что бы по двум  картинкам "l.bmp"и "w.bmp" выполняла определенные действия пример: нашли картинку  "l.bmp" но при этом получили число оно может любое ,но нам надо пока не найдем картинку "w.bmp" при найденной картинке "w.bmp" нам надо откатиться на определенную  строку но при этом выполнялся сценарий 32 раза вот Я и нашел функцию GOTO() но с этой функцию не выполняет сценарий 32 раза как сделать по другому не могу понять вот как то так .

Code: (clickermann) [Select]
FOR($c=0,$c<32)
   skip:
   
IF_PICTURE_IN (570,482, 851,508, "w.bmp")
     
//==============================
GOTO(skip)
     
IF_PICTURE_IN (570,482, 851,508, "l.bmp")
         
//==============================
skip1:
IF_PICTURE_IN (570,482, 851,508, "w.bmp")
           
//==============================
GOTO(skip1)
IF_PICTURE_IN (570,482, 851,508, "l.bmp")
               
//==============================
skip2:
IF_PICTURE_IN (570,482, 851,508, "w.bmp")
                 
//==============================
GOTO(skip2)
IF_PICTURE_IN (570,482, 851,508, "l.bmp")
                     
//==============================
skip3:
IF_PICTURE_IN (570,482, 851,508, "w.bmp")
                       
//==============================
GOTO(skip3)
IF_PICTURE_IN (570,482, 851,508, "l.bmp")
                           
END_CYC
« Last Edit: March 09, 2017, 12:47:12 PM by Vint »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: нужна помощь
« Reply #6 on: March 08, 2017, 09:11:37 PM »
Тебе не через гото надо прыгать а писать нормальные циклы. Пока что описанный тобой алгоритм довольно размыт.

rasnvas

  • Освоившийся
  • **
  • Posts: 44
    • View Profile
Re: нужна помощь
« Reply #7 on: March 09, 2017, 10:36:05 AM »
Вот подробно надо как то исправить может как то надо упростить

Code: (clickermann) [Select]
final1: //начинаем
LCLICK(89,20)
WAITMS(500)
BEEP(800,200)
WAITMS(50)
SOUND("ESystemNotification.wav")
WAIT(4)

GETSCREEN
IF_PICTURE_IN (0,0, 1439,255, "gotova.bmp")
   KEYPRESS(#F5)
   WAIT(20)
   SOUND("EWindows Change Theme.wav")
   WAIT(4)
END_IF
start:
FOR($c=0,$c<32)//3,6,12,24,48,96,192,384,766;-1535
   B1:
   B2:
   B4:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(3)   
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,2))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.03
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win1")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B1)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(3)
      KEYPRESS(#D)
      WAITMS(50)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a< (rnd(0,2))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.06
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose1")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
 
   B8:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(6)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,3))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.03
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win2")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B2)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp") //(6)
      KEYPRESS(#D)
      WAITMS(50)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a< (rnd(0,2))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.12
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose2")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   
   B16:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(12)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,4))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.03
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win3")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B4)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(12)
      KEYPRESS(#D)
      WAITMS(50)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,3))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.24
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose3")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   B32:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(24)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS (50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,5))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.06
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win4")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B8)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(24)
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,3))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.48
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose4")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   B64:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(48)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS (50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,5))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.12
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("EServer_Err.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win5")
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B16)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(48)
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,4))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.96
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose5")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   B128:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(96)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL) // Ctrl+C eiie?oai
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS (50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,6))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.24
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win6")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B32)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(96)
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,4))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
      //Ctrl+V ec aooa?a iaiaia anoaaeou
      $count = (INT(FROMCLIP(),0)/100)*1.92
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose6")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   B256:
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(192)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS (50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,7))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.48
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win7")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B64)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(192)
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,4))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*3.84
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose7")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   //B512
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(384)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS (50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,6))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*0.96
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win8")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B128)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(384)
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,4))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*7.66
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"lose8")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
   END_IF
   //B1024
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//(766)
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS (50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      FOR($a=0,$a<(rnd(0,8))
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = (INT(FROMCLIP(),0)/100)*1.92
      LOGWRITE (INT($count,0)
     
      FOR($b=0, $b <  strlen(INT($count,0)))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING (INT($count,0))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS (100)
      HINTPOPUP (INT($count,0),"win9")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
      GOTO(B256)
   END_IF//...
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//(766)-1537
      SOUND("EmptyRecycleBin.wav")
      WAIT(4)
      GOTO(final1)
   END_IF
   
   GETSCREEN 
   IF_PICTURE_IN (583,312, 707,360, "loss.bmp")
      SOUND("EWindowsLogoff.wav")
      WAIT(4)
      GOTO(final1)//обновить страницу
   END_IF
END_CYC
GOTO(start)
« Last Edit: March 09, 2017, 01:14:23 PM by rasnvas »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: нужна помощь
« Reply #8 on: March 09, 2017, 01:02:40 PM »
Надо как то исправить это точно, потому что ошибок там моря!

Например у функции INT нет парамертов, а ты везде пишешь ,0
Code: (clickermann) [Select]
$count = (INT(FROMCLIP(),0)/100)*0.03
Верно так
Code: (clickermann) [Select]
$count = (INT(FROMCLIP())/100)*0.03
Далее этот не верно написанный INT начинает преследовать $count  везде, зачем??? 
Если хочешь отсечь запятую пиши так
Code: (clickermann) [Select]
$count = INT((INT(FROMCLIP())/100)*0.03)
и далее используй просто переменную $count

Здесь лишняя скобка
Code: (clickermann) [Select]
FOR($a=0,$a< (rnd(0,2))Правильно так
Code: (clickermann) [Select]
FOR($a=0,$a<rnd(0,2))
однако правильнее вот так. Дело в том что рандом будет снова рассчитывать число при каждом новом цикле. В другом месте у тебя 0,5 так вот чтобы цикл выполнился 5 раз рандому нужно будет выдасть пятерку 5 раз! Это мало вероятно.
Code: (clickermann) [Select]
$R = rnd(0,2)
FOR($a=0,$a<$R)

Есть метка final: но нет GOTO(final)
Зато есть GOTO(final1) но нет метки final1
Также GOTO(start)

Если ты хочешь выполнение скрипта по кругу то никакие GOTO(start) тебе не нужны, он и так выполняется по кругу. А выпрыгивать из цикла GOTO(final) в начало скрипта вообще нельзя, это приведет к ошибке.
« Last Edit: March 09, 2017, 02:22:24 PM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: нужна помощь
« Reply #9 on: March 09, 2017, 02:22:05 PM »
Вот что вышло.
Здесь код будет прокручен именно 32 раза. После чего скрипт останавливается.
Code: (clickermann) [Select]
// вносим в массивы твои значения. Индекс начинается с 0 а кончается 8 тоесть в массиве будет храниться 9 чисел
STRSEPARATE("2:3:4:5:5:6:7:6:8", ":", $A_R)
STRSEPARATE("2:2:3:3:4:4:4:4:0", ":", $A_R2)
STRSEPARATE("0.03:0.03:0.03:0.06:0.12:0.24:0.48:0.96:1.92", ":", $A_N1)
STRSEPARATE("0.06:0.12:0.24:0.48:0.96:1.92:3.84:7.66:0", ":", $A_N2)

// Индексом массива будет управлять переменная $num

$num = 0
FOR($c=0,$c<32) // 3,6,12,24,48,96,192,384,766;-1535
   IF(($num < 0)|($num > 8)) // здесь мы сбрасываем индекс если он ушел вне пределов от 0 до 8
      $num = 0
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")
     
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
     
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
     
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
     
      $R = RND(0,$A_R[$num])
      FOR($a=0,$a<$R)
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
     
      $count = INT((INT(FROMCLIP())/100)*$A_N1[$num])
      LOGWRITE ($count)
     
      FOR($b=0, $b < strlen($count))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
     
      KEYSTRING ($count)
      WAITMS (100)
      HINTPOPUP ($count,STRCONCAT("win ",$num+1))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
     
      SWITCH($num) // здесь в зависимости от значения $num
      CASE(0)
         $num = 0
      CASE(1)
         $num = 0
      CASE(2)
         $num = 0
      CASE(3)
         $num = 1
      CASE(4)
         $num = 2 // откатываем индекс массива назад
      CASE(5)
         $num = 3
      CASE(6)
         $num = 4
      CASE(7)
         $num = 5
      CASE(8)
         $num = 6
      DEFAULT
         $num = 0
      END_SWITCH
   ELSE
      IF($num ! 8) // Если индекс не равер 8
         IF_PICTURE_IN (570,482, 851,508, "lose.bmp")
            KEYPRESS(#D)
            WAITMS(50)
            SOUND("ENavigating.wav")
            WAIT(2)
           
            FOR($a=0,$a < (rnd(0,$A_R2[$num]))
               KEYPRESS(#L)
               WAITMS(RND(1400,1500))
            END_CYC
           
            $count = INT((INT(FROMCLIP())/100)*$A_N2[$num])
            LOGWRITE ($count)
           
            FOR($b=0, $b < strlen($count))
               KEYPRESS(#BACKSPACE)
               WAITMS (10)
            END_CYC
            SOUND("EServer_Err.wav")
            WAITMS (10)
           
            KEYSTRING ($count)
            WAITMS (100)
            HINTPOPUP ($count,STRCONCAT("lose ",$num+1))
            SOUND("ESpbTimeBioTick3.wav")
            WAITMS(50)
            KEYPRESS(#L)
            WAITMS(RND(1400,1500))
         END_IF
      ELSE // если равен то выполняем этот код
         IF_PICTURE_IN (570,482, 851,508, "lose.bmp") //(766)-1537
            SOUND("EmptyRecycleBin.wav")
            WAIT(4)
            LOGWRITE ("Сброс")           
            $num = 0 // хочешь начать цикл заново? Тогда сбрасываем все счетчики
            $c=0
         END_IF
         
         GETSCREEN
         IF_PICTURE_IN (583,312, 707,360, "loss.bmp")
            SOUND("EWindowsLogoff.wav")
            WAIT(4)
            LOGWRITE ("Сброс")
            $num = 0
            $c=0
         END_IF
      END_IF
     
      INC($num,1) // увеличиваем индекс массива +1
   END_IF
END_CYC

HALT
« Last Edit: March 09, 2017, 02:24:48 PM by Oraven »

rasnvas

  • Освоившийся
  • **
  • Posts: 44
    • View Profile
Re: нужна помощь
« Reply #10 on: March 09, 2017, 02:39:56 PM »
Благодарю,  огромное СПАСИБО тебе Oraven проблема решена Я думал не когда не решу задачку спасибо.

rasnvas

  • Освоившийся
  • **
  • Posts: 44
    • View Profile
Re: нужна помощь
« Reply #11 on: March 22, 2017, 05:29:03 PM »
Привет у меня такой вопрос вернее Я запутался в  END_IF скажите пожалуйста  Я правильно расставил номера  END_IF// если нет то подскажите как правильно.

Code: (clickermann) [Select]
// вносим в массивы твои значения. Индекс начинается с 0 а кончается 8 тоесть в массиве будет храниться 9 чисел
STRSEPARATE("2:3:4:5:5:6:7:6:8", ":", $A_R)
STRSEPARATE("2:2:3:3:4:4:4:4:0", ":", $A_R2)
STRSEPARATE("0.03:0.03:0.03:0.06:0.12:0.24:0.48:0.96:1.92", ":", $A_N1)
STRSEPARATE("0.06:0.12:0.24:0.48:0.96:1.92:3.84:7.66:0", ":", $A_N2)
 
// Индексом массива будет управлять переменная $num
 
$num = 0
FOR($c=0,$c<32) // 3,6,12,24,48,96,192,384,766;-1535
   IF(($num < 0)|($num > 8)) // 1
      $num = 0
   END_IF//1
 
   GETSCREEN
   IF_PICTURE_IN (570,482, 851,508, "win.bmp")//2
 
      LDOWN(1192,96)
      MOVE(1266,103)
      WAITMS(500)
      LUP(1261,122)
 
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYDOWN (#C)
      WAITMS (50)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS (50)
      LCLICK(464,491)
 
      WAITMS(50)
      KEYPRESS(#D)
      SOUND("ENavigating.wav")
      WAIT(2)
 
      $R = RND(0,$A_R[$num])
      FOR($a=0,$a<$R)
         KEYPRESS(#L)
         WAITMS(RND(1400,1500))
      END_CYC
 
      $count = INT((INT(FROMCLIP())/100)*$A_N1[$num])
      LOGWRITE ($count)
 
      FOR($b=0, $b < strlen($count))
         KEYPRESS(#BACKSPACE)
         WAITMS (10)
      END_CYC
      SOUND("EServer_Err.wav")
      WAITMS (10)
 
      KEYSTRING ($count)
      WAITMS (100)
      HINTPOPUP ($count,STRCONCAT("win ",$num+1))
      SOUND("ESpbTimeBioTick3.wav")
      WAITMS(50)
      KEYPRESS(#L)
      WAITMS(RND(1400,1500))
 
      SWITCH($num) // здесь в зависимости от значения $num
      CASE(0)
         $num = 0
      CASE(1)
         $num = 0
      CASE(2)
         $num = 0
      CASE(3)
         $num = 1
      CASE(4)
         $num = 2 // откатываем индекс массива назад
      CASE(5)
         $num = 3
      CASE(6)
         $num = 4
      CASE(7)
         $num = 5
      CASE(8)
         $num = 6
      DEFAULT
         $num = 0
      END_SWITCH
   ELSE
      IF($num ! 8) //3
         IF_PICTURE_IN (570,482, 851,508, "lose.bmp")//4
            KEYPRESS(#D)
            WAITMS(50)
            SOUND("ENavigating.wav")
            WAIT(2)
 
            FOR($a=0,$a < (rnd(0,$A_R2[$num]))
               KEYPRESS(#L)
               WAITMS(RND(1400,1500))
            END_CYC
 
            $count = INT((INT(FROMCLIP())/100)*$A_N2[$num])
            LOGWRITE ($count)
 
            FOR($b=0, $b < strlen($count))
               KEYPRESS(#BACKSPACE)
               WAITMS (10)
            END_CYC
            SOUND("EServer_Err.wav")
            WAITMS (10)
 
            KEYSTRING ($count)
            WAITMS (100)
            HINTPOPUP ($count,STRCONCAT("lose ",$num+1))
            SOUND("ESpbTimeBioTick3.wav")
            WAITMS(50)
            KEYPRESS(#L)
            WAITMS(RND(1400,1500))
         END_IF//2
      ELSE // если равен то выполняем этот код
         IF_PICTURE_IN (570,482, 851,508, "lose.bmp") //5
            SOUND("EmptyRecycleBin.wav")
            WAIT(4)
            LOGWRITE ("Сброс")           
            $num = 0 // хочешь начать цикл заново? Тогда сбрасываем все счетчики
            $c=0
         END_IF//5
 
         GETSCREEN
         IF_PICTURE_IN (583,312, 707,360, "loss.bmp")//6
            SOUND("EWindowsLogoff.wav")
            WAIT(4)
            LOGWRITE ("Сброс")
            $num = 0
            $c=0
         END_IF//6
      END_IF//3
 
      INC($num,1) // увеличиваем индекс массива +1
   END_IF//4
END_CYC
 
HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: нужна помощь
« Reply #12 on: March 22, 2017, 05:58:12 PM »
Ошибок нет. Но номера ты расставил не верно.
Ну неужели не видно что к чему. "Расставить отступы" в редакторе все наглядно показывает. Каждое условие выдвигается как пирамидка.

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
Re: нужна помощь
« Reply #13 on: March 22, 2017, 05:58:42 PM »
если я правильно понял вопрос
113         END_IF //закрывает IF 4
...
134   END_IF //закрывает IF 2


и ещё лишняя скобка
91           FOR($a=0,$a < (rnd(0,$A_R2[$num]))

хы, так это скрипт Oraven-а. а я сразу не сообразил, думаю как красиво-то всё для новичка
« Last Edit: March 22, 2017, 06:14:03 PM by i0 »