Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Flayka on October 30, 2015, 06:35:26 PM
-
getscreen
$pix=PXLCOUNT(60,820, 226,836, 0)
if (($pix=400) or ($pix=0))
else
print("wow")
SCREENSHOTEX(4,789, 1419,839, "Netak_"$n, 0)
FOR($nomsc=0, $nomsc < $n)
print(enter)
getscreen
IF_PICTURE_IN (4,789, 1419,839, STRCONCAT("Netak_"$nomsc,".bmp"), -1, 90)
TFCLEAR ("screens\netak", 1)
end_if
end_cyc
end_if
надо доработать, а я чет запутался.
Суть такая:
1. Если пиксели совпали - ничего не делаем
2 . Если по количеству пикселей не совпало, то мы делаем скриншот.
2.1 Если такой скриншот есть, то удаляем существующий
2.2 Если такого же скриншота нет - оставляем.
3. каждый раз проверяем новый скриншот со всеми существующими скриншотами (которые созданы с момента запуска скрипта)
В начале скрипта надо бы сделать проверку на наличие картинок, если они есть, то удалить. Отсюда вопрос, скрины мы можем сохнять только в screens\ ?? ибо вариант с отдельной папкой, которую можно удалить в начале запуска скрипт не хочет воспринимать((
:o :o :o
-
Размер картинок слишком велик для IF_PICTURE_IN. В место этого лучше снимать хеш сумму с области и сравнивать числовые значения а новый скрин делать только при отсутствии совпадений.
Удалять папки и файлы проще батником.
У тебя есть ошибки, например здесь
SCREENSHOTEX(4,789, 1419,839, "Netak_"$n, 0)
Правильно будет
SCREENSHOTEX(4,789, 1419,839, STRCONCAT("Netak_",$n), 0)
Не верно
IF_PICTURE_IN (4,789, 1419,839, STRCONCAT("Netak_"$nomsc,".bmp"), -1, 90)
Верно
IF_PICTURE_IN (4,789, 1419,839, STRCONCAT("Netak_",$nomsc,".bmp"), -1, 90)
-
батником проще, но я почему-то думал, что мне будут нужны некоторые файлы в папке скрин, немного подправил- уже не нужны)
У тебя есть ошибки, например здесь
SCREENSHOTEX(4,789, 1419,839, "Netak_"$n, 0)
Правильно будет
SCREENSHOTEX(4,789, 1419,839, STRCONCAT("Netak_",$n), 0)
кликерман в 4.11 (000) Команды-Экран - SCREENSHOTEX(0,0, $_xmax,$_ymax, "Image_", 0)
а с запятыми и скобочками, да бывают у меня проблемки)
И спасибо большое, в который раз спасаешь))
-
тогда ещё можно вопросик?)
нужно было: делаем скрин части экрана, через 2 минуты делаем скрин той же части экрана, если картинки 5 раз совпали, перезапускаем скрипт, реализовал вот так:
getscreen
TFCLEAR ("screens\m_0000.bmp", 1)
wait(3)
SCREENSHOTEX(717,123, 1036,218, "m_", 0)
wait(120)
getscreen
IF_PICTURE_IN (717,123, 1036,218, "screens\m_0000.bmp",-1,70)
print("Пoвис в ", $povis," раз")
inc($povis)
TFCLEAR ("screens\m_0000.bmp", 1)
If ($povis>5)
$povis=0
keypress(#F5)
wait(30)
inc($4etam) //флаг для сброса скрипта
end_if
else
$povis=0
TFCLEAR ("screens\m_0000.bmp", 1)
END_IF
но после твоей помощи, думаю, что если сделать эту часть скрипта так же через хеш, то скрипт оптимизируется.)