Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - IgorExa

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

WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(1228, 407, 1260, 421, 30719)
      $check = 1
      LCLICK(1211,401)
   ELSE
      IF_PIXEL_IN(496, 119, 512, 661, 255)
         $check = 1
         IF_PIXEL_IN(496, 119, 512, 661, 255)
            $check = 1
            WAIT(2)
         ELSE
            LCLICK(1208,546)
            MOVE(1137,511)
            WAIT(30)             
            IF_PIXEL_IN(973, 126, 1100, 650, 400393)
               $check = 1
            END_IF
         END_IF
      END_IF
   END_IF
END_CYC
// из циклов и подпрограмм выходить-входить по метке НЕЛЬЗЯ, это приводит к ошибкам, даже если при отладке и работало.
метка_1: // а что вам даёт переход на эту метку? действий ни каких не производится. это способ ожидания пикселя? тогда проверка экрана нужна постоянная
GETSCREEN
IF_PIXEL_IN(973, 126, 1100, 650, 6121925)
   LCLICK(1240,235)
   DEFINE($a1,1)
   FOR($a=0,$a<8 )  // вам действительно нужно повторить это 8 раз?
      KEYPRESS(#BACKSPACE)
      KEYPRESS(#BACKSPACE)
      $a1=$a1*2
      KEYSTRING($a1)
      LCLICK(1280,150)
      LCLICK(967,384)
      LCLICK(1214,420)
      WAIT(250) // вы серьёзно 250 сек. ожидания?
   END_CYC //конец цикла пишется иначе чем конец условия
ELSE
   GOTO(метка_1)// не надо насиловать интерпритатор, все названия должны начинаться с букв а не цифр.
END_IF
// зачем вообще вам метка, если вас научиль пользоваться двумя видами цмклов?
// учитесь все строки дополнять комментариями, это не трудно - это культура программирования.

Спасибо огромное. Ушел переваривать

2
да у вас, уважаемый, код нерабочий
хорошо что отступы расставили, но сделайте и ещё один шаг - проанализируйте свой код
любой блок IF IF_PIXEL_IN и IF_PICTURE_IN тоже) должен быть закрыт END_IF
любой блок цикла (FOR или WHILE) должен быть закрыт END_CYC
а что у вас?
Code: (clickermann) [Select]
            1:
            IF_PIXEL_IN(973, 126, 1100, 650, 400393)
               $check = 1
            END_CYC
Code: (clickermann) [Select]
               FOR($a=0,$a<8 )
                  KEYPRESS(#BACKSPACE)
                  KEYPRESS(#BACKSPACE)
                  $a1=$a1*2
                  KEYSTRING($a1)
                  LCLICK(1280,150)
                  LCLICK(967,384) 
                  LCLICK(1214,420)
                  WAIT(250)
               END_IF

что эта хрень лесная должна означать – я не понимаю.

Уважаемый! Премного благодарен за конструктивный комментарий. Проанализирую.


3
Тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
Спасибо)

4
Оцените плод трудов на жизнеспособность, пожалуйста) Ибо сам, ввиду временной ограниченности знаний и опыта, пока не могу) Заранее спасибо за указанные ошибки и идеотизмы)
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(1228, 407, 1260, 421, 30719)
      $check = 1
      LCLICK(1211,401)
   ELSE
      IF_PIXEL_IN(496, 119, 512, 661, 255)
         $check = 1
         IF_PIXEL_IN(496, 119, 512, 661, 255)
            $check = 1
            WAIT(2)
         ELSE
            LCLICK(1208,546)
            MOVE(1137,511)
            WAIT(30)
            1:
            IF_PIXEL_IN(973, 126, 1100, 650, 400393)
               $check = 1
            END_CYC
         ELSE
            IF_PIXEL_IN(973, 126, 1100, 650, 6121925)
               LCLICK(1240,235)
               DEFINE($a1,1)
               FOR($a=0,$a<8 )
                  KEYPRESS(#BACKSPACE)
                  KEYPRESS(#BACKSPACE)
                  $a1=$a1*2
                  KEYSTRING($a1)
                  LCLICK(1280,150)
                  LCLICK(967,384) 
                  LCLICK(1214,420)
                  WAIT(250)
               END_IF
            ELSE
               GOTO(1)
            END_IF
         END_IF
   ELSE

Код не дописан до конца.

5
Вот такой вот кусок кода:
IF_PIXEL_IN(973, 126, 1100, 650, 6121925)
            $check = 1
            LCLICK(1240,235)
            KEYPRESS(#BACKSPACE)
            KEYPRESS(#BACKSPACE)
            KEYSTRING($1) подскажите как заставить вписывать циклически увеличивающееся в двое значение? Опять же перерыл мануал, но логику вставки переменной да еще и с циклом не понимаю( Или нужен весь код для полноты картины? Заранее спасибо
           

6
после внесения изменений в код, нужно нажимать кнопку применить, потом кнопку сохранить, потом кнопку закрыть редактор
и только после этих манипуляций изменения должну заработать.
Это понятно. Спасибо
Для опытного глаза
$check = 0
WHILE($check = 0)
   GETSCREEN(496, 119, 512, 661)
   IF_PIXEL_IN(1228, 407, 1260, 421, 16777215)
      $check = 1
      LCLICK(1211,401)
   ELSE
      IF_PIXEL_IN(496, 119, 512, 661, 255)
         $check = 1
         LCLICK(1208,546)
         WAIT(30)
      ELSE
         IF_PIXEL_IN(496, 119, 512, 661, 65280)
            $check = 1
            LCLICK(1214,420)
            WAIT(30)
         ELSE
            WAIT(1)
         END_IF
      END_IF
   END_IF
END_CYC

Что не верно и мешает выполнению с точки зрения кода? Не выполняет первый поиск и клик.

7
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN(496, 119, 512, 661) // сохранить в графический буфер сектор
   IF_PIXEL_IN(496, 119, 512, 661, 255)//Просканировал область на цвет
      $check = 1 //выход из цикла сканирования цветов
      LCLICK(1208,546) //тыкнул в указанное место
      WAIT(60) // добавить доп задержку на 60 секунд
   ELSE //  если не нашел  255
      IF_PIXEL_IN(496, 119, 512, 661, 65280)
         $check = 1
         LCLICK(1214,420)
         WAIT(60) // добавить доп задержку на 60 секунд
      ELSE //  если не нашел   65280
         WAIT(5) // ждет 5 сек
      END_IF // обязательный конец кажного условия
   END_IF
END_CYC  // обязательный конец кажного цикла
HALT // стоп
Кирил, спасибо огромное! Изучение с нуля надо с чего то начать) Но одного интереса маловато. На основании своих мыслей и вашего кода с объяснениями перечитываю мануал. Не могу найти указание на приоритет выполнения команд(. К примеру
 IF_PIXEL_IN(496, 119, 512, 661, 65280)
         $check = 1
         LCLICK(1214,420)
         WAIT(60) // добавить доп задержку на 60 секунд
вот это место. Если дописываю м\у клик и wait команду на еще один клик в другом месте, то кликает только один раз, в первом месте. Дописываю еще wait м\у строками клик - тот же результат. В двух словах, если не трудно,- что делаю не правильно? или где об этом можно прочитать? Спасибо)

Вот
$check = 0
WHILE($check = 0)
   GETSCREEN(496, 119, 512, 661)
   IF_PIXEL_IN(496, 119, 512, 661, 255)
      $check = 1
      LCLICK(1214,420)
         WAIT(1)
      LCLICK(1208,546)
      WAIT(20)
   ELSE
      IF_PIXEL_IN(496, 119, 512, 661, 65280)
         $check = 1
         LCLICK(1214,420)
            WAIT(1)
         LCLICK(1214,420)
         WAIT(20)
      ELSE
         WAIT(1)
      END_IF
   END_IF
END_CYC

8
Спасибо!
GETSCREEN
IF_PIXEL_IN(496, 119, 512, 661, 255)
LCLICK(1208,546)
IF_PIXEL_IN(496, 119, 512, 661, 65280)
LCLICK(1214,420)
WAIT(2)

Если сценарий сработал по одному из параметров, как добавить доп задержку, напр на 60 секунд, во избежания повторных кликов через 2 сек? Заранее спасибо за ответ.
Ерунда какая то получилась( просто кликает одновременно и все

9
Здравствуйте. На форуме лежит отличный скрипт
GETSCREEN
IF(PXL(910,207) = 200070)   ????
LCLICK(RND(910,1024),RND(201,213))
WAIT(RND(27,40))
ELSE
HALT
END_IF
GETSCREEN
IF(PXL(948,206) = 200070)
LCLICK(RND(947,1002),RND(201,212))
WAIT(RND(2,6))
ELSE
IF(PXL(1041,206) = 200070)
LCLICK(RND(1041,1089),RND(204,211))
END_IF
WAIT(RND(2,6))
END_IF
WAIT(RND(2,7))

Помогите плиз! Голову сломал - как задать поиск пикселей по области? Просканировал область на цвет - нашел - тыкнул в указанное место - не нашел- сканирует область на след цвет - нашел - тыкнул в указанное место. не нашел - ждет 5 сек и заново.

Pages: [1]