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

0 Members and 1 Guest are viewing this topic.

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
День добрый.
Помогите со скриптом, работает не так как хотелось.

WHILE($check = 0)
WAIT(2)
LCLICK(951,210)
WAIT(RND(27,40))
IF(PXL(957,212) ! 200082)) 1
LCLICK(968,215) 1
WAIT(RND(27,40))
ELSE 
IF(PXL(1050,212) ! 200082)) 2
LCLICK(1069,217) 2
END_IF
WAIT(RND(5,20))
END_CYC

Нужно что бы находил определенный цвет в пикселе 1 или 2, определив нужный цвет (бордовый) нажал лкм 1 или 2 месте.
Если бордовый пиксель в точке 1, то нажимает лкм в 1 месте.
Если бордовый пиксельв точке 2, то нажимает лкм во 2 месте.

Сейчас нажимает почему то всё время в точку 1.

p.s. и можно прописать так, что бы левая клавиша нажималась в определенном квадрате рандомно, то есть 1 или 2 место прописать от и до, и в этом промежутке кликает левую кл. мыши?

Как могла попыталась объяснить  :-[
« Last Edit: June 04, 2015, 11:31:36 PM by Sweets »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Верный код
Code: (clickermann) [Select]
LCLICK(951,210)
WAIT(RND(27,40))

GETSCREEN
IF(PXL(957,212) = 200082)
   LCLICK(968,215)
   WAIT(RND(27,40))
ELSE
   IF(PXL(1050,212) = 200082)
      LCLICK(1069,217)
   END_IF
   WAIT(RND(5,20))
END_IF
WAIT(2)

Рандомный клик по области
585,446 - верхний левый угол
635,496 - нижний правый

LCLICK(RND(585,635),RND(446,496))

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Ага, спасибо)

А как прописать что бы в строчке IF(PXL(957,212) = 200082 равнялось  двум цветам 200082 и 200083 ?

Oraven

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

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(1039,1095),RND(203,211))
   END_IF
   WAIT(RND(2,10))
END_IF
WAIT(2)


Интервал между началом и концом можно уменьшить... а то разрыв долгий от 20 секунд?

p.s. и нет ли ошибки в скрипте...что то..странно работает...нажимает только в одну точку в Первую?
« Last Edit: June 05, 2015, 07:01:46 PM by Sweets »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Code: (clickermann) [Select]
IF((PXL(948,206) = 200070)&(PXL(948,206) = 200083))както непонятно, как один пиксель может быть сразу двумя цветами. наверно имелось ввиду что он либо одного цвета, либо другого.
Code: (clickermann) [Select]
IF((PXL(948,206) = 200070)|(PXL(948,206) = 200083))

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Code: (clickermann) [Select]
IF((PXL(948,206) = 200070)&(PXL(948,206) = 200083))както непонятно, как один пиксель может быть сразу двумя цветами. наверно имелось ввиду что он либо одного цвета, либо другого.
Code: (clickermann) [Select]
IF((PXL(948,206) = 200070)|(PXL(948,206) = 200083))

Вообще то да, просто в разные промежутки, цвет немного изменяется, но он мне подходит

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,10))
END_IF
WAIT(2)

Вот так заработало, спасибо, спасибо

p.s. с привязкой только не работает( жаль...очень жаль...почитала..пишут может защита или ещё что то (((
« Last Edit: June 05, 2015, 08:15:09 PM by Sweets »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Интервал между началом и концом можно уменьшить... а то разрыв долгий от 20 секунд?

Какой поставили, такой и стоит от 27 до 40 секунд
Code: (clickermann) [Select]
WAIT(RND(27,40))


Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Интервал между началом и концом можно уменьшить... а то разрыв долгий от 20 секунд?

Какой поставили, такой и стоит от 27 до 40 секунд
Code: (clickermann) [Select]
WAIT(RND(27,40))
Нет, нет)  с этим всё впорядке)
Поменяла знак & на | и интервал и скрипт нормально заработал)

Я имела виду интервал между повтором всего скрипта) Скрипт сделал своего дело, небольшой тайм-аут) и по новой)

Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
GETSCREEN
   IF(PXL(971,707) = 3211313) /1
   LCLICK(RND(810,885),RND(640,658))
   WAIT(760)
ELSE
    IF(PXL(971,707) = 3211517) /2
   HALT
   END_IF   
WAIT(RND(5,17))

Подскажите пожалуйста)
Нужно:
/1 Находит нужный цвет, кликает, ждёт и так бесконечно.
/2 Находит все любые цвета, кроме цвета в точке /1, если цвет другой не такой как в /1 то останавливает кликер и ничего не делает.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
/2 Находит все любые цвета, кроме цвета в точке /1

где находит?

если цвет другой не такой как в /1 то останавливает кликер и ничего не делает.

Что подразумевается под /1 цвет точки или её координаты?

А лучше всё стереть и сформулировать заново, по другому. И желательно попроще.
Например:
1 ЕСЛИ в точке (971,707) нужный цвет, кликает по ней, ждёт 760 сек и так бесконечно.
2 Если в этой точке цвет другой, то останавливаем скрипт.


P.S.
Находит нужный цвет...
Находит все...
в примере нет поиска, только проверка. Проверка конкретного пиксела по заданным координатам.

Поиск это другое, там задан цвет и нужно найти пиксел в заданной области.


Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Вы же прям написали мои мысли  ::)
А лучше всё стереть и сформулировать заново, по другому. И желательно попроще.
Например:
1 ЕСЛИ в точке (971,707) нужный цвет, кликает по ней, ждёт 760 сек и так бесконечно.
2 Если в этой точке цвет другой, то останавливаем скрипт.
Вот так надо) только кликает в определенной области LCLICK(RND(810,885),RND(640,658)) а не по этой точке)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Получается сам спросил сам ответил.
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(971,707) = 3211313)
   LCLICK(RND(810,885),RND(640,658))
   WAIT(760)
ELSE
   HALT
END_IF

В следующий раз могу не угадать, вариантов много. Кто его знает что там нужно и после чего.


Sweets

  • Освоившийся
  • **
  • Posts: 50
    • View Profile
Для понимания, для себя спрошу) то есть не надо писать в ELSE, условие поиска другого цвета, просто HALT?