Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Мигает экран окна при выполнении команд типа findimage get color
Aqualon
сообщение 21.3.2023, 2:01
Сообщение #1


**

Neophyte
Сообщений: 23
Регистрация: 21.3.2023
Группа: Пользователи
Наличность: 6
Пользователь №: 20.503
Возраст: 22



Нужно найти картинку в окне. Собственно, проблем с этим особо нет, проблема конкретно с привязанным окном.

Пока окно не привязано - всё прекрасно работает и картинка находится/не находится, возвращается результат. Проблема только в том что мне нужно 6 окон которые будут наложены друг на друга и такой вариант меня не устраивает, окна нужно вязать.

Но стоит привязать окно - при каждом вызове функции findimage или get color привязанное окно мигает чёрным на милисекунду, если посмотреть то что видит пилот через кнопку F в этот момент - видит он вот это

Если что - рамка окна полностью чёрная внутри, хендл точно правильный

Сниппет приложу ниже.

Виртуалка не вариант т.к. мне нужно 6 одновременно запущенных скриптов, привязанных к разным окнам, 6 виртуалок поднимать ради этого точно не буду.

Собственно идей нет в принципе, есть подозрение что на клиенте игры защита от подобного рода манипуляций, т.к. проверил на нескольких разных сборках и везде поведение одинаковое - чёрное окно.

Код

set hotkeystart {num_+}

call carouselRuns

log $carouselRuns

end_script

proc carouselRuns
    set $a findimage (0, 0 1920, 1080 (image\c2.bmp) %arr workwindow)
    if $a > 80
        set $result 1
    else
        set $result 0
    end_if
end_proc
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 21.3.2023, 6:39
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.462
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27674
Пользователь №: 11.279



Это бывает с приложениями, чаще если они не на переднем плане. В частности линейка этим грешит. Насколько это фатально происходит? Зачастую это решается фильтрацией малевичей. Т.е. findimage распадается на getimage+findimage. После getimage делается проверка на малевича, и если все черное, то делается повторный вызов getimage. Так же из рекомендаций выключить вертикальную синхронизацию, возможно горизонтальную тоже.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aqualon
сообщение 21.3.2023, 23:33
Сообщение #3


**

Neophyte
Сообщений: 23
Регистрация: 21.3.2023
Группа: Пользователи
Наличность: 6
Пользователь №: 20.503
Возраст: 22



Цитата(DarkMaster @ 21.3.2023, 7:39) *

Это бывает с приложениями, чаще если они не на переднем плане. В частности линейка этим грешит. Насколько это фатально происходит? Зачастую это решается фильтрацией малевичей. Т.е. findimage распадается на getimage+findimage. После getimage делается проверка на малевича, и если все черное, то делается повторный вызов getimage. Так же из рекомендаций выключить вертикальную синхронизацию, возможно горизонтальную тоже.

Не помогает проверка, каждый раз чёрный экран, каждый раз малевич)
И при get color И при findimage и при saveimage тоже.
В принципе любая команда которая что-то делает с пикселями в привязанном окне зставляет экран мигать и возвращает малевича.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 22.3.2023, 0:50
Сообщение #4


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1194
Пользователь №: 15.246
Возраст: 25



я хрень написал (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.3.2023, 6:55
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.462
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27674
Пользователь №: 11.279



допустимо ли вытаскивание окна на передний план? можно дергать окно на передний план и снимать изображение с рабочего стола по смещениям окна. Т.е. будет небольшая обертка на финдимидж, пользоваться будете, как и раньше, но на практике там будет чуть больше кода и движений под капотом.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aqualon
сообщение 22.3.2023, 21:45
Сообщение #6


**

Neophyte
Сообщений: 23
Регистрация: 21.3.2023
Группа: Пользователи
Наличность: 6
Пользователь №: 20.503
Возраст: 22



Цитата(DarkMaster @ 22.3.2023, 7:55) *

допустимо ли вытаскивание окна на передний план? можно дергать окно на передний план и снимать изображение с рабочего стола по смещениям окна. Т.е. будет небольшая обертка на финдимидж, пользоваться будете, как и раньше, но на практике там будет чуть больше кода и движений под капотом.

чисто гипотетически это возможно, только получается надо будет свапать окна каждые 1-2 секунды по очереди, видимо так и придётся делать)
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.3.2023, 7:46
Сообщение #7


***********

Модератор UOPilot
Сообщений: 9.462
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27674
Пользователь №: 11.279



Рекомендую в данном случае в качестве метода указывать 0 - дернет по хендлу изображение рабочего стола. Это шустро.

А по методу 2 тоже мигает?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 17.4.2024, 0:01
Designed by Nickostyle