Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: sanek83 on May 17, 2016, 10:07:42 AM
-
SUB(переход, $pict)
WHEELDOWN(8)
MOVE(1300,380)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (702,92, 1752,690, $pict, -1, 95)
$check = 1
LCLICK($_return1+10, $_return2+10)
MOVE(1300,380)
WAIT(1)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(охота, $pict)
$q = 0
WHILE($q = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "oxota0000.bmp", -1, 85) // клик ,бонус
LCLICK($_return1+13, $_return2+73)
WAIT(1)
ELSE
$q=1
END_IF
END_CYC
skip:
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (649,408, 1214,921, "oxotzakrit0000.bmp", -1, 95)
$check = 1
WAIT(6)
ELSE
GETSCREEN
IF_PIXEL_IN(913,777, 916,783, 5194010) //манна
LCLICK(1209, 764)
WAITMS(100)
ELSE
LCLICK(1075,762)
WAIT(1)
GETSCREEN
IF_PIXEL_IN(377,172, 378,175, 1973822) // жизнь
LCLICK(438, 808)// элик жизни
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
$var = 0
WHILE($var = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "nagrada0000.bmp", -1, 95) // навести на добычу
MOVE($_return1+46, $_return2+88)
WAIT(1)
END_IF
WAIT(1)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "moneta0000.bmp", -1, 95) // клик ,манета
LCLICK($_return1, $_return2)
WAIT(1)
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "prodat0000.bmp", -1, 95) // клик ,продать
LCLICK($_return1+5, $_return2+3)
WAIT(1)
ELSE
IF_PICTURE_IN (630,416, 1305,954, "vse0000.bmp", -1, 95) // клик , на все
LCLICK($_return1+5, $_return2+3)
WAIT(1)
ELSE
$var = 1
END_IF
END_IF
END_CYC
MOVE(1024,318)
WAIT(2)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "tuwki0000.bmp", -1, 90) // клик ,тушки
LCLICK($_return1+52, $_return2+37)
WAIT(1)
MOVE(1024,318)
IF_PICTURE_IN (630,416, 1305,954, "tuwki0000.bmp", -1, 90) // клик ,тушки
LCLICK($_return1+52, $_return2+37)
WAIT(1)
MOVE(1024,318)
END_IF
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "oxotzakrit0000.bmp", -1, 95) // клик ,закрыть
LCLICK($_return1+5, $_return2+5)
WAIT(1)
END_IF
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kapkan0000.bmp", -1, 95)
$check = 1
LCLICK($_return1+15, $_return2+68)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$che = 0
WHILE($che = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "med0000.bmp", -1, 90) // клик ,мед
LCLICK($_return1+35, $_return2+35)
WAIT(1)
$che = 1
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "okorok0000.bmp", -1, 90) // клик ,окорок
LCLICK($_return1+35, $_return2+35)
WAIT(1)
$che = 1
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "kalmar0000.bmp", -1, 90) // клик ,кальмар
LCLICK($_return1+35, $_return2+35)
WAIT(1)
$che = 1
ELSE
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (562,409, 1330,722, "kupit0000.bmp", -1, 90) // клик ,купить
LCLICK($_return1+5, $_return2+5)
WAIT(1)
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "med10000.bmp", -1, 90) // клик ,мед
LCLICK($_return1+35, $_return2+35)
WAIT(1)
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "okorok10000.bmp", -1, 90) // клик ,окорок
LCLICK($_return1+35, $_return2+35)
WAIT(1)
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "kalmar10000.bmp", -1, 90) // клик ,кальмар
LCLICK($_return1+35, $_return2+35)
WAIT(1)
END_IF
END_IF
END_IF
$q = 0
WHILE($q = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "oxota0000.bmp", -1, 85) // клик ,охоту
WAIT(1)
LCLICK($_return1+13, $_return2+73)
GOTO(skip)
ELSE
$q=1
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (1529,90, 1790,505, $pict, -1, 90)
$check = 1
LCLICK($_return1+13, $_return2+3)
MOVE(1300,380)
WAIT(1)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(проверка)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (684,593, 1265,727, "bonus0000.bmp", -1, 90) // клик ,бонус
LCLICK($_return1, $_return2)
WAITMS(100))
END_IF
WAIT(3)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (188,159, 1758,484, "krest0000.bmp", -1, 90) // клик на крестик
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (641,381, 1242,796, "zakritkr0000.bmp", -1, 90) // на закрыт крастный
$check = 1
LCLICK($_return1+10, $_return2+10)
WAITMS(100)
END_IF
END_SUB
SUB(выбор, $pict)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (899,215, 1410,570, $pict, -1, 95)
$check = 1
LCLICK($_return1+30, $_return2+30)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
LOGWRITE ("начало")
выбор("oxotnik0000.bmp")
WAIT(1)
выбор("vOiti0000.bmp")
WAIT(20)
проверка()
охота("waxta10000.bmp")//выполняет
переход("lug0000.bmp")// встает и пишет ошибку как на скрине
охота("zapad0000.bmp")
переход("vostok0000.bmp")
переход("landor0000.bmp")
переход("gnezda0000.bmp")
охота("xram0000.bmp")
охота("maiak0000.bmp")
переход("fort")
охота("okrfort0000.bmp")
переход("paseka0000.bmp")
переход("mis0000.bmp")
охота("paseka0000.bmp")
переход("landor0000.bmp")
переход("vostok0000.bmp")
переход("zapad0000.bmp")
переход("lug0000.bmp")
переход("waxta10000.bmp")
переход("trakt0000.bmp")
переход("vixod0000.bmp")
переход("da0000.bmp")
LOGWRITE ("конец")
HALT
проблема в sub переход,отдельно он работает на все заданные локи ходит,а вместе с sub(охотник) не переходит почему то=(
Такова файла то не надо даже искать=( в ошибке, который(переход("lug0000.bmp")) а пишет не найден файл 0=(
SUB(переход, $pict)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (702,92, 1752,690, $pict, -1, 90)
$check = 1
LCLICK($_return1+10, $_return2+10)
MOVE(1300,380)
WAIT(1)
ELSE
LOGWRITE ("ищу")
WAITMS(50)
END_IF
END_CYC
END_SUB
переход("waxta10000.bmp")
LOGWRITE ("найдено")
переход("lug0000.bmp")
LOGWRITE ("найдено")
переход("zapad0000.bmp")
LOGWRITE ("найдено")
переход("vostok0000.bmp")
LOGWRITE ("найдено")
переход("landor0000.bmp")
LOGWRITE ("найдено")
переход("gnezda0000.bmp")
LOGWRITE ("найдено")
переход("xram0000.bmp")
LOGWRITE ("найдено")
переход("maiak0000.bmp")
LOGWRITE ("найдено")
переход("fort0000.bmp")
LOGWRITE ("найдено")
переход("okrfort0000.bmp")
LOGWRITE ("найдено")
переход("paseka0000.bmp")
LOGWRITE ("найдено")
переход("mis0000.bmp")
LOGWRITE ("найдено")
переход("paseka0000.bmp")
LOGWRITE ("найдено")
переход("landor0000.bmp")
LOGWRITE ("найдено")
переход("vostok0000.bmp")
LOGWRITE ("найдено")
переход("zapad0000.bmp")
LOGWRITE ("найдено")
переход("lug0000.bmp")
LOGWRITE ("найдено")
переход("waxta10000.bmp")
LOGWRITE ("найдено")
переход("trakt0000.bmp")
LOGWRITE ("вернулся обратно")
вот тут все ок,туда и обратно сбегал вот лог
-
Лог
-
205 строка
$q = 0
WHILE($q = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "oxota0000.bmp", -1, 85) // клик ,охоту
WAIT(1)
LCLICK($_return1+13, $_return2+73)
GOTO(skip)
ELSE
$q=1
END_IF
END_CYC
из цикла выпрыгивать на метку гото запрещено, из условия вроде тоже. и не вижу я тут смысла в цикле - если картинку найдет, то перепрыгиваем к метке, если не найдет, но прекращяем цикл, в чем смысл цикла?
пробуй обойтись без гото, если я правильно понял, то так должно быть правильно:
SUB(переход, $pict)
WHEELDOWN(8)
MOVE(1300,380)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (702,92, 1752,690, $pict, -1, 95)
$check = 1
LCLICK($_return1+10, $_return2+10)
MOVE(1300,380)
WAIT(1)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(охота, $pict)
$q = 0
WHILE($q = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "oxota0000.bmp", -1, 85) // клик ,бонус
LCLICK($_return1+13, $_return2+73)
WAIT(1)
ELSE
$q=1
END_IF
END_CYC
$q = 0
WHILE($q = 0)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (649,408, 1214,921, "oxotzakrit0000.bmp", -1, 95)
$check = 1
WAIT(6)
ELSE
GETSCREEN
IF_PIXEL_IN(913,777, 916,783, 5194010) //манна
LCLICK(1209, 764)
WAITMS(100)
ELSE
LCLICK(1075,762)
WAIT(1)
GETSCREEN
IF_PIXEL_IN(377,172, 378,175, 1973822) // жизнь
LCLICK(438, 808)// элик жизни
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
$var = 0
WHILE($var = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "nagrada0000.bmp", -1, 95) // навести на добычу
MOVE($_return1+46, $_return2+88)
WAIT(1)
END_IF
WAIT(1)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "moneta0000.bmp", -1, 95) // клик ,манета
LCLICK($_return1, $_return2)
WAIT(1)
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "prodat0000.bmp", -1, 95) // клик ,продать
LCLICK($_return1+5, $_return2+3)
WAIT(1)
ELSE
IF_PICTURE_IN (630,416, 1305,954, "vse0000.bmp", -1, 95) // клик , на все
LCLICK($_return1+5, $_return2+3)
WAIT(1)
ELSE
$var = 1
END_IF
END_IF
END_CYC
MOVE(1024,318)
WAIT(2)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "tuwki0000.bmp", -1, 90) // клик ,тушки
LCLICK($_return1+52, $_return2+37)
WAIT(1)
MOVE(1024,318)
IF_PICTURE_IN (630,416, 1305,954, "tuwki0000.bmp", -1, 90) // клик ,тушки
LCLICK($_return1+52, $_return2+37)
WAIT(1)
MOVE(1024,318)
END_IF
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (630,416, 1305,954, "oxotzakrit0000.bmp", -1, 95) // клик ,закрыть
LCLICK($_return1+5, $_return2+5)
WAIT(1)
END_IF
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kapkan0000.bmp", -1, 95)
$check = 1
LCLICK($_return1+15, $_return2+68)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$che = 0
WHILE($che = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "med0000.bmp", -1, 90) // клик ,мед
LCLICK($_return1+35, $_return2+35)
WAIT(1)
$che = 1
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "okorok0000.bmp", -1, 90) // клик ,окорок
LCLICK($_return1+35, $_return2+35)
WAIT(1)
$che = 1
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "kalmar0000.bmp", -1, 90) // клик ,кальмар
LCLICK($_return1+35, $_return2+35)
WAIT(1)
$che = 1
ELSE
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (562,409, 1330,722, "kupit0000.bmp", -1, 90) // клик ,купить
LCLICK($_return1+5, $_return2+5)
WAIT(1)
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "med10000.bmp", -1, 90) // клик ,мед
LCLICK($_return1+35, $_return2+35)
WAIT(1)
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "okorok10000.bmp", -1, 90) // клик ,окорок
LCLICK($_return1+35, $_return2+35)
WAIT(1)
ELSE
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (424,350, 1330,722, "kalmar10000.bmp", -1, 90) // клик ,кальмар
LCLICK($_return1+35, $_return2+35)
WAIT(1)
END_IF
END_IF
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (202,197, 1732,909, "oxota0000.bmp", -1, 85) // клик ,охоту
WAIT(1)
LCLICK($_return1+13, $_return2+73)
$q=0
else
$q=1
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (1529,90, 1790,505, $pict, -1, 90)
$check = 1
LCLICK($_return1+13, $_return2+3)
MOVE(1300,380)
WAIT(1)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(проверка)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (684,593, 1265,727, "bonus0000.bmp", -1, 90) // клик ,бонус
LCLICK($_return1, $_return2)
WAITMS(100))
END_IF
WAIT(3)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (188,159, 1758,484, "krest0000.bmp", -1, 90) // клик на крестик
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (641,381, 1242,796, "zakritkr0000.bmp", -1, 90) // на закрыт крастный
$check = 1
LCLICK($_return1+10, $_return2+10)
WAITMS(100)
END_IF
END_SUB
SUB(выбор, $pict)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (899,215, 1410,570, $pict, -1, 95)
$check = 1
LCLICK($_return1+30, $_return2+30)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
LOGWRITE ("начало")
выбор("oxotnik0000.bmp")
WAIT(1)
выбор("vOiti0000.bmp")
WAIT(20)
проверка()
охота("waxta10000.bmp")//выполняет
переход("lug0000.bmp")// встает и пишет ошибку как на скрине
охота("zapad0000.bmp")
переход("vostok0000.bmp")
переход("landor0000.bmp")
переход("gnezda0000.bmp")
охота("xram0000.bmp")
охота("maiak0000.bmp")
переход("fort")
охота("okrfort0000.bmp")
переход("paseka0000.bmp")
переход("mis0000.bmp")
охота("paseka0000.bmp")
переход("landor0000.bmp")
переход("vostok0000.bmp")
переход("zapad0000.bmp")
переход("lug0000.bmp")
переход("waxta10000.bmp")
переход("trakt0000.bmp")
переход("vixod0000.bmp")
переход("da0000.bmp")
LOGWRITE ("конец")
HALT
-
вот сокращенный вариант твоей ошибки:
SUB(переход, $pict)
print($pict," в переходе")
END_SUB
SUB(охота, $pict)
$q = 0
skip:
WHILE($q < 3)
WAIT(1)
inc($q)
print($q)
GOTO(skip)
END_CYC
print($pict," в охоте")
END_SUB
print("начало")
охота("охота")//выполняет
переход("переход")// встает и пишет ошибку как на скрине
print("конец")
HALT
лог:
11:59:08 начало
11:59:09 1
11:59:10 2
11:59:11 3
11:59:11 охота в охоте
11:59:11 0 в охоте
11:59:11 0 в охоте
11:59:11 0 в охоте
11:59:11 переход в переходе
11:59:11 конец
как видиш, после отработки цикла с меткой, и завершения подпрограммы, параметр подпрограммы охота обнуляется, и изза неразберихи с завершением цикла эта подпрограмма завершается еще 3 раза, но параметр уже обнулен.
-
Спасибо за помощь заработало все как по маслу!
-
Хороший пример демонстрирующий глюк. Из условий выпрыгивать можно, но с циклами и подпрограммами все сложнее. Раньше в справке даже было упоминание что не желательно выпрыгивание и так оно и есть.
-
Не то что не желательно, нельзя выпрыгивать. Лучше так и говорить.
То что в некоторых случаях ничего плохого не будет, пусть для себя решают опытные писатели.
На то и опыт что иногда можно применять то, что обычно применять нельзя. Делить на ноль там... и т.п.