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

 
Ответить в эту темуОткрыть новую тему
> Функция if при свернутом окне.
Voshod
сообщение 26.1.2017, 19:58
Сообщение #1


**

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



работает ли функция if и клик по координатам при свёрнутом окне?
Возможно при свёрнутом окне заставить работать?:

if 11 222 561234
kleft 11 222
wait 500
send enter
alarm
end_script
end_if
move 45 100
wait 500
kleft 45 100
wait 500
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.1.2017, 20:21
Сообщение #2


**********

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



В свёрнутых окнах не работают клики и проверки по цвету.
Окна можно перекрывать, перемещать за пределы экрана или на другой рабочий стол (в Windows10).
Клики работают только те что без приставки k, т. е. left, right.
Цвет проще искать через findcolor, вместо if.
Вообще всё зависит от приложения.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Voshod
сообщение 26.1.2017, 21:17
Сообщение #3


**

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



Цитата(cirus @ 26.1.2017, 20:21) *

В свёрнутых окнах не работают клики и проверки по цвету.
Окна можно перекрывать, перемещать за пределы экрана или на другой рабочий стол (в Windows10).
Клики работают только те что без приставки k, т. е. left, right.
Цвет проще искать через findcolor, вместо if.
Вообще всё зависит от приложения.

Ок. Попробуем (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 26.1.2017, 22:58
Сообщение #4


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(cirus @ 26.1.2017, 20:21) *

Окна можно перекрывать, перемещать за пределы экрана или на другой рабочий стол (в Windows10).

У меня в 10 винде не ищет цвет на другом рабочем столе. начинает искать как только я на него захожу. Выхожу с него сразу поиск прекращается. Или как-то по особому настраивать пилот надо?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.1.2017, 23:16
Сообщение #5


**********

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



Настраивать также как для перекрытых окон. Если Findimage/Findcolor, то тип поиска менять, вместо 2 указывать хендл рабочего окна или переменную workwindow. Иногда привязку делать нужно к родительскому окну.
На Win10 не везде работает этот тип поиска. Пилот запускать от админа обязательно.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 26.1.2017, 23:19
Сообщение #6


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(cirus @ 26.1.2017, 23:16) *

Настраивать также как для перекрытых окон. Если Findimage/Findcolor, то тип поиска менять, вместо 2 указывать хендл рабочего окна или переменную workwindow. Иногда привязку делать нужно к родительскому окну.
На Win10 не везде работает этот тип поиска. Пилот запускать от админа обязательно.

Понятно,спасибо. Тогда проще еще одну виртуалку создать и полноценно работать, чем скрипты под перекрытые переписывать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 26.1.2017, 23:32
Сообщение #7


********

Master
Сообщений: 1.395
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21043
Пользователь №: 16.156



на будущее я бы так делал :

set #hwnd_or_type //тип или хендл
//
//
set #hwnd_or_type 1
findimage()
//
set #hwnd_or_type 13537
findimage()
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dunkel
сообщение 27.1.2017, 16:47
Сообщение #8


***

Novice
Сообщений: 75
Регистрация: 20.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.296
Возраст: 30



Цитата(Cockney @ 26.1.2017, 21:32) *

на будущее я бы так делал :

set #hwnd_or_type //тип или хендл
//
//
set #hwnd_or_type 1
findimage()
//
set #hwnd_or_type 13537
findimage()


можно подробнее про эту функцию?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 27.1.2017, 21:36
Сообщение #9


********

Master
Сообщений: 1.395
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21043
Пользователь №: 16.156



Это не функция. #hwnd_or_type содержит тип поиска для функций findimage и findcolor. Чтобы, скажем, в 20 вызовах findimage не менять тип поиска, можно указать по необходимости #hwnd_or_type.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.3.2017, 3:40
Сообщение #10


***********

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



Код
if color (<#x> <#y> [handle] [abs]) = ВАШ_ЦВЕТ
    ...
    code
    ...
end_if


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


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 7.3.2017, 3:40) *

Код
if color (<#x> <#y> [handle] [abs]) = ВАШ_ЦВЕТ
    ...
    code
    ...
end_if



Код
get color #s 997, 628
log #s
if color (997, 628  #Win)  = 11319512
    ...
    code
    ...
end_if

Цвет в точке 997, 628 соответствует 11319512, хэндл окна тоже соответствует. Но условие не верное, что не так?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 7.3.2017, 10:10
Сообщение #12


**********

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



В свёрнутом окне не будет работать.
В перекрытом возможно, зависит от приложения.
Если привязка к родительскому окну, то может быть смещение. Например, в мозиле +4 пикселя по X, если окно на весь экран или +2, если не на весь.
Т. е. чтобы проверить цвет в координатах 997, 628. Надо указывать 999 628 или 1001 628.
Код
if color (999, 628  #Win)  = 11319512

Причём #Win - это родительское окно.
В каждом приложение смещение разное.


Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 7.3.2017, 10:22
Сообщение #13


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(cirus @ 7.3.2017, 10:10) *

В свёрнутом окне не будет работать.
В перекрытом возможно, зависит от приложения.
Если привязка к родительскому окну, то может быть смещение. Например, в мозиле +4 пикселя по X, если окно на весь экран или +2, если не на весь.
Т. е. чтобы проверить цвет в координатах 997, 628. Надо указывать 999 628 или 1001 628.
Код
if color (999, 628  #Win)  = 11319512

Причём #Win - это родительское окно.
В каждом приложение смещение разное.

Игра идет в родительском окне. Пробую в развернутом окне на переднем плане.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 7.3.2017, 10:25
Сообщение #14


**********

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



Игра в оконном режиме? При наличии рамки также может быть смещение для координат.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 7.3.2017, 20:30
Сообщение #15


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



А если без #Win? Вообще color () - функция, ее можно чему-нить присвоить или напрямую вывести в лог, чтоб проверить что находит.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 7.3.2017, 21:16
Сообщение #16


**********

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



Без #Win проверит цвет в активном окне, тоже самое что get color.
При workwindow работает и color, и get color, если конечно не чёрный квадрат в окне F, почти всегда нужно указывать со смещением координаты.
Также и в findcolor/findimage.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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