Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: rasnvas on February 08, 2017, 08:29:31 PM
-
здравствуйте а как быть если для каждой картинке надо выполнить разные функции например ”img1.bmp” нажать клавишу KEYPRESS(#L) а для ”img2.bmp” KEYPRESS(#S) и т.д помогите плиз вот код
// создаем список и передаём в него изображения
$img[0]=”img1.bmp”
$img[1]=”img2.bmp”
$img[2]=”img3.bmp”
for($i=0,$i<3)// для переменной i=0 пока i<3
if_picture_in(0,0,$_xmax,$_ymax,$img[i])// если картинка из списка есть
MOVE($_return1+5,$_return2+5)
WAITMS(10)
LCLICK($_return1+5,$_return2+5)
END_IF// конец условия если
END_CYC// конец цикла для
-
Где ты такие кавычки нашел? И в индексе массива нужно писать переменную а не просто букву. А так же, где GETSCREEN?
// создаем список и передаём в него изображения
$img[0]="img1.bmp"
$img[1]="img2.bmp"
$img[2]="img3.bmp"
GETSCREEN
for($i=0,$i<3)// для переменной i=0 пока i<3
if_picture_in(0,0,$_xmax,$_ymax,$img[$i])// если картинка из списка есть
MOVE($_return1+5,$_return2+5)
WAITMS(10)
LCLICK($_return1+5,$_return2+5)
WAITMS(50)
SWITCH($i) // свитч выполнит ту или иную секцию в зависимости от числа в переменной
CASE(1)
KEYPRESS(#L)
WAITMS(50)
CASE(2)
KEYPRESS(#S)
WAITMS(50)
END_SWITCH
END_IF // конец условия если
END_CYC // конец цикла для
Может проще это написать по обычному
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#L)
WAITMS(50)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#S)
WAITMS(50)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
-
спасибо большое помогли очень сильно :)
-
А вы не могли бы объяснить как с одного цикла перейти по команде на другой исполнить 30 раз и вернуться к первому
-
А вы не могли бы объяснить как с одного цикла перейти по команде на другой исполнить 30 раз и вернуться к первому
Можно использовать подпрограмму
SUB(имя)
FOR($b=0,$b<5)
//
END_CYC
END_SUB
FOR($a=0,$a<5)
//
имя()
END_CYC
-
Я правильно понял
//1
SUB(имя)
FOR($b=0,$b<5)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#L)
WAITMS(50)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#S)
WAITMS(50)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_CYC
END_SUB
//2
FOR($a=0,$a<5)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#L)
WAITMS(50)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#S)
WAITMS(50)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_CYC
-
нет неправильно.
-
Я прошу прощения я новенький и тупой в этом деле объясните пожалуйста по подробней
-
SUB(Prog1)
FOR($b=0,$b<5)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img4.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img5.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img6.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
END_SUB
FOR($a=0,$a<10)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "img3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
Prog1() // переходим в подпрограмму Prog1 там цикл прокрутит код 5 раз и выполнение вернется на следующую строку. выполняем этот цикл второй раз и снова в подпрограмму и тд.
END_CYC
-
теперь яснее стало спасибо огромное реально помогли :)
-
что та не так не переключает не могу понять почему :-\
FOR($a=0,$a<10)
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras11.bmp")
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras10.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras9.bmp")
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras8.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras7.bmp")
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras6.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras5.bmp")
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras4.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras3.bmp")
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras2.bmp")
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (298,484, 543,507, "ras1.bmp")
HALT
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
Prog1() // ïåðåõîäèì â ïîäïðîãðàììó Prog1 òàì öèêë ïðîêðóòèò êîä 5 ðàç è âûïîëíåíèå âåðíåòñÿ íà ñëåäóþùóþ ñòðîêó. âûïîëíÿåì ýòîò öèêë âòîðîé ðàç è ñíîâà â ïîäïðîãðàììó è òä.
END_CYC
SUB(Prog1)
FOR($b=0,$b<5)
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras1.bmp")
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras2.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras3.bmp")
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras4.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras5.bmp")
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras6.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras7.bmp")
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras8.bmp")
KEYPRESS(#S)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras9.bmp")
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (570,482, 851,508, "ras10.bmp")
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#A)
KEYPRESS(#L)
WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (298,484, 543,507, "b128.bmp")
HALT
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
END_SUB
-
Это ужас!!!!
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
-
На каждый IF_... один END_IF.
Тело подпрограммы обязательно выше вызова подпрограммы
SUB(Prog1)
////////
END_SUB
Prog1()
-
Спасибо вроде разобрался
-
Я вот не как не могу понять как можно упростить нажатие клавиши например если мне надо нажать одну клавишу 10 раз подскажите если конечно так возможно.
-
Я вот не как не могу понять как можно упростить нажатие клавиши например если мне надо нажать одну клавишу 10 раз подскажите если конечно так возможно.
FOR($a=0,$a<10)
KEYPRESS(#A)
WAITMS(50)
END_CYC
-
Зачем сразу молча код?
Он хочет понять. Вот если бы он просил: "дайте код нажимающий 10 раз, я его использую и сразу забуду" - вот тогда да.