|
Поиск цвета в перекрытом (свернутом окне), почему-то не работает |
|
|
фонарик |
19.12.2012, 14:55
|
Apprentice
Сообщений: 145
Регистрация: 23.11.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.305
|
Подскажите пожалуйста, на сегодняшний день в версии пилота 2.32 есть возможность настроить поиск цвета пикселя в окне (приложении), которое перекрыто, например, блокнотом или просто всернуто на панель задач ? Либо у меня что-то не получается, либо оно в принципе не работает. // рабочее окно я указываю при помощи ctrl+a set $a findcolor (0, 0 450, 250 1 1 7132903 %s 2 workwindow abs) set #w size (%s) msg size: #w found: $a for #i 1 #w set #x %s [#i 1] set #y %s [#i 2] end_for Если окно развернуто на мониторе поверх всего или виден искомый пиксель из-за других окон которые на переднем плане - то пиксель находится. Если же окно игры перекрыть блокнотом, то все, капут (IMG: style_emoticons/default/sad.gif) Если в скрипте перед workwindow поставить 1 (там стоит 2), то спасет только закрытие пилота и повторное открытие, ибо кнопка старт пуск вообще перестает реагировать (ощущение складывается, что пилот просто завис). Если там же удалить 2 - то пиксель не найдется ни в каком случае (я как понял, там можно ставить 1, 2, название окна или же рабочее окно которое указано). Если после workwindow поставить 1 (как я понял, это количество пикселей которые найдет пилот и прекратит дальнейший поиск), то он все равно при рабочем варианте ищет все 4 пикселя которые там есть. Вместо ctrl+a я пробывал указывать окно командами: set #win FindWindow (CORE) set WorkWindow #win и потом вместо workwindow подставлял переменную #win Но все равно стоит перекрыть область где сидят искомые пиксели - не находится (IMG: style_emoticons/default/sad.gif) Может я что-то не так делаю ? Или подскажите пожалуйста, как можно еще попробовать? А еще постоянно вылазиет вот такая ошибка: (IMG: http://img19.imageshack.us/img19/883/errory.gif) жмакаешь ок какое-то время она больше не вылазиет, не смотря на ошибку все работает вродебы дальше также, как и работало.
|
|
|
|
фонарик |
20.12.2012, 12:19
|
Apprentice
Сообщений: 145
Регистрация: 23.11.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.305
|
Цитата(Zeleax @ 19.12.2012, 15:01) workwindow указывается ВМЕСТО типа поиска Если вместо 1 или 2 (типа поиска) указать workwindow, то пиксели не находятся не то чтобы в перекрытом окне, а вообще как таковые на экране активного приложения, лежащего поверх всего. Поиск находит пиксель только при типе поиска 2 и только если данные пиксели видны воочию на мониторе. Почему так? Цитата(Zeleax @ 19.12.2012, 15:01) Кстати, зачем обычно использовать abs, если ищете в окне (в оконных координатах)? Дело в том, что если есть необходимость запустить скрипт в заранее неизвестном окне (т.е указываем в скрипте активное окно - workwindow), то если скрипт построен на не абсолютнызх координатах, то он воспримет относительные координаты как абсолютные. Например, есть окно размером 800х600, в котором нужно жмакнуть на координаты 400, 300. Разрешение рабочего стола - 1366х768. Данное окно активно. Код set WorkWindow left 400, 300 stop_script и скрипт жамкнет где-то в левом верхнем уголке окна (т.е по абс. координатам 400, 300) Поэтому приходится при задании координат указывать абсолютные. Это очень неудобно, т.к менять положение окна нельзя. Сейчас с появлением функции задания активного окна из под курсора оно работает и на относительных координатах, но опять беда - мышка не всегда находится над окном, в котором нужно похозяйничать скрипту.
|
|
|
|
Rob098 |
24.3.2013, 22:58
|
Registred
Сообщений: 1
Регистрация: 24.3.2013 Группа: Пользователи Наличность: 0
Пользователь №: 15.926
Возраст: 22
|
долго использовал версию 1.07 для одной онлайн ява игры, можно было перекрывать другими окнами, играть в игры, делать вообще все, что угодно, но вот в новых версиях это вообще не работает, стоит перекрыть любым окном и все... (IMG: style_emoticons/default/sad.gif)
|
|
|
|
Automaton |
30.12.2019, 22:41
|
Neophyte
Сообщений: 47
Регистрация: 18.12.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.472
Возраст: 27
|
Цитата(фонарик @ 19.12.2012, 14:55) set $a findcolor А так разве будет работать, если "а" строковая переменная? Цитата # - признак числовой переменной, может содержать только числа, позволяет выполнять математические операции. $ - признак строковой переменной, может содержать любые символы. П.С. ого какую старую тему 2013 года подняли, я и не заметил сразу.
|
|
|
|
DarkMaster |
31.12.2019, 20:56
|
Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27725
Пользователь №: 11.279
|
Цитата Не получилось найти картинку а эмуляторах блюстак и мему, аеро гласс не помог, мало ли кому будет полезно, не тратьте время Получилось найти картинку в memu и nox. Все шуршит =) Цитата А так разве будет работать, если "а" строковая переменная?
Да, но при сравнении нужно понимать, что она строковая. Там был когда-то давно баг и приходилось писать строковую, чтобы ошибки не выбивало. Сейчас можно спокойно использовать числовую.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
MaXiS |
14.1.2020, 12:10
|
Novice
Сообщений: 60
Регистрация: 22.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.498
Возраст: 32
|
Цитата(DarkMaster @ 31.12.2019, 20:56) Получилось найти картинку в memu и nox. Все шуршит =)
Да как так то?) Код log clear set #ownerHandle findwindow (GoGi) //Поиск флота set #flot findimage (16, 55 91, 395 (flot.bmp) %arr 2 90 20 15 #ownerHandle) if #flot > 0 log Картинка найдена left %arr [1 1] %arr [1 2] end_if wait 2s
Эмулятор Nox, w10 pro чистая. Хелп )
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|