Author Topic: While и if_picture_in  (Read 2971 times)

0 Members and 1 Guest are viewing this topic.

mAramiXx

  • Освоившийся
  • **
  • Posts: 34
    • View Profile
While и if_picture_in
« on: May 14, 2016, 02:46:47 PM »
Автоответчик.
Условие: Если находит активный диалог > открывает его > если нет условия чтобы не отвечать > отвечает

Проблема: Странно, то работает скрипт, то нет. После ответа стопорится и заново цикл while не срабатывает. Может кто увидит ошибку в коде?

Code: [Select]
begin:
move(559,416)


//поиск диалога================
GETSCREEN
while($check = 0)
IF_PICTURE_IN(0,0,$_xmax,$_ymax, "serdce.bmp")
   LCLICK($_return1+20,$_return2+1)
   $check = 1
   WAIT(1)   
ELSE
GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax, "serdce2.bmp")
      LCLICK($_return1+20,$_return2+1)
  $check = 1
      WAIT(1)
ELSE
$check = 0
move(559,416)
WHEELDOWN
    waitms(rnd(100,200))
END_IF
END_IF
END_CYC     

wait(2)

//условие, если не нужно отвечать
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "truba.bmp")
      goto(begin)
      WAITMS(80)
 END_IF   
IF_PICTURE_IN(0,0,$_xmax,$_ymax, "smile.bmp")
  goto(begin)
      WAITMS(80)
   END_IF

//блок ответа=================
waitms(80)
lclick(814,666)
wait(1)
$random = rnd(0,100)
TOCLIP(TFREAD("otvet1.txt", RND(1,TFCOUNT("otvet1.txt"))))
WAITMS(50)
 KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
wait(1)
move(1196,627)
waitms(70)
lclick(1196,627)
wait(1)


move(559,416)   

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: While и if_picture_in
« Reply #1 on: May 14, 2016, 03:20:10 PM »
Code: (clickermann) [Select]
move(559,416)

//поиск диалога================
$check = 0
while($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax, "serdce.bmp")
      LCLICK($_return1+20,$_return2+1)
      $check = 1
      WAIT(1)
   ELSE
      IF_PICTURE_IN(0,0,$_xmax,$_ymax, "serdce2.bmp")
         LCLICK($_return1+20,$_return2+1)
         $check = 1
         WAIT(1)
      ELSE
         move(559,416)
         WHEELDOWN
         waitms(rnd(100,200))
      END_IF
   END_IF
END_CYC

wait(2)

//условие, если не нужно отвечать
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "truba.bmp")
   waitms(50)
ELSE
   IF_PICTURE_IN(0,0,$_xmax,$_ymax, "smile.bmp")
      waitms(50)
   ELSE
      //блок ответа=================
      lclick(814,666)
      wait(1)
      TOCLIP(TFREAD("otvet1.txt", RND(1,TFCOUNT("otvet1.txt"))))
      WAITMS(50)
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYPRESS(#V)
      KEYUP (#CTRL)
      wait(1)
      move(1196,627)
      waitms(70)
      lclick(1196,627)
      wait(1)
   END_IF
END_IF

Optibater

  • Освоившийся
  • **
  • Posts: 22
    • View Profile
Re: While и if_picture_in
« Reply #2 on: October 25, 2016, 09:20:49 PM »
Помогите доработать имеющийся скрипт.
Нужно что бы прокручивал колесо пока не найдет картинку, но спустя 20 прокруток, нажимал кнопку HOME, и начинал опять искать с прокруткой.

Code: (clickermann) [Select]
$check = 0
while($check = 0)
   GETSCREEN
   IF_PICTURE_IN (361,75, 645,812, "prod_vesh.bmp")
      LCLICK($_return1 + RND(3,40), $_return2 - RND(2,4))
      $check = 1
      WAIT(1)
   ELSE
      WHEELDOWN(5)
      WAIT(1)
   END_IF
END_CYC

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: While и if_picture_in
« Reply #3 on: October 25, 2016, 09:32:21 PM »
а чего в чужую тему пишем, свою открыть мамка заругает?
Code: (clickermann) [Select]

$check = 0
while($check = 0)
   GETSCREEN (361,75, 645,812)
   IF_PICTURE_IN (361,75, 645,812, "prod_vesh.bmp")
      LOGWRITE ("нашёл vesh")
      LCLICK($_return1 + RND(3,40), $_return2 - RND(2,4))
      $check = 1
      WAIT(1)
   ELSE
      INC($var,1)
      IF($var=20)
         KEYPRESS(#HOME)
         $var=0
      ELSE
         WHEELDOWN(5)
         WAIT(1)
      END_IF
   END_IF
END_CYC

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: While и if_picture_in
« Reply #4 on: October 25, 2016, 09:32:36 PM »
Code: (clickermann) [Select]
$check = 0
$count = 0
while($check = 0)
   GETSCREEN
   IF_PICTURE_IN (361,75, 645,812, "prod_vesh.bmp")
      LCLICK($_return1 + RND(3,40), $_return2 - RND(2,4))
      $check = 1
      WAIT(1)
   ELSE
      INC($count,1)
      IF($count = 20)
         $count = 0
         KEYPRESS(#HOME)
         WAIT(1)
      ELSE
         WHEELDOWN(5)
         WAIT(1)
      END_IF
   END_IF
END_CYC

Optibater

  • Освоившийся
  • **
  • Posts: 22
    • View Profile
Re: While и if_picture_in
« Reply #5 on: October 25, 2016, 09:44:22 PM »
Ну мой скрипт похож, почти  :), вот и написал тут, что бы не открывать еще одну тему. Теперь в этой теме такой скрипт с еще одним вариантом применения  :)
Спасибо!