Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Возможно ли делать клики по всплывающим окнам?

Автор: Людмила 15.4.2018, 3:38

Возможно ли делать клики по всплывающим окнам?

Смотрите, мне нужны вот такие самые простые действия:

left 1036, 862
wait 5000
left 409, 600
wait 5000
left 1057, 27
wait 5000

Получается первый клик идет по привязанному окну, а потом открывается всплывающее окно и по нему клик уже не идет(( Наверное потому, что это как бы уже другое окно...

Подскажите возможно вообще так настроить чтобы по всплывающему окну шли клики? И чтобы это повторялось...

rolleyes.gif

Автор: cirus 15.4.2018, 3:55

Используйте kleft.

Автор: Людмила 15.4.2018, 4:07

Цитата(cirus @ 15.4.2018, 3:55) *

Используйте kleft.



Доброе утро smile.gif

Это вместо left написать kleft ?

Все точно так же происходит, первый клик открывает всплывающее окно, а второй клик идет за окном и сворачивает его((

Автор: DarkMaster 15.4.2018, 10:10

Цитата
Все точно так же происходит, первый клик открывает всплывающее окно, а второй клик идет за окном и сворачивает его((

Ошибочные координаты. Я даже знаю почему вы их сняли ошибочными: вы навели мышкой на всплывающее окно и нажали ctrl+a чтобы получить коодинаты. Вот только пилот снял координаты относительно левего верхнего угла всплывающего окна, а привязка идет к родительскому и клики рассчитываются относительно родительского. Какой выход? Нажмите ctrl+a для снятия координат, когда всплывающего окна еще нет, но в том месте, где должен быть клик.
Так же можно просто изменить рабочее окно перед тем, как делать клик. Для этого можно использовать следующую конструкцию:
Код
set #lastWindow workwindow // Запоминаем рабочее окно
set workwindow findwindow(Имя всплывающего окна)
left 123 321 // Кликаем
set workwindow #lastWindow // Возвращаем прежнее рабочее окно.

Автор: cirus 15.4.2018, 11:41

Или используйте абсолютные координаты.

Автор: Людмила 15.4.2018, 12:13

Цитата(DarkMaster @ 15.4.2018, 10:10) *

Ошибочные координаты. Я даже знаю почему вы их сняли ошибочными: вы навели мышкой на всплывающее окно и нажали ctrl+a чтобы получить коодинаты. Вот только пилот снял координаты относительно левего верхнего угла всплывающего окна, а привязка идет к родительскому и клики рассчитываются относительно родительского. Какой выход? Нажмите ctrl+a для снятия координат, когда всплывающего окна еще нет, но в том месте, где должен быть клик.


Мои мозги не справляются с напряжением : ) Все-равно ведь привязка идет к родительскому, даже если всплывающего окна ещё нет..


Цитата
Так же можно просто изменить рабочее окно перед тем, как делать клик. Для этого можно использовать следующую конструкцию:
Код
set #lastWindow workwindow // Запоминаем рабочее окно
set workwindow findwindow(Имя всплывающего окна)
left 123 321 // Кликаем
set workwindow #lastWindow // Возвращаем прежнее рабочее окно.


Ой, а что означает имя всплывающего окна? если имен там около сорока и они меняются рендомно((

Цитата(cirus @ 15.4.2018, 11:41) *

Или используйте абсолютные координаты.



Я прописывала abs но нечего не срабатывает(

Автор: DarkMaster 15.4.2018, 12:54

Цитата
Мои мозги не справляются с напряжением : ) Все-равно ведь привязка идет к родительскому, даже если всплывающего окна ещё нет..

В том то и смысл. Вы когда нажимаете ctrl+A по дочернему окну, то привязка и координаты идут относительно дочернего, а когда по родительскому, относительно родительского. Привязку в своем скрипте вы не меняете, однако точки отсчета у вас разные, т.к. вы снимали координаты с дочернего окна. Сделайте следующим образом:
1) Вызовете в игре дочернее окно.
2) Закройте дочернее окно.
3) Не двигая мышку сделайте альтаб в пилот (он не должен перекрывать место клика).
4) Нажмите ctrl+A.
Таким образом вы снимете корректные координаты точки клика относительно родительского окна и вам не будет необходимости менять привязку.

Автор: Людмила 15.4.2018, 14:08

Цитата(DarkMaster @ 15.4.2018, 12:54) *

В том то и смысл. Вы когда нажимаете ctrl+A по дочернему окну, то привязка и координаты идут относительно дочернего, а когда по родительскому, относительно родительского. Привязку в своем скрипте вы не меняете, однако точки отсчета у вас разные, т.к. вы снимали координаты с дочернего окна. Сделайте следующим образом:
1) Вызовете в игре дочернее окно.
2) Закройте дочернее окно.
3) Не двигая мышку сделайте альтаб в пилот (он не должен перекрывать место клика).
4) Нажмите ctrl+A.
Таким образом вы снимете корректные координаты точки клика относительно родительского окна и вам не будет необходимости менять привязку.



Делаю все как вы написали, открываю дочернее окно, выделяю нужное место, закрываю дочернее окно, открываю пилот и жму ctrl+A...

когда запускаю, дочернее окно открывает а потом при клике все равно его сворачивает(

А если дописываю abs, тогда первый клик по всплывающему окну срабатывает а второй который должен закрыть окно не срабатывает... ну и abs если прописывать, тогда я так понимаю не будет в свернутом окне работать((

Автор: DarkMaster 15.4.2018, 15:01

напишите в личку ваш дискорд, свяжемся, я через тим вьювер вам помогу.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)