Author Topic: [!HELP] HALT  (Read 2946 times)

0 Members and 6 Guests are viewing this topic.

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
[!HELP] HALT
« on: March 03, 2017, 08:39:33 PM »
Привет, вопрос по скрипту, надо что бы он останавливал все при достижении цикла (thread(z, 1)) 44 раз, скрипт останавливается через 2 минуты буквально.. При этом действия (thread(z, 1)) не происходило.. в чем косяк?
Скрипт под спойлером
[spoiler]
thread(t, 1)     
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(13,21))
END_THREAD

waits(2)

getscreen

scanpicture($var, 0,0, 1673,1005, "1.bmp")

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y )
   waitms(200)
end_cyc


waits(2)

getscreen

scanpicture($var, 0,0, 1673,1005, "2.bmp")

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y )
   waitms(200)
   lclick(257, 417)
   waitms(200)
   lclick(218, 499)
   waitms(200)
   lclick(518, 216)
end_cyc


waits(3)
getscreen

scanpicture($var, 689,562, 869,671, "3.bmp")

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y )
   waitms(200)
end_cyc

thread(z, 1)
   DEFINE($aaa,0)
   start:
   getscreen
   
   scanpicture($var, 0,0, 1673,1005, "4.bmp")
   
   while (arrsize($var) > 0)
      $y = arrpop($var)
      $x = arrpop($var)
      lclick($x, $y )
      waitms(1500)
      LCLICK(858,741)
      waitms(200)
   end_cyc
   INC ($aaa, 1)
   IF($aaa = 44)
      HALT
   END_IF
   WAITS(10)
   GOTO (start)
END_THREAD
[/spoiler]

За ранее спасибо всем кто пытался чем то помочь, даже если я и не понял  ;D

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: [!HELP] HALT
« Reply #1 on: March 03, 2017, 08:55:01 PM »
(thread(z, 1)) - это не цикл. Это цикл - FOR($z=0,$z<44)
waits(2) - НЕТ такой команды! ЕСТЬ - wait(2) или - waitms(2000)
Скрипт под спойлером
[spoiler]
Code: (clickermann) [Select]
thread(t, 1)
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(13,21))
END_THREAD

wait(2)

getscreen

scanpicture($var, 0,0, 1673,1005, "1.bmp")

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y )
   waitms(200)
end_cyc


wait(2)

getscreen

scanpicture($var, 0,0, 1673,1005, "2.bmp")

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y )
   waitms(200)
   lclick(257, 417)
   waitms(200)
   lclick(218, 499)
   waitms(200)
   lclick(518, 216)
end_cyc


wait(3)
getscreen

scanpicture($var, 689,562, 869,671, "3.bmp")

while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y )
   waitms(200)
end_cyc

thread(z, 1)  //  ВАРИАНТ С ЦИКЛОМ
   FOR($z=0,$z<44)  // повторит действия 44 раза...
      getscreen
     
      scanpicture($var, 0,0, 1673,1005, "4.bmp")
     
      while (arrsize($var) > 0)
         $y = arrpop($var)
         $x = arrpop($var)
         lclick($x, $y )
         waitms(1500)
         LCLICK(858,741)
         waitms(200)
      end_cyc
      WAIT(10)
   END_CYC
   HALT  //  ...и остановит сценарий.
END_THREAD
[/spoiler]
P.S. А вот картинок реально всех по несколько штук одновременно появляется?
« Last Edit: March 03, 2017, 09:36:59 PM by open_78 »

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: [!HELP] HALT
« Reply #2 on: March 03, 2017, 10:52:29 PM »
Одновременно все появиться не могут..

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: [!HELP] HALT
« Reply #3 on: March 03, 2017, 11:04:49 PM »
Одновременно все появиться не могут..
Я понял что все не могут. А несколько одинаковых могут?

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: [!HELP] HALT
« Reply #4 on: March 04, 2017, 02:53:36 AM »
Нет

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: [!HELP] HALT
« Reply #5 on: March 04, 2017, 07:58:12 AM »
Нет
Я еще с прошлой темы об этом догадывался. А нафига-ж ты тогда сканируешь командой SCANPICTURE? Достаточно IF_PICTURE_IN,

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [!HELP] HALT
« Reply #6 on: March 04, 2017, 08:29:38 AM »
Code: (clickermann) [Select]
THREAD(t, 1)
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(13,21))
END_THREAD

THREAD(z, 1)
   $n = 0
   WHILE($n < 44) // после того как картинка "4.bmp" будет найдена 44 раза выходим из цикла
      GETSCREEN
      IF_PICTURE_IN (0,0, 1673,1005, "4.bmp", -1, 100)
         LCLICK($_return1, $_return2)
         waitms(1500)
         LCLICK(858,741)
         wait(10)
         INC($n,1)
      ELSE
         waitms(100)
      END_IF
   END_CYC

   HALT // стоп
END_THREAD

GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "1.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAIT(2)
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "2.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   waitms(200)
   lclick(257,417)
   waitms(200)
   lclick(218,499)
   waitms(200)
   lclick(518,216)
   WAIT(3)
END_IF

GETSCREEN
IF_PICTURE_IN (689,562, 869,671, "3.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(200)
END_IF
WAITMS(100)

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: [!HELP] HALT
« Reply #7 on: March 05, 2017, 05:46:46 PM »
А нафига-ж ты тогда сканируешь командой SCANPICTURE? Достаточно IF_PICTURE_IN,

Скрипт зависал.. поэтому сказали лучше юзать SCANPICTURE

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: [!HELP] HALT
« Reply #8 on: March 05, 2017, 05:53:03 PM »
Code: (clickermann) [Select]
THREAD(t, 1)
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(13,21))
END_THREAD

THREAD(z, 1)
   $n = 0
   WHILE($n < 44) // после того как картинка "4.bmp" будет найдена 44 раза выходим из цикла
      GETSCREEN
      IF_PICTURE_IN (0,0, 1673,1005, "4.bmp", -1, 100)
         LCLICK($_return1, $_return2)
         waitms(1500)
         LCLICK(858,741)
         wait(10)
         INC($n,1)
      ELSE
         waitms(100)
      END_IF
   END_CYC

   HALT // стоп
END_THREAD

GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "1.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAIT(2)
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "2.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   waitms(200)
   lclick(257,417)
   waitms(200)
   lclick(218,499)
   waitms(200)
   lclick(518,216)
   WAIT(3)
END_IF

GETSCREEN
IF_PICTURE_IN (689,562, 869,671, "3.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(200)
END_IF
WAITMS(100)

Спасибо большое, опробую