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

 
Ответить в эту темуОткрыть новую тему
> Перемещение карты мышью
PostByMik
сообщение 19.10.2020, 8:44
Сообщение #1


**

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



Здравствуйте!

Только вчера познакомился с UO Pilot.
Есть эмулятор android - BlueStacks, в котором установлена игра Towerlands. Необходимо что бы UO Pilot делал рутинную работу за игрока. В основном это клики мышью и тут всё работает как надо. Помимо кликов нужно что бы UO Pilot находясь на карте (в игре) после нескольких кликов передвинул мышью карту в нужную сторону (вверх/вниз и т.п).

Пробую:

kleft_down 150 200 //зажать левую кнопку в координатах 150 200
kleft_up 340 300 //отпустить левую кнопку в координатах 340 300
End_script

Курсор мыши появляется в указанных координатах (я это визуально вижу), но захват мышью карты и дальнейшее ее перемещение не происходит.
Пробовал drag - нет эффекта, вставлял паузы между действиями, пробовал добавлять между кликами Move и Move Smooth, ничего не помогает.

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


***********

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



Вообще идейно все верно и должно работать. Возможно фишки блюстакса. В целом, если это не критично, рекомендую использовать memu - в нем наименьшее количество проблем с совместимостью эмуляций получалось.
Тем не менее есть пара старых трюков которые могут помочь.
1) Попробуйте делать перемещение мышки за несколько итераций - плавно, через несколько точек.
2) Перед конечной move x y сделайте перемещение в соседнюю точку, например move x-1 y.
3) Делайте kleft_up в соседнюю точку от текущего нахождения курсора. (иногда может быть обратная рекция - тут только тестить)
4) Удвойте kleft_up
5) Между всеми действиями добавьте задержки. Добавлять рекомендую с размахом для теста, потом можно уменьшить будет.
6) Почему kleft а не left?


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


**

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



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

Вообще идейно все верно и должно работать. Возможно фишки блюстакса. В целом, если это не критично, рекомендую использовать memu - в нем наименьшее количество проблем с совместимостью эмуляций получалось.
Тем не менее есть пара старых трюков которые могут помочь.
1) Попробуйте делать перемещение мышки за несколько итераций - плавно, через несколько точек.
2) Перед конечной move x y сделайте перемещение в соседнюю точку, например move x-1 y.
3) Делайте kleft_up в соседнюю точку от текущего нахождения курсора. (иногда может быть обратная рекция - тут только тестить)
4) Удвойте kleft_up
5) Между всеми действиями добавьте задержки. Добавлять рекомендую с размахом для теста, потом можно уменьшить будет.
6) Почему kleft а не left?


Поставил memu
Попробовал вот такие варианты:
code

--lua
drag (515, 456, 389, 136) -- зажать левую кнопку мыши в координатах, переместить курсор в координаты и отпустить кнопку
end_script ()


--lua
left_down (515, 456) --зажать левую кнопку в координатах
wait (1000)
move_smooth (389, 136) -- Переместит курсор в координаты
wait (3000)
left_up (389, 136) --отпустить левую кнопку в координатах
end_script ()


--lua
left_down (515, 456) -- зажать левую кнопку в координатах
left_up (389, 136) -- отпустить левую кнопку в координатах
end_script ()


--lua
right_down (515, 456) -- зажать правую кнопку в координатах
wait (1000) -- ждать 1 секунду
right_up (389, 136) -- отпустить правую кнопку в координатах
end_script ()


Эффекта 0
Значит я что-то не так делаю? (

Попробовал еще просто, на рабочем столе перетащить файл с одной точки на другую, ничего не получилось. Понимаю, что я что-то не то делаю.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 20.10.2020, 1:33
Сообщение #4


**********

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



Используйте kleft_down/kleft_up вместо left_down/left_up.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PostByMik
сообщение 20.10.2020, 9:54
Сообщение #5


**

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



Цитата(cirus @ 20.10.2020, 1:33) *

Используйте kleft_down/kleft_up вместо left_down/left_up.


Спасибо! Заработало!

Исходный код

--lua
kleft_down (515, 458 ) --зажать левую кнопку в координатах
wait (1000)
move_smooth (403, 88 ) -- Переместит курсор в координаты
wait (3000)
kleft_up (403, 88 ) --отпустить левую кнопку в координатах
end_script ()


А не могли бы пояснить? Я во всем этом новичек.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 20.10.2020, 11:03
Сообщение #6


**********

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



Цитата
А не могли бы пояснить?

Что пояснить?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PostByMik
сообщение 20.10.2020, 11:44
Сообщение #7


**

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



Цитата(cirus @ 20.10.2020, 11:03) *

Что пояснить?

В чем разница. Понятно, что в привязке к окну и без. Но ведь оба варианта должны были работать или я что-то не так понимаю?)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 20.10.2020, 11:53
Сообщение #8


**********

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



Цитата
В чем разница.

Разные виды эмуляции.
Цитата
оба варианта должны были работать

Без приставки 'k' работают не везде. Зависит от приложения.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 20.10.2020, 12:12
Сообщение #9


***********

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



Цитата
Без приставки 'k' работают не везде. Зависит от приложения.

Без приставки так же успешно может работать не перехватывая вашу мышь. Т.е. вы можете спокойно работать. Мему как раз раньше лефтами без "к" работал. Одна из причин, почему рекомендовал. Видимо что-то переделали.
В общем и целом тут всегда тупо перебирать варианты озвученные выше. Что-нибудь да заработает =)


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

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

 

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