Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Dreight on March 10, 2016, 10:15:30 PM
-
Добрые люди подсказали как сделать сделать так, чтобы в определенной области сканировалась картинка, сохранялась, потом по этой картинке делались клики в течении 10-ти минут. После 10-ти минут картинка удаляется.
GETSCREEN
SCREENSHOTEX(х1,у1, х2,у2, "Image_", 0)
WAITMS(500)
$time = $_time_t + 600
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (х1,у1, х2,у2, "screens\Image_0000.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
TFCLEAR("screens\Image_0000.bmp", 1)
WAIT(1)
Теперь у меня немного сложнее задача. Надо чтобы в определенной области сканировалась картинка, сохранялась, на нее ставился таймер на удаление (например 10 мин), происходил клик по картинке и скрипт начинался сначала, сохранялась бы новая картинка№2(если же в этом месте старая картинка нужно ожидать 1 мин), и уже на нее ставится новый таймер(тоже 10 мин), клик, начать скрипт сначала. И так до бесконечности (ну, условно до бесконечности, вроде в clickermanne максимальное количество картинок с одним названием 10 000).
Я так понимаю что для того, чтобы к каждой картинке прикручивать удаление через определенное время нужно задействовать массивы. Вроде прочитал статью про массивы, но так ничего и не понял... Подскажите пожалуйста, как можно прикручивать таймер на удаление к каждой новой картинке?
-
...если же в этом месте...
А тебе точно нужно ИСКАТЬ картинку? Или она всегда в одном строгом месте и тебе нужно определить какая из бывших?
Может и никаие картинки сохранять не нужно.
В 90% случаев, когда вот так пытаются сохранять/искать просто неверный глобальный подход.
Ты объясни что происходит и что нужно сделать, может посоветуют "как". Возможно это будет не тот путь которым ты шёл.
-
скорее всего Vint прав, много лишних движений с этими сохранениями скринов.
но задача по таймеру удаления мне показалась очень даже интересной.
накидал скрипт для версии 4.12 , вроде работает, для индивидуальных нужд можно подрихтовать .
//для версии не ниже 4.12 !!!!
$timer_del = 10 //время хранения файлов в сек
//$path = "screens\" //путь к файлам. убрать "//" из начала этой строки, ОБЯЗАТЕЛЬНО!!! знаки добавлены для правильного отображения на форуме.
//основной поток создает файлы с периодичностью от 2 до 5 сек
GETSCREEN
SCREENSHOTEX(0,0, 23,23, "Image_", 0)
wait(RND(2,5))
//............................................................
//поток проверяет наличие новых файлов и удаляет просроченные.
THREAD(del)
getfilelist($arr_files,STRCONCAT($path,"*.bmp*"))
IF(arrsize($arr_files)>arrsize($arr_temp))
$temp = arrsize($arr_files)-arrsize($arr_temp)
for($a=0, $a<$temp)
arrpush($arr_temp, 0)
arrpush($arr_timer, 0)
end_cyc
END_IF
for($i=0,$i<arrsize($arr_files))
$check=0
FOR($a=0,$a<arrsize($arr_temp))
IF($arr_temp[$a] = $arr_files[$i])
$check=1
$a=arrsize($arr_temp)
else
$check=0
END_IF
END_CYC
IF($check=0)
FOR($a=0,$a<arrsize($arr_temp))
IF($arr_temp[$a] = 0)
$arr_temp[$a] = $arr_files[$i]
$arr_timer[$a] = $_time_t
$a=arrsize($arr_temp)
END_IF
END_CYC
END_IF
end_cyc
for($a=0, $a< arrsize($arr_temp)) //просмотр массива, можно убрать.
print($arr_temp[$a])
end_cyc
print(" ")
FOR($a=0,$a<arrsize($arr_timer))
IF(($_time_t-$arr_timer[$a] > $timer_del)&($arr_timer[$a]>0))
print("del ", $arr_temp[$a])
TFClear(STRCONCAT ($path,$arr_temp[$a]),1)
$arr_temp[$a] = 0
$arr_timer[$a] = 0
END_IF
END_CYC
waitms(200)
END_THREAD