Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: STD 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
-
(thread(z, 1)) - это не цикл. Это цикл - FOR($z=0,$z<44)
waits(2) - НЕТ такой команды! ЕСТЬ - wait(2) или - waitms(2000)
Скрипт под спойлером
[spoiler]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. А вот картинок реально всех по несколько штук одновременно появляется?
-
Одновременно все появиться не могут..
-
Одновременно все появиться не могут..
Я понял что все не могут. А несколько одинаковых могут?
-
Нет
-
Нет
Я еще с прошлой темы об этом догадывался. А нафига-ж ты тогда сканируешь командой SCANPICTURE? Достаточно IF_PICTURE_IN,
-
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)
-
А нафига-ж ты тогда сканируешь командой SCANPICTURE? Достаточно IF_PICTURE_IN,
Скрипт зависал.. поэтому сказали лучше юзать SCANPICTURE
-
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)
Спасибо большое, опробую