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 - formica

Pages: [1]
1
Общие вопросы / виснет цикл
« on: March 20, 2016, 01:37:06 AM »
Доброго времени суток
Возникла следующая проблема скрип виснет при втором прохождении цикла. То есть сразу скрипт выполняется полностью без вопросов, но когда он проходит второй раз, цикл с определением пикселя срабатывает, а скрипт дальше не работает

Code: (clickermann) [Select]
$check = 0
$end = $_time_t + 3600
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6, 840, 158, 858, 175)
   $time = $_time_t + 10
   WHILE(($time > $_time_t)&(PXL(851, 166) ! 4161407)&(PXL(851, 166) ! 4145023)&(PXL(851, 166) ! 4145087)&(PXL(588, 194) ! 12566463)
      lclick(519, 344)
      move(525,344)
      waitms(30)
      move(524,344)
      waitms(30)
      move(523,344)
      waitms(30)
      move(522,344)
      waitms(30)
      move(521,344)
      waitms(30)
      move(520,344)
      waitms(30)
      move(519,344)
      lclick(519, 344)
      WAIT(8)
      GETSCREEN
      COLORMODE(6, 840, 158, 858, 175)
   END_CYC
   FOR($i, $i < 10)
      waitms(30)
      move(799,564)
      waitms(30)
      move(800,564)
      waitms(30)
      move(801,564)
      waitms(30)
      move(801,564)
      waitms(30)
      move(800,564)
      waitms(30)
      lclick(799, 564)
      WAIT(3)
   END_CYC
   WAIT(5)
   IF($end < $_time_t)
      $check = 1
   end_if
END_CYC
halt

2
День добрый
есть такой скрипт

GETSCREEN
COLORMODE(6, 587, 185, 871, 195)
WHILE((PXL(870, 186) ! 4161407)&(PXL(870, 186) ! 1981299)&(PXL(870, 186) ! 8339263)&(PXL(870, 186) ! 1451908)&(PXL(870, 186) ! 2642272)&(PXL(870, 186) ! 923027)&(PXL(870, 186) ! 2774620)&(PXL(870, 186) ! 3237456)&(PXL(588, 194) ! 12566463))
   lclick(530, 335)
   WAIT(5)
   GETSCREEN
   COLORMODE(6, 587, 185, 871, 195)
END_CYC
WAIT(3)
lclick(882, 699)

помогите добавить в цикл условие чтобы он повторялся не более 1 (к примеру)минуты заранее спасибо за советы и помощь

3
еще один момент
условие WHILE(PXL(774, 186) ! 4161407) работает
 а условие WHILE((PXL(774, 186) ! 4161407)|(PXL(774, 186) ! 4144959)) не работает и для цвета 4144959 и для 4161407

если проверяется один и тот же пиксель одновременно на отсутствие двух цветов, то почему в условиях "или" должно быть "и", ведь пиксель не может быть одновременно двух цветов.
WHILE((PXL(774, 186) ! 4161407)&(PXL(774, 186) ! 4144959))
и вообще не проще применить COLORMODE и проверять один цвет?
спасибо за совет вроде все работает
а смысл в том что цикл должен повторяться пока пиксель не будет 4161407 цвета но может так случится что во время выполнения цикла битва заканчивается и цикл становится бесконечным для этого тот же пиксель проверяется на другой цвет 4144959
в общем еще раз спасибо всем кто мне помог разобраться

4
еще один момент
условие WHILE(PXL(774, 186) ! 4161407) работает
 а условие WHILE((PXL(774, 186) ! 4161407)|(PXL(774, 186) ! 4144959)) не работает и для цвета 4144959 и для 4161407


5
Запись в лог нам все разъяснит
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6, 773, 184, 780, 187)
WHILE((PXL(774, 186) ! 4161407)|(PXL(774, 186) ! 4144959))
   LOGWRITE ("Цвет: ", PXL(774, 186))
   lclick(530, 335)
   WAIT(3)
   GETSCREEN
   COLORMODE(6, 773, 184, 780, 187)
END_CYC
lclick(983, 728)
WAIT(3)
вот что выдал лог
20:14:22 Цвет: 4144959
20:14:25 Цвет: 4144959
20:14:28 Цвет: 4144959
20:14:32 Цвет: 4144959
20:14:35 Цвет: 4144959
20:14:38 Цвет: 4144959
20:15:03 Цвет: 4144959
20:15:06 Цвет: 4144959
20:15:09 Цвет: 4144959
20:15:12 Цвет: 4144959
20:15:15 Цвет: 4144959
20:15:18 Цвет: 4144959
20:15:21 Цвет: 4144959

6
у меня просто крутит цикл хотя второе условие PXL(774, 186) ! 4144959  выполняется

7
уточните пожалуйста цикл закончится если пиксель будет 255 или 250(любого из двух цветов) или должны выполнится оба условия

| - обозначает ИЛИ
& - обозначает И
^ - обозначает ИЛИ то ИЛИ другое но не оба
спасибо
а теперь объясните мне дураку что у меня неправильно
GETSCREEN
COLORMODE(6, 773, 184, 780, 187)
WHILE((PXL(774, 186) ! 4161407)|(PXL(774, 186) ! 4144959))
   lclick(530, 335)
   WAIT(3)
   GETSCREEN
   COLORMODE(6, 773, 184, 780, 187)
END_CYC
lclick(983, 728)
WAIT(3)
заранее спасибо

8
Code: (clickermann) [Select]
GETSCREEN
WHILE((PXL(100, 100) ! 255)|(PXL(100, 100) ! 250))
   WAITMS(100) // задержка
   GETSCREEN // снимок в буфер кликера внутри цикла
END_CYC
уточните пожалуйста цикл закончится если пиксель будет 255 или 250(любого из двух цветов) или должны выполнится оба условия

9
Здравствуйте  только недавно начал разбираться с программой и нужна помощь

// если по координатам 100,100 цвет пиксела НЕ 255, то цикл будет работать

GETSCREEN // снимок в буфер кликера


// условие цикла: если функция PXL находит по координатам 100,100 пиксел любого цвета кроме 255
// цикл будет продолжаться, а как найдет цвет 255 то прервется, и скрипт продолжится дальше после END_CYC

WHILE(PXL(100, 100) ! 255)
   WAITMS(100) // задержка
   GETSCREEN // снимок в буфер кликера внутри цикла
END_CYC

как сделать такое условие если по координатам 100,100 цвет пиксела НЕ 255 или не 250, то цикл будет работать
чтобы было два условия окончания цикла

Pages: [1]