Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: zkripter on March 05, 2016, 05:26:17 PM
-
Приветствую всех :)
Как определить, что функция if_picture_in нашла изображение? Вообще, по-моему, она работает как-то странно или я что-то намудрил.
Алгоритм такой:
1) Запускаю этот скрипт. Теперь на диске - участок экрана в .bmp;
2) Убираю строку "третья";
3) Экран не меняю. Запускаю скрипт снова. Он печатает правильные результат;
4) Меняю экран. Запускаю скрипт. Результат тот-же >:(. Переменные $_return1 и $_return2 не поменялись. Как определить, что экран изменился.
Кстати, если ввести строки "первая" и "вторая" и повторить весь алгоритм, то функция if_picture_in вообще никогда не меняет результаты - как были -1, так и остаются >:(.
Как правильно определить, что область экрана изменилась?
#name "test script"
sub (print_res)
define($str)
$str = $_return1
$str = strconcat($str, "_", $_return2)
print($str)
end_sub
//$_return1 = -1 // первая
//$_return2 = -1 // вторая
print_res ()
wait(1)
getscreen
screenshotex(254, 59, 275, 595, "stt") // третья
if_picture_in(254, 59, 275, 595, "screens\stt0000.bmp")
print_res ()
//dialogbox($str, 0, 4)
halt
-
надо писать скрипт так, чтобы не исправлять каждый раз строки. запусти этот скриптик. И еще, почисти папки screen
#name "test script"
sub(pict)
getscreen
if_picture_in(250, 50, 290, 600, "screens\stt0000.bmp")
$str = $_return1
$str = strconcat($str, "_", $_return2)
print($str)
else
print("не найдено")
end_if
end_sub
getscreen
screenshotex(254, 59, 275, 595, "stt") // третья
$m2r= dialogbox("скрин сохранен", 0, 3)
$mr = dialogbox("Найти скриншот?", 4, 2)
if ($mr=6)
pict()
end_if
wait(2)
$m2r= dialogbox("обнови экран", 0, 3)
$mr = dialogbox("Найти старый скриншот?", 4, 2)
if ($mr=6)
pict()
end_if
halt
-
Спасибо
Все переписал, теперь работает :D
Я гайд просто невнимательно читал, пропустил else ... end_if
-
В системные переменные нельзя ничего записывать. Потому что создадутся обычные не системные переменные и все обращение будет идти к ним.