Author Topic: scanpicture+sub  (Read 1757 times)

0 Members and 1 Guest are viewing this topic.

sabziro222

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
scanpicture+sub
« on: May 02, 2016, 03:29:39 PM »
Доброго времени суток!
Суть такова, пока (arrsize($var) > 0),тогда выполнение подпрограммы (причём  эта подпрограмма будет исп и в других scanpicture)
как можно сделать,чтобы sub заработал?
код:
 getscreen   
    scanpicture($var, 412,572, 1310,661, "o.bmp",0,100)
while (arrsize($var) > 0)
$y = arrpop($var)
      $x = arrpop($var)
      lclick($x, $y)
      waitms(2000)
      gosub(click)
 SUB(click)     
lclick(920,672)
KEYPRESS(#enter)         
WAITMS(RND(6500,7000)
END_SUB
end_cyc
« Last Edit: May 02, 2016, 03:40:55 PM by sabziro222 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: scanpicture+sub
« Reply #1 on: May 02, 2016, 03:47:34 PM »
Какая у тебя версия кликера? Похоже сочетание scanpicture и gosub применимо только для 4.8 версии.
Однако подпрограмма всегда должна быть на первом уровне, никаких вложений!

Верный код:
Code: (clickermann) [Select]
SUB(click)
   lclick(920,672)
   KEYPRESS(#enter)
   WAITMS(RND(6500,7000))
END_SUB

getscreen
scanpicture($var, 412,572, 1310,661, "o.bmp",0,100)
while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y)
   waitms(2000)
   gosub(click)
end_cyc
« Last Edit: May 03, 2016, 03:46:12 PM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: scanpicture+sub
« Reply #2 on: May 02, 2016, 03:56:17 PM »
у меня 4.12b

В место того что бы бездумно копипастить код из интернета лучше бы почитал справку. Вызов подпрограммы от версии 4.9 и выше пишется так "click()"

Code: (clickermann) [Select]
SUB(click) // подпрограмма обязательно должна быть выше вызова, обычно их описывают в начале скрипта.
   lclick(920,672)
   KEYPRESS(#enter)
   WAITMS(RND(6500,7000))
END_SUB

getscreen
scanpicture($var, 412,572, 1310,661, "o.bmp",0,100)
while (arrsize($var) > 0)
   $y = arrpop($var)
   $x = arrpop($var)
   lclick($x, $y)
   waitms(2000)
   click()
end_cyc
« Last Edit: May 03, 2016, 03:45:58 PM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: scanpicture+sub
« Reply #3 on: May 03, 2016, 02:40:00 PM »
В
Code: (clickermann) [Select]
WAITMS(RND(6500,7000)не хватает закрывающей скобки.


sabziro222

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Re: scanpicture+sub
« Reply #4 on: May 03, 2016, 05:48:13 PM »
нормально заработало,когда scanpicture взял со справки
Code: (clickermann) [Select]
  SUB(NIC)
lclick(959,678)
waitms(3000)
KEYPRESS(#enter)
waitms(6000)
END_SUB
GETSCREEN
WAITMS(700)
scanpicture($ARR_SCAN, 419,591, 1310,661, "o.bmp",0,100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
lclick($x,$y)
   LOGWRITE ("X: ", $X, " Y: ", $Y)
   waitms(2500)
   NIC()
END_CYC
UNDEFINE($ARR_SCAN)
« Last Edit: May 03, 2016, 05:53:29 PM by sabziro222 »