Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Fazi on June 08, 2017, 08:04:14 PM
-
Всем привет. Подскажите пожалуйста как написать чтобы цикл чтобы в нем выполнялся поиск картинки в течении 30 секунд и заканчивался, а в случае если картинка найдена выполняются все условия и цикл сразу же вырубается не дожидаясь 30 сек.
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
Пробовал этот код. но он после нахождения картинки все равно продолжает находить её заново и выполнять условия...
$time = $_time_t + 10
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$time = 0
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(500)
END_IF
END_CYC
-
Это потому что нет команды остановки. По умолчанию кликер выполняет код бесконечно.
$time = $_time_t + 10
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$time = 0
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(500)
END_IF
END_CYC
HALT // стоп!!!
-
$vkql=2
ELSE
waitms(30)
END_IF
waitms(RND(700,1800)
//***********Проверяем проверен ли квест**********
if($vkql=2)
$time = $_time_t + 15
WHILE($time > $_time_t)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (754,437, 1013,663, "theQuestIsComplete.bmp", -1, 85)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("квест пройден(успешно)")
$vkql=3
waitms(30)
ELSE
waitms(30)
LOGWRITE("квест не пройден успешно")
wait(30)
END_IF
END_CYC
end_if
//Пройти квест
if($vkql=3)
GETSCREEN
Oraven, вот часть моего кода, проблема в том что после нахождения картинки задание по прежнему в логе вижу что пишет "квест пройден(успешно)"на протяжении 15 секунд...Нужно как-то без команды halt обойтись т.к. дальше идёт ещё код... :'(
-
А куда из этого "куска кода" подевалась строка
$time = 0
Куски кода выкладываются блоками, а не с любого места по любое. Все конструкции должны быть целыми и закрытыми.
-
$time - это обычная переменная, может иметь любое имя
$_time_t - это системная переменная, возвращает время Unix в секундах
$time = $_time_t + 10 - здесь мы прибавляем к времени Unix + 10 секунд и записываем ето значение в переменную $time
WHILE($time > $_time_t) - Цикл выполняется пока $time больше $_time_t
$time не меняется а $_time_t постоянно увеличивается
$time = $_time_t + 10
WHILE($time > $_time_t)
IF_
$time = 0 // если хотим выйти из цикла то просто обнуляем значение в переменной
ELSE
END_IF
END_CYC
-
ахахха))нужно было просто обнулить))как я не додумался)) ::)
Спасибо парни!