Author Topic: помогите  (Read 7771 times)

0 Members and 1 Guest are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #15 on: July 18, 2014, 09:29:58 PM »
Code: (clickermann) [Select]
LCLICK(840,215)
WAIT(1)
LCLICK(453,414)
WAIT(1)
LCLICK(427,393)
WAITMS(50)
LCLICK(571,570)
WAIT(1)
LCLICK(566,257)
WAIT(1)
LCLICK(588,493)
WAIT(1)
LCLICK(929,592)
WAITMS(50)

$random = RND(1,4)
IF($random = 1)
   GETSCREEN
   IF(PXL(680,442) = 16770879)
      LCLICK(680,477)
      WAITMS(50)
      LCLICK(583,485)
      WAIT(1)
      LCLICK(681,551)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 2)
   GETSCREEN
   IF_PICTURE_IN (620,517, 742,609, "1w.bmp", -1, 80)
      LCLICK($_return1, $_return2)
      WAITMS(50)
      LCLICK(656,587)
      WAITMS(50)
      LCLICK(674,616)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 3)
   GETSCREEN
   IF(PXL(402,469) = 9954544)
      LCLICK(493,512)
      WAIT(1)
      LCLICK(776,496)
      WAITMS(50)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 4)
   GETSCREEN
   IF(PXL(668,404) = 9886924)
      LCLICK(770,483)
      WAITMS(50)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #16 on: July 19, 2014, 04:38:48 PM »
на последок, помогите пожалуйста, как можно записать подобное выражение:
если PXL(х,у) определенный промежуток времени t не будет менять свой цвет то сделать например LCLICK(х,у)?

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #17 on: July 19, 2014, 04:50:34 PM »
и кстати, а как сделать так что бы вот этот кусок програмы отработался один раз и перестал до того как цикл с рандомом не дойдет до логичного конца
LCLICK(840,215)
WAIT(1)
LCLICK(453,414)
WAIT(1)
LCLICK(427,393)
WAITMS(50)
LCLICK(571,570)
WAIT(1)
LCLICK(566,257)
WAIT(1)
LCLICK(588,493)
WAIT(1)
LCLICK(929,592)
WAITMS(50)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #18 on: July 19, 2014, 06:02:09 PM »
Как понять
Quote
цикл с рандомом не дойдет до логичного конца

Code: (clickermann) [Select]
GETSCREEN
$color1 = PXL(315,540)
IF($color1 = $color2)
   DEFINE($tim, $_ms+5000)
   IF($tim < $_ms)
      UNDEFINE($tim)
      LCLICK(10,10)
      WAITMS(100)
   END_IF
ELSE
   UNDEFINE($tim)
   $color2 = $color1
END_IF

WAITMS(50)

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #19 on: July 19, 2014, 06:10:25 PM »
а если сделать вот так:
// RECORDED SCRIPT 18.07.2014
// BEGIN AT 13:22:29
SUB(mysub)
LCLICK(840,215)
WAIT(1)
LCLICK(453,414)
WAIT(1)
LCLICK(427,393)
LCLICK(571,570)
WAIT(1)
LCLICK(566,257)
WAIT(1)
LCLICK(588,493)
WAIT(1)
LCLICK(929,592)
WAITMS(50)
HALT
END_SUB

$random = RND(1,5)
IF($random = 1)
   GETSCREEN
   IF(PXL(680,442) = 16770879
      LCLICK(680,477)
      WAITMS(50)
      LCLICK(583,485)
      WAIT(1)
      LCLICK(681,551)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 2)
   GETSCREEN
   IF(PXL(741,683) = 13040127
      WAIT(1)
      LCLICK(741,683)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
     
   END_IF
END_IF

IF($random = 3)
   GETSCREEN
   IF_PICTURE_IN (620,517, 742,609, "1w.bmp", -1, 80)
      LCLICK($_return1, $_return2)
      WAITMS(50)
      LCLICK(656,587)
      WAITMS(50)
      LCLICK(674,616)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF


IF($random = 4)
   GETSCREEN
   IF(PXL(402,469) = 9954544
      LCLICK(493,512)
      WAIT(1)
      LCLICK(776,496)
      WAITMS(50)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 5)
   GETSCREEN
   IF(PXL(668,404) = 9886924
      LCLICK(770,483)
      WAITMS(50)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

GETSCREEN
$color1 = PXL(315,540)
IF($color1 = $color2)
   DEFINE($tim, $_ms+5000)
   IF($tim < $_ms)
      UNDEFINE($tim)
      LCLICK(10,10)
      WAITMS(100)
   END_IF
ELSE
   UNDEFINE($tim)
   $color2 = $color1
END_IF
 
WAITMS(50)

WAIT(30)
mysub()

// FINISH AT 13:22:36
так будет работать? или как нибудь по другому, просто нужно что бы
LCLICK(840,215)
WAIT(1)
LCLICK(453,414)
WAIT(1)
LCLICK(427,393)
WAITMS(50)
LCLICK(571,570)
WAIT(1)
LCLICK(566,257)
WAIT(1)
LCLICK(588,493)
WAIT(1)
LCLICK(929,592)
WAITMS(50)
эта связка отыграла один раз и в процес работы рандома не вмешивалась, а так она продолжает проигрыватся в процесе работы  и сбивает все остальные процесы своим кликанием, эта связка команд идет просто как открытие того где уже будет рандом, более 1 раза она не требуется) как поступить?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: помогите
« Reply #20 on: July 19, 2014, 07:59:28 PM »
и кстати, а как сделать так что бы вот этот кусок програмы отработался один раз и перестал до того как цикл с рандомом не дойдет до логичного конца
LCLICK(840,215)
WAIT(1)
LCLICK(453,414)
WAIT(1)
LCLICK(427,393)
WAITMS(50)
LCLICK(571,570)
WAIT(1)
LCLICK(566,257)
WAIT(1)
LCLICK(588,493)
WAIT(1)
LCLICK(929,592)
WAITMS(50)

Ну вложи в простое условие.
Code: (clickermann) [Select]
DEFINE($$one, 0)
IF($one = 0)
   LCLICK(840,215)
   WAIT(1)
   LCLICK(453,414)
   WAIT(1)
   LCLICK(427,393)
   WAITMS(50)
   LCLICK(571,570)
   WAIT(1)
   LCLICK(566,257)
   WAIT(1)
   LCLICK(588,493)
   WAIT(1)
   LCLICK(929,592)
   WAITMS(50)
   $one = 1
END_IF


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #21 on: July 19, 2014, 08:19:06 PM »
Можно и такой вариант, с зацикливанием через ГОТО.

Code: (clickermann) [Select]
LCLICK(840,215)
WAIT(1)
LCLICK(453,414)
WAIT(1)
LCLICK(427,393)
WAIT(1)
LCLICK(571,570)
WAIT(1)
LCLICK(566,257)
WAIT(1)
LCLICK(588,493)
WAIT(1)
LCLICK(929,592)
WAITMS(50)

go:

$random = RND(1,5)
IF($random = 1)
   GETSCREEN
   IF(PXL(680,442) = 16770879)
      LCLICK(680,477)
      WAITMS(50)
      LCLICK(583,485)
      WAIT(1)
      LCLICK(681,551)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 2)
   GETSCREEN
   IF(PXL(741,683) = 13040127)
      WAIT(1)
      LCLICK(741,683)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
     
   END_IF
END_IF

IF($random = 3)
   GETSCREEN
   IF_PICTURE_IN (620,517, 742,609, "1w.bmp", -1, 80)
      LCLICK($_return1, $_return2)
      WAITMS(50)
      LCLICK(656,587)
      WAITMS(50)
      LCLICK(674,616)
      WAITMS(100)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 4)
   GETSCREEN
   IF(PXL(402,469) = 9954544)
      LCLICK(493,512)
      WAIT(1)
      LCLICK(776,496)
      WAITMS(50)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

IF($random = 5)
   GETSCREEN
   IF(PXL(668,404) = 9886924)
      LCLICK(770,483)
      WAITMS(50)
   ELSE
      WAIT(5)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

GETSCREEN
$color1 = PXL(315,540)
IF($color1 = $color2)
   DEFINE($tim, $_ms+5000)
   IF($tim < $_ms)
      UNDEFINE($tim)
      LCLICK(10,10)
      WAITMS(100)
   END_IF
ELSE
   UNDEFINE($tim)
   $color2 = $color1
END_IF

WAIT(30)

GOTO(go)

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #22 on: July 21, 2014, 01:18:38 PM »
получилась вот такая штука:
http://screencast.com/t/l4799cBjsn
http://screencast.com/t/QjTx1tIZ
http://screencast.com/t/MhQAGeUCjqb
но все еще есть проблема, конкретно с этой частью:
IF($random = 3)
   GETSCREEN
   IF_PICTURE_IN (638,600, 718,633, "1w.bmp", -1, 80)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAIT(3)
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF
поидее оно должно кликать на найденую картинку но оно этого не делает а сразу отрабатывает команду ELSE, что то не так? и как можно заставить его все таки это делать?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: помогите
« Reply #23 on: July 21, 2014, 01:41:04 PM »
Попробуй добавить задержку перед GETSCREEN, может картинка не успевает появиться после предыдущего действия.


moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #24 on: July 21, 2014, 05:57:41 PM »
недождался вашего ответа так и начал пробывать действительно проблема была в задержке, просто отписыватся уже не стал)

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #25 on: July 22, 2014, 01:56:31 PM »
Ребята, биде, затупил от недосыпа и другой скрипт сохранил на место нужного, есть какая то возможность вернуть его или тупо по новой делать нужно?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: помогите
« Reply #26 on: July 22, 2014, 03:41:35 PM »
если не нажимал "применить" посмотри backup.cms  в корне


moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #27 on: July 29, 2014, 03:20:19 AM »
появился новый глупый вопрос, можно сделать как нибудь что бы кликер выполнял цикл со свернутым окном и при этом можно было бы делать еще какой то процес не связаный с кликером, например фильм смотреть?

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: помогите
« Reply #28 on: July 29, 2014, 09:11:44 AM »
можно если включишь режим привязки к окну

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #29 on: July 29, 2014, 12:44:51 PM »
а по подробней о том как его врубить можно?