Author Topic: Скрипт-кликер по цвету в пикселе (работает не так где хотелось()  (Read 22966 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Если в PXL(971,707) цвет будет НЕ 3211313
То выполнится то что в ELSE т.е. HALT


Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Если в PXL(971,707) цвет будет НЕ 3211313
То выполнится то что в ELSE т.е. HALT
Спасибо за помощь, ясно)  :-*

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Code: [Select]
LCLICK(RND(910,1024),RND(201,213))
WAIT(RND(27,40))
GETSCREEN
IF((PXL(948,206) = 200070)|(PXL(948,206) = 200083))
LCLICK(RND(947,1002),RND(201,212))
WAIT(RND(2,10))
ELSE
IF((PXL(1041,206) = 200070)|(PXL(1041,206) = 200083))
LCLICK(RND(1041,1089),RND(204,211))
END_IF
WAIT(RND(2,5))
END_IF
WAIT(RND(2,7))

Нужна ещё раз помощь экспертов  8) ::)
Нужно так:
1 если в точке PXL(450,310) нужный цвет
2 то кликаем лкм LCLICK(RND(910,1024),RND(201,213))
3 ждем WAIT(RND(27,40))
4 если в точке ((PXL(948,206) нужный цвет
5 кликаем лкм LCLICK(RND(947,1002),RND(201,212))
6 ждем WAIT(RND(2,10))
7 если в точке ((PXL(1041,206) = 200070 нужный цвет
8 кликаем лкм LCLICK(RND(1041,1089),RND(204,211))
9 ждем WAIT(RND(2,10))
10 если в точке PXL(450,310) нет нужно го цвета
11 то останавливаем скрипт
12 перерыв между повторами, ждем WAIT(RND(2,7))
 
Я не знаю как 1, 10, 11 пункт соединить с если, запуталась :(

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(450,310) = 255)
   LCLICK(RND(910,1024),RND(201,213))
   WAIT(RND(27,40))
ELSE
   HALT // стоп
END_IF

GETSCREEN
IF(PXL(948,206) = 255)
   LCLICK(RND(947,1002),RND(201,212))
   WAIT(RND(2,10))
END_IF

GETSCREEN
IF(PXL(1041,206) = 200070)
   LCLICK(RND(1041,1089),RND(204,211))
   WAIT(RND(2,10))
END_IF
WAIT(RND(2,7))
« Last Edit: June 10, 2015, 06:22:25 PM by Oraven »

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Сделала так

Code: [Select]
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))

Нажимает всё хорошо, куда надо,  но вот...остановку не делает(
Что может быть не так?  :-\

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Сделала так

Code: [Select]
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))

Нажимает всё хорошо, куда надо,  но вот...остановку не делает(
Что может быть не так?  :-\

Посидела, понаблюдала, работает, всё работает  ::)
p.s. и ещё раз спасибо за помощь)  :-*

andrei

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
Добрый день. пишу в этой теме так как меня интересует тот же вопрос, как написать скрипт что бы он искал скажем в точке 54,397 свет 13141 если его нет делал клик 1540,785 и опять проверял цвет, если цвет совпал то делал клик по 5,545 и продолжал выполнение всего  скрипта. и так по кругу

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Добрый день. пишу в этой теме так как меня интересует тот же вопрос, как написать скрипт что бы он искал скажем в точке 54,397 свет 13141 если его нет делал клик 1540,785 и опять проверял цвет, если цвет совпал то делал клик по 5,545 и продолжал выполнение всего  скрипта. и так по кругу

Code: (clickermann) [Select]
move(1582,880)
waitms(500)
lDown(1582,880)
waitms(500)
lUp(1582,880)
waitms(5561)

move(461,844)
waitms(500)
lDown(461,844)
waitms(500)
lUp(461,844)
waitms(7068)

move(134,852)
waitms(500)
lDown(134,852)
waitms(500)
lUp(134,852)
WAITMS(100)

//его нужно вставить вот сюда
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF(PXL(54,397) = 13141)
      $check = 1
      LCLICK(5,545)
      WAITMS(500)
   ELSE
      LCLICK(1540,785)
      WAITMS(500)
   END_IF
END_CYC

move(22,590)
waitms(484)
lDown(22,590)
waitms(172)
lUp(22,590)
waitms(822)

move(1539,405)
waitms(500)
lDown(1539,405)
waitms(1500)
lUp(1539,405)

move(830,636)
waitms(500)
lDown(830,636)
waitms(1500)
lUp(830,636)

move(940,781)
waitms(1500)
lDown(980,781)
waitms(1500)
lUp(980,781)
waitms(2654)

andrei

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
Спасибо большое !

andrei

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
добрый вечер. возник еще вопрос , как прописать второй цвет, в пикселе 54,397 может быть два цвета для срабатывания условия и13141 и 292500
как записать второй? IF(PXL(54,397) = 13141)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
IF((PXL(54,397) = 13141)&(PXL(54,397) = 292500))

andrei

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
Добрый  день :-)
Понимаю что уже надоел, но еще один вопрос,  как прописать  такую задачу,  если цвет пикселя скажем 65070 то  делаем клик и опять  проверяем,  если другой  то выполняем дальше скрипт. Еще раз спасибо, извините за глупые вопросы))

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
  GETSCREEN
  IF(PXL(500,500) = 65070)
     LCLICK(100,200)
     WAITMS(500)
  ELSE
     $check = 1
  END_IF
END_CYC

andrei

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
Огромное вам СпасибО :)

andrei

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
еще вопрос )) как это можно записать по другому ?

 LCLICK(1062,618)
 LCLICK(1062,618)
 LCLICK(1062,618)
 LCLICK(1062,618)
 LCLICK(1062,618)
 LCLICK(1062,618)
 LCLICK(1062,618)