Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Viktor77 on April 27, 2021, 04:46:03 PM
-
подскажите как можно в таком цикле добавить еще условие, если условие не выполняется в течении 10 минут, выйти и выполнять дальше скрипт.
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
wait(1000)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", -1, 100)
$check=1
MOVE($_return1, $_return2)
WAITMS(3000)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "3.bmp", -1, 100)
LCLICK($_return1, $_return2)
wait(1000)
END_IF
else
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "4.bmp", -1, 100)
LCLICK($_return1, $_return2)
wait(1000)
END_IF
END_IF
END_IF
END_CYC
HALT
-
Какое условие не выполняется?
-
Какое условие не выполняется?
чтобы выходил из цикла через 10 минут, и продолжал дальше скрипт
-
чтобы выходил из цикла через 10 минут, и продолжал дальше скрипт
Это другой, нормальный вопрос, а то условия непонятные.
$time = $_time_t + 600
WHILE($time > $_time_t)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN(0,0,$_xmax,$_ymax, "1.bmp")
LCLICK($_return1, $_return2)
wait(1000)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN(0,0,$_xmax,$_ymax, "2.bmp")
$time = 0
MOVE($_return1, $_return2)
WAITMS(3000)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN(0,0,$_xmax,$_ymax, "3.bmp")
LCLICK($_return1, $_return2)
wait(1000)
END_IF
else
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN(0,0,$_xmax,$_ymax, "4.bmp")
LCLICK($_return1, $_return2)
wait(1000)
END_IF
END_IF
END_IF
END_CYC
-
Какое условие не выполняется?
Добрый вечер. а вот подскажите как реализовать такое: есть 5 таймеров со своими скриптами, и как можно сделать чтоб независимо от запуска, шла проверка времени. т.е. запустил скрипт 15,00 и стартовало с 15,10 т.е. с 3 таймера
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 10)&($_time_m = 10))
$time_check = 1
// скрипт 1
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 12)&($_time_m = 10))
$time_check = 1
// скрипт 2
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 15)&($_time_m = 10))
$time_check = 1
// скрипт 3
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 17)&($_time_m = 10))
$time_check = 1
// скрипт 4
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 19)&($_time_m = 10))
$time_check = 1
// скрипт 5
END_IF
END_CYC
HALT
-
Добрый вечер. а вот подскажите как реализовать такое: есть 5 таймеров со своими скриптами, и как можно сделать чтоб независимо от запуска, шла проверка времени. т.е. запустил скрипт 15,00 и стартовало с 15,10 т.е. с 3 таймера
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 10)&($_time_m = 10))
$time_check = 1
// скрипт 1
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 12)&($_time_m = 10))
$time_check = 1
// скрипт 2
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 15)&($_time_m = 10))
$time_check = 1
// скрипт 3
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 17)&($_time_m = 10))
$time_check = 1
// скрипт 4
END_IF
END_CYC
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
IF(($_time_h = 19)&($_time_m = 10))
$time_check = 1
// скрипт 5
END_IF
END_CYC
HALT
Чтобы такое сделать нужно всего лишь каждое утро выпивать одну ложку... не писать лишнего.
Вот зачем здесь циклы? Они ведь даже подписаны - "сдерживает". Понятно, что если не нужно сдерживать, то и циклы не нужны.
IF(($_time_h = 10)&($_time_m = 10))
// скрипт 1
END_IF
IF(($_time_h = 12)&($_time_m = 10))
// скрипт 2
END_IF
IF(($_time_h = 15)&($_time_m = 10))
// скрипт 3
END_IF
IF(($_time_h = 17)&($_time_m = 10))
// скрипт 4
END_IF
IF(($_time_h = 19)&($_time_m = 10))
// скрипт 5
END_IF
WAIT(1)
-
Чтобы такое сделать нужно всего лишь каждое утро выпивать одну ложку... не писать лишнего.
Вот зачем здесь циклы? Они ведь даже подписаны - "сдерживает". Понятно, что если не нужно сдерживать, то и циклы не нужны.
IF(($_time_h = 10)&($_time_m = 10))
// скрипт 1
END_IF
IF(($_time_h = 12)&($_time_m = 10))
// скрипт 2
END_IF
IF(($_time_h = 15)&($_time_m = 10))
// скрипт 3
END_IF
IF(($_time_h = 17)&($_time_m = 10))
// скрипт 4
END_IF
IF(($_time_h = 19)&($_time_m = 10))
// скрипт 5
END_IF
WAIT(1)
будет ли работать такой скрипт корректно? в скриптах 1-5 присутствуют циклы.
IF(($_time_h = 10)&($_time_m = 10))
// скрипт 1
$check2=0
WHILE($check2=0)
GETSCREEN
colormode(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "111.bmp", -1, 100)
LCLICK($_return1+30, $_return2+10)
WAITMS(1000)
картинка(0,0, $_xmax,$_ymax, "112.bmp",2,2, 1000,8)
картинка(0,0, $_xmax,$_ymax, "113.bmp",2,2, 1000,8)
GETSCREEN
colormode(8)
IF_PICTURE_IN (472,473,557,510, "235.bmp", -1, 100)
$check2=1
move($_return1, $_return2)
WAITMS(1000)
END_IF
END_IF
END_CYC
END_IF
IF(($_time_h = 12)&($_time_m = 10))
// скрипт 2
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "88.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(3000)
END_IF
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "89.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(3000)
END_IF
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "90.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(3000)
END_IF
WAITMS(1000)
$time_check = 0
WHILE($time_check = 0)
IF(($_time_h = 12)&($_time_m = 30))
$time_check = 1
клик(1271,785,5000)
клик(521,780,3000)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "101.bmp", -1, 100)
$check = 1
MOVE($_return1, $_return2)
WAITMS(3000)
ELSE
WAITMS(50)
END_IF
END_CYC
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "102.bmp", -1, 100)
LCLICK($_return1+10, $_return2+8)
WAITMS(3000)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "кт.bmp", -1, 100)
LCLICK($_return1+30, $_return2+10)
WAITMS(3000)
END_IF
END_IF
WAITMS(1000)
клик(445,780,3000)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "колесо.bmp", -1, 100)
$check = 1
MOVE($_return1, $_return2)
WAITMS(3000)
ELSE
WAITMS(50)
END_IF
END_CYC
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "галка.bmp", -1, 100)
LCLICK($_return1+10, $_return2+8)
WAITMS(3000)
GETSCREEN
COLORMODE(8)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "крутить колесо захват.bmp", -1, 100)
LCLICK($_return1+30, $_return2+10)
WAITMS(3000)
END_IF
END_IF
WAITMS(1000)
END_IF
END_CYC
END_IF
IF(($_time_h = 15)&($_time_m = 10))
// скрипт 3
END_IF
IF(($_time_h = 17)&($_time_m = 10))
// скрипт 4
END_IF
IF(($_time_h = 19)&($_time_m = 10))
// скрипт 5
END_IF
WAIT(1)
-
И пусть присутствуют. На самом деле это уже совсем другой вопрос - как обеспечить поочерёдную/одновременную работу нескольких веток скрипта.
Если каждый скрипт при данных параметрах таймеров будет работать не более 1ч 59 м 58 сек то всё будет нормально.
Если же, к примеру, скрипт 1 не дождётся 111.bmp или 235.bmp то ясное дело на этом моменте и зациклится. Но точно также он себя поведёт и при первом варианте таймера - сожиданием.
Если такой опасности нет, то всё нормально, если есть, нужно предусмотреть это и ограничить внутренние циклы по времени.
Или в зависимости от целей, может нельзя их ограничивать и дать им работать параллельно. Тогда нужно разбить по потокам, но там свои проблемы сделать так, чтоб они друг другу не мешали.