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

 
Ответить в эту темуОткрыть новую тему
> вопрос по findimage
Yelldon
сообщение 26.2.2018, 11:29
Сообщение #1


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Что может не так быть?
Цитата

send w
wait 3s
set #a findimage (0, 0 1920, 1080(C:\UOPilot\image\info.bmp) %arr 2 100 -1 5)
if size(%arr) > 0
if size(%arr) = 1
left %arr [1 1], %arr [1 2]
wait 5000
end_if
end_if
set #a findimage (0, 0 1920, 1080(C:\UOPilot\image\ataka.bmp) %arr 2 100 -1 5)
if size(%arr) > 0
if size(%arr) = 1
left 506, 676
wait 5000
end_if
end_if
set #a findimage (0, 0 1920, 1080(C:\UOPilot\image\ataka.bmp) %arr 2 100 -1 5)
if_not size(%arr) > 0
if size(%arr) = 1
left 846, 134
wait 5000
end_if
end_if

И хотел спросить, как сделать цикл нажатий по картинке?
К примеру, есть:
Цитата

set #a findimage (0, 0 1920, 1080(C:\UOPilot\image\zadanie.bmp)

Что нужно вписать дальше, что бы кликало по найденным картинкам с промежутком 3-5 секунд?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 11:37
Сообщение #2


**********

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



Цитата
if size(%arr) = 1

Это убрать. И end_if относящийся к нему тоже убрать.
Цитата
И хотел спросить, как сделать цикл нажатий по картинке?

Код
set #a findimage (0, 0 1920, 1080 (C:\UOPilot\image\zadanie.bmp) %arr 2 80 -1 3)
if size(%arr) > 0
    for #i 1 size(%arr)  // цикл для всех найденных картинок
        move %arr [#i 1] %arr [#i 2] // навести курсор на каждую картинку, заменить на left/kleft
        wait 500
    end_for
end_if
end_script
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 11:41
Сообщение #3


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



[quote name='cirus' date='26.2.2018, 14:37' post='424142']
Это убрать. И end_if относящийся к нему тоже убрать.

Убрал, производит действие только последнего элемента if_not
Первую строчку не производит
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 11:57
Сообщение #4


**********

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



Значит картинка не найдена, в лог выводите результат поиска:
Код
set #a findimage (0, 0 1920, 1080(C:\UOPilot\image\info.bmp) %arr 2 100 -1 5)
log #a

Уменьшите точность, 100% тут явно не требуется.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 12:02
Сообщение #5


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Цитата(cirus @ 26.2.2018, 14:57) *

Значит картинка не найдена, в лог выводите результат поиска:
Код
set #a findimage (0, 0 1920, 1080(C:\UOPilot\image\info.bmp) %arr 2 100 -1 5)
log #a

Уменьшите точность, 100% тут явно не требуется.


15:00:52 0 (autosaved_0.txt, 3): -4
15:00:55 0 (autosaved_0.txt, 10): -4
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 12:06
Сообщение #6


**********

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



Неверно указан путь картинке или имя картинки.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 12:10
Сообщение #7


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Цитата(cirus @ 26.2.2018, 15:06) *

Неверно указан путь картинке или имя картинки.


https://imgur.com/eWMvo3h
https://imgur.com/Toh8VQp
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 12:21
Сообщение #8


**********

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



Если #a = -4, значит файл картинки не найден / в неправильном формате / повреждён / все пиксели файла одного цвета.
Сохраните картинку в другое место. Формат картинки bmp 24 бита?
Цитата
1080(C:

Лучше пробел поставить перед скобкой.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 12:28
Сообщение #9


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Цитата(cirus @ 26.2.2018, 15:21) *

Если #a = -4, значит файл картинки не найден / в неправильном формате / повреждён / все пиксели файла одного цвета.
Сохраните картинку в другое место. Формат картинки bmp 24 бита?

Лучше пробел поставить перед скобкой.

Поставил пробел, сделал новые скриншоты
15:27:13 0 (autosaved_0.txt, 3): 0
15:27:21 0 (autosaved_0.txt, 9): 0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 12:36
Сообщение #10


**********

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



0 значит картинка не найдена. Уменьшите точность и увеличьте погрешность в цвете.
Скиньте картинку в формате bmp, которую ищете, и скрин в bmp где ищете.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 12:39
Сообщение #11


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Цитата(cirus @ 26.2.2018, 15:36) *

0 значит картинка не найдена. Уменьшите точность и увеличьте погрешность в цвете.
Скиньте картинку в формате bmp, которую ищете, и скрин в bmp где ищете.



Эскизы прикрепленных изображений
Прикрепленное изображение

Прикрепленные файлы
Прикрепленный файл  info.bmp ( 7,92 килобайт ) Кол-во скачиваний: 144
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 12:48
Сообщение #12


**********

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



Код
set #a findimage (0 0 1920 1050 (C:\Users\abc\Desktop\info.bmp) %arr 2 80 -1 5)

При deviation 5% нормально находятся 3 картинки.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 13:12
Сообщение #13


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Цитата(cirus @ 26.2.2018, 15:48) *

Код
set #a findimage (0 0 1920 1050 (C:\Users\abc\Desktop\info.bmp) %arr 2 80 -1 5)

При deviation 5% нормально находятся 3 картинки.

[+]

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


**********

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



Кстати, info.bmp отличается от тех кнопок что на 2.png. При увеличении это видно по буквам.
Цитата
Не кликает на найденную картинку

Для начала вместо left использовать kleft. Посмотреть куда кликает.
Картинка подсвечивается при наведении, лучше сделать её скриптом: Создание картинки для FindImage скриптом, поиск статичных точек. Пиксели, которые меняются будут закрашены и не будут учитываться при поиске.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2018, 15:22
Сообщение #15


**********

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



Прикрепленный файл  0012_xvid.zip ( 3,79 мегабайт ) Кол-во скачиваний: 201

В архиве видео.
Код
showwindow windowhandle minimize
wait 2000
set #a findimage (0, 0 1920, 1080 (C:\image\Начать.bmp) %arr 2 80 -1 3)
if size(%arr) > 0
    for #i 1 size(%arr)  // цикл для всех найденных картинок
        move %arr [#i 1] %arr [#i 2] // навести курсор на каждую картинку, заменить на left/kleft
        wait 500
    end_for
    wait 3000
    kleft %arr [1 1] %arr [1 2]  // нажать на первую картинку
end_if
end_script
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 15:44
Сообщение #16


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Нашел проблему, в общем, на моем ноутбуке Ctrl+A и сами клики в условиях if кликают на 2 см правее и ниже. Запустил этот же код на старом - все заработало. В ситуации с kleft без условия if, нажимает туда, куда необходимо. Кстати, цвета выводит неверно, а координаты правильные...
[+]

Осталось найти причину и способ устранения)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yelldon
сообщение 26.2.2018, 15:55
Сообщение #17


*

Registred
Сообщений: 9
Регистрация: 26.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.847
Возраст: 20



Цитата(cirus @ 26.2.2018, 18:22) *

Прикрепленный файл  0012_xvid.zip ( 3,79 мегабайт ) Кол-во скачиваний: 201

В архиве видео.
Код
showwindow windowhandle minimize
wait 2000
set #a findimage (0, 0 1920, 1080 (C:\image\Начать.bmp) %arr 2 80 -1 3)
if size(%arr) > 0
    for #i 1 size(%arr)  // цикл для всех найденных картинок
        move %arr [#i 1] %arr [#i 2] // навести курсор на каждую картинку, заменить на left/kleft
        wait 500
    end_for
end_if
wait 3000
kleft %arr [1 1] %arr [1 2]  // нажать на первую картинку
end_script


Что касается кода, выдает ошибку по kleft последнему


Прикрепленные файлы
Прикрепленный файл  1.bmp ( 3,17 мегабайт ) Кол-во скачиваний: 146
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.2.2018, 1:32
Сообщение #18


**********

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



Цитата
Осталось найти причину и способ устранения

https://forum.uokit.com/index.php?s=&sh...st&p=423653
Цитата
Что касается кода, выдает ошибку по kleft последнему

kleft должен был внутри if.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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