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

4 страниц V  1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> Распознавание цвета пикселя в перекрытом окне
Gwinbleid
сообщение 26.9.2018, 16:15
Сообщение #1


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28



Добрый день.

Подскажите, как возможно осуществить распознавание цвета пикселя в перекрытом окне?
Скрипты на подобие таких:
if 237, 452 11956255 and 145, 500 16777215 and 166, 510 11039289
left 150, 117
end_if
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.9.2018, 18:40
Сообщение #2


***********

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



функции:
color()
findcolor()
findimage()
при условии использования хендла окна в качестве метода. Окно должно быть перекрыто, а не свернуто.


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


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28



Цитата(DarkMaster @ 26.9.2018, 18:40) *

функции:
color()
findcolor()
findimage()
при условии использования хендла окна в качестве метода. Окно должно быть перекрыто, а не свернуто.

Сделал так:
set #handle Findwindow(198428)
if color (150, 500 #handle) = 16777215 and color (268, 502 #handle) = 16711164 and color (95, 509 #handle) = 14470330
left 150, 117
end_if

В перекрытом окне все равно не кликает. В не перекрытом кликает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 27.9.2018, 14:41
Сообщение #4


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2419
Пользователь №: 18.746



В if color не работает#handle. Ошибка пилота видимо.
Код
set #handle Findwindow(198428)

тут можешь написать хоть babushka
Код
set #handle Findwindow(babushka)

Результат будет такой же.

Могу предложить сделать так, это работает:
Код

set workwindow 198428
  set #a findcolor (150, 500  150, 500  1 1 (16777215 ) %a workwindow -1 17)
  set #b findcolor (268, 502  268, 502  1 1 (16711164 ) %b workwindow -1 17)
  set #c findcolor (95, 509 95, 509  1 1 (14470330 ) %c workwindow -1 17)
if #a > 0 and #b > 0 and #c > 0
  left 150, 117
end_if


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.9.2018, 5:17
Сообщение #5


***********

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



Цитата
В if color не работает#handle. Ошибка пилота видимо.

Все там работает. Смотрите синтаксис color().
Цитата
set #handle Findwindow(198428)

Findwindow возвращает хендл по имени окна. Вводить сюда хендл бессмысленно.


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


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28




Цитата
Findwindow возвращает хендл по имени окна. Вводить сюда хендл бессмысленно.

А куда его вводить? Когда вставлял 198428 после координат в скобке, то ниче не работало.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.9.2018, 3:27
Сообщение #7


***********

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



//Пример 3
//Работает в перекрытом окне
set #handle Findwindow("Yandex")
set #x 600
set #y 400
if color (#x #y #handle) = 12625555 //определить цвет в рабочем окне в координатах 600 400, если он равен 12625555
msg Цвет совпал. //показать сообщение
end_if


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


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28



Цитата(DarkMaster @ 29.9.2018, 3:27) *

//Пример 3
//Работает в перекрытом окне
set #handle Findwindow("Yandex")
set #x 600
set #y 400
if color (#x #y #handle) = 12625555 //определить цвет в рабочем окне в координатах 600 400, если он равен 12625555
msg Цвет совпал. //показать сообщение
end_if

Делал так. В перекрытом окне все равно не работает. Не хочет кликать
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.9.2018, 13:28
Сообщение #9


***********

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



что именно не работает? снятие цвета? клик?
выведите в лог значение цвета получаемое с помощью color(), попробуйте без проверки цвета совершить клик в перекрытое окно. Какой эмуляцией кликаете? Работать будет только left и right без приставки "k".


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


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28



Цитата(DarkMaster @ 29.9.2018, 13:28) *

что именно не работает? снятие цвета? клик?
выведите в лог значение цвета получаемое с помощью color(), попробуйте без проверки цвета совершить клик в перекрытое окно. Какой эмуляцией кликаете? Работать будет только left и right без приставки "k".

Снятие цвета не работает. Клик по перекрытому окну без каких-либо условий как всегда работает. Собственно в перекрытом окне ни msg не работает, ни left, если стоит условие на цвет
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 29.9.2018, 14:37
Сообщение #11


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2419
Пользователь №: 18.746



Цитата(DarkMaster @ 28.9.2018, 5:17) *

Все там работает. Смотрите синтаксис color().

Findwindow возвращает хендл по имени окна. Вводить сюда хендл бессмысленно.

А если не использовать файндвиндоу, и сразу вставить хэндл через ctrl+a, тоже же должно работать?
Код
set #handle 135894
set #x 600
set #y 400
if color (#x #y #handle) = 12625555 //определить цвет в рабочем окне в координатах 600 400, если он равен 12625555
msg Цвет совпал. //показать сообщение
end_if


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.9.2018, 18:53
Сообщение #12


***********

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



Цитата
А если не использовать файндвиндоу, и сразу вставить хэндл через ctrl+a, тоже же должно работать?

Вам нужно в явном виде указать хендл при поиске. Нужно понимать так же, что обычная привязка - это НЕ в явном виде. Т.е. если у вас уже есть привязка и искать нужно в рабочем окне, то достаточно будет указать workwindow в параметрах color() (ctrl+a тоже считается), если же у вас нужный хендл хранится просто в переменной, то необходимо указать уже ее. Т.е.:
color (x y workwindow) - если в рабочем окне, привязка могла быть сделана через ctrl+a либо через set workiwindow findwindow/число
color (x y #handle) - если нужный хендл хранится в перменной #handle, например, если было сделано set #handle findwindow/число.


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


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2419
Пользователь №: 18.746



Ну все, тогда автору нужно просто из скрипта в третьем посте убрать findwindow , и все заработает.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.9.2018, 8:07
Сообщение #14


***********

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



Цитата
Ну все, тогда автору нужно просто из скрипта в третьем посте убрать findwindow , и все заработает.

Но тогда и заменить #handle на workwindow. Еще раз напоминаю: для поиска в перекрытом окне хендл должен быть указан в явном виде.


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


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28



Цитата(DarkMaster @ 30.9.2018, 8:07) *

Но тогда и заменить #handle на workwindow. Еще раз напоминаю: для поиска в перекрытом окне хендл должен быть указан в явном виде.

Когда я после (x y) указываю просто цифры текущего окна, которое через ctrl+a выбрал, то он вообще не ищет ничего даже в открытом окне (не перекрытом).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 2.10.2018, 8:49
Сообщение #16


***********

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



Нажмите кнопку F вверху интерфейса пилота. Там отображается полученное при захвате изображение. Возможно необходимо указать родительское окно.


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


**

Neophyte
Сообщений: 16
Регистрация: 26.9.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.046
Возраст: 28



Цитата(DarkMaster @ 2.10.2018, 8:49) *

Нажмите кнопку F вверху интерфейса пилота. Там отображается полученное при захвате изображение. Возможно необходимо указать родительское окно.

В открытом, после нажатия F, окне вообще пусто. Просто все серое, под цвет панели пилота
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.10.2018, 21:13
Сообщение #18


***********

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



Цитата
В открытом, после нажатия F, окне вообще пусто. Просто все серое, под цвет панели пилота

Скрипт то запустите =)


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


**

Neophyte
Сообщений: 48
Регистрация: 3.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.140
Возраст: 40



Цитата(DarkMaster @ 4.10.2018, 21:13) *

Скрипт то запустите =)

Думаю что парню ничего из сказанного не помогло как впрочем и мне. (поиск изображений снятие цвета )
Опробовал все что тут написано и ничего, хотя макросы уже год как пишу и прогой доволен но вот поиск в перекрытых окнах пипец не получается, все что могу это только тыкать мышкой в указанных координатах и все .....
Был бы рад если бы мне мозг прочистили.
имеем Win10 разреш 1680 1050 аэро отключен пилот 2.39 (09.03.2017)
игра Perfect World до 10 окон (именно окна чтоб можно быстро переключаться между ними и видеть )
есть подозрение что надо какое то родительское окно найти и от него танцевать но что то никак не получается. (IMG:style_emoticons/default/unsure.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 5.10.2018, 15:08
Сообщение #20


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



В окне пилота кнопка F, нажать. Откроется окно.
Код
// привязаться к окну с игрой
set #a findcolor (0 0 500 500 (255)  %arr workwindow)
hint #a
wait 1

Что отображается в окне при запуске скрипте?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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