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

76 страниц V « < 70 71 72 73 74 > »   
Тема закрытаОткрыть новую тему
> Пожелания, Предложения по развитию сюда
DarkMaster
сообщение 2.9.2018, 19:13
Сообщение #1421


***********

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



Что с буфером из lua? Уже поднимался вопрос пользователем, поднимаю и я. Set подозреваю через костыли вытянуть можно, но что с гетом?


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


***********

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



findwindow() из луа вместо активного окна возвращает пустую таблицу. Два фикса:
1) Ничего не найдено - должен вернуть nil, а не таблицу.
2) При вызове без параметров (имени окна), должен возвращать хендл активного окна.


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


********

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



Цитата(DarkMaster @ 18.8.2018, 5:37) *
Еще один момент.
a = {}

for i = 1, 20 do
a[i]= i
end
log(tostring(table.concat(a)))
Даже после конвертации в стринг пилот пытается воспринимать значение, как число и выводить соответственно. Слишком большие значения просто не выводятся.

В нестабильной ночнушке подправил передачу больших целых чисел из Lua. Больше не должны выводится в экспоненциальной форме.

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 2.10.2018, 18:36
Сообщение #1424


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



А вообще насколько сложно сделать поиск в памяти? Я имею ввиду FindColor , по аналогии с FindImage . Контроль появления (исчезновения) нескольких объектов одновременно был бы намного эффективней. И повторюсь, всё-таки надо сделать поиск цветовой разности пикселей. Если не хочется ломать имеющуюся конструкцию, можно сделать просто новый оператор типа "FindColorDist" . С уважением ...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 2.10.2018, 19:51
Сообщение #1425


********

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



Цитата
Я имею ввиду FindColor , по аналогии с FindImage
Проверь в нестабильной ночнушке 014.5. Не тестил. Совсем.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.10.2018, 16:54
Сообщение #1426


***********

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



При нажатии Ctrl+A для взятия хендла привязки сразу же делать проверку захватом изображения по хендлу, чтобы было понятно есть ли возможность считывать с перекрытого, если изображение не может быть получено, то брать родительский хендл и снова проверять пока не будет получено изображение либо с окна верхнего уровня не вернется малевич. Соответственно информировать о том, что для захвата изображения необходим родительский хендл на N уровней выше, родительское окно имеет такой-то хендл и такое-то название (с возможностью откопировать).


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


********

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



Проверь Build 014.6.
Галочка рядом с кнопкой Ф.
Флудит в лог цепочкой хендлов и выводит заголовок последнего стабильного.
У меня нет приложений подходящих для полного теста.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.10.2018, 16:54
Сообщение #1428


***********

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



В блокноте рабоатет четко. Вывод изображения при нажатии ctrl+a очень удобен кстати.
Предлагаю допилить это функйией которая возвращает хендл с которым необходимо работать и оффсеты. Что-то вроде:
local handle, offset_x, offset_y = function(handle)
В параметрах функции указываем с каким окном работать хотим, возврат соответсвенно хендла с которого возможен прямой захват и смещения координат.


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


********

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



Следующий подбилд.
set #newhandle checkgetcolor (#x #y #handle)
handle, offset_x, offset_y = checkgetcolor (handle)
Если не нашло, то хендл = 0.
Код полностью переписал, но теоретически должно работать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 15.10.2018, 3:15
Сообщение #1430


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Спасибо Кнайт за FindColor. Пока всё работает.
А вот FindImage стал глючить при поиске в памяти, причину так и не понял. Привожу реальный пример для наглядности.

set #LastOB
set #i 20
set %izu GetImage (443 924 491 933) // Получение изображения в память из зоны, где располагается картинка
set #type %izu[1 1] // В качестве типа поиска будет использоваться адрес памяти
while #i > 0 // Пока не будут проверены все варианты
set #PR FindImage(0 0 50 10 (%OB[#i 1]) %PR #type 91 1) // координатами пробовал варьировать, результат тот же
if #PR > 0 // !!!!! КАРТИНКУ С НОМЕРОМ 20 НЕ НАХОДИТ
set #LastOB #i
break
end_if
set #i #i - 1
end_while
// ИТОГ #LastOB = 0

set #PR FindImage(0 0 1920 1080 (%OB[20 1]) %PR 2 91 1)
// А вот этот вариант поиска всё ОК

Что интересно, не ищет только 20-ю картинку, с остальными всё нормально. Проверял в 14 и 15 билдах.
Кстати в версии 2.39 всё работает как часы.

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


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Ещё обнаружил 5 случаев не срабатывания поиска картинок. Размер картинок одинаковый, координаты и параметры поиска идентичны, но какие-то картинки ищет, а какие-то нет. Значит проблема в какой-то мелочи внутри алгоритма поиска. Ещё раз попробовал старой версией Пилота (2.39), там всё нормуль.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 15.10.2018, 14:22
Сообщение #1432


**********

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



Выкладывайте скрин, на котором ищется изображение, в bmp и картинку, которая не находится.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 15.10.2018, 14:40
Сообщение #1433


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата(cirus @ 15.10.2018, 14:22) *

Выкладывайте скрин, на котором ищется изображение, в bmp и картинку, которая не находится.

Да обыкновенные цифры, какие-то ищет, какие-то нет и только при поиске в памяти.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 15.10.2018, 15:03
Сообщение #1434


***********

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



И как вы предлагаете воспроизводить "обыкновенные картинки"? Выкладывайте.


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


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата(DarkMaster @ 15.10.2018, 15:03) *

И как вы предлагаете воспроизводить "обыкновенные картинки"? Выкладывайте.

Попробую, раз иначе никак. Понятно, что на реальных данных проще. Буду писать скрипт для "вытаскивания" картинок, придётся подождать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 15.10.2018, 15:12
Сообщение #1436


**********

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



Цитата
на реальных данных проще

Никакой разницы. Скрин загружается в память, на нём ищутся изображения.
Скорее всего цифры отличаются друг от друга.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 15.10.2018, 15:51
Сообщение #1437


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата(cirus @ 15.10.2018, 15:12) *

Никакой разницы. Скрин загружается в память, на нём ищутся изображения.
Скорее всего цифры отличаются друг от друга.

Я же выше приводил пример реального скрипта, где сразу же вызывал поиск обычный и он работает и говорил, что в старой версии и в памяти работает. Это 100% что-то не так в Файнде.

Уверен, как обычно где-то "единичку" обронили у самого такое случалось не раз.

А допустим небольшое различие первого пикселя (фона) эталона и реального изображения не может влиять?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 15.10.2018, 16:50
Сообщение #1438


***********

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



Цитата
А допустим небольшое различие первого пикселя (фона) эталона и реального изображения не может влиять?

Там должны учитываться только точные цвета. Выложите скрин и искомые изображения. Все проблемы сразу решатся и будет понятно куда копать.


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


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Я нашёл причину. Не поленился, стал увеличивать параметр EndX при захвате изображения и вот какая штука... Если EndX увеличивал на величину равную более половины ширины эталонной картинки, то ВСЁ РАБОТАЕТ. Уменьшал потом на пиксель и результат поиска ухудшался (97%, 94%, 92%, 0%). В общем что-то с интерпретацией координат. Вопрос один, почему не на всех картинках этот эффект проявляется.

Ну а картинки ... если честно, то не хочу их тут "светить". Смогу обнаружить на чём-то абстрактном, то обязательно покажу.

Вообще-то я FindImage стал пользоваться от лени. Показалось проще сравнить картинки, чем отдельно вытаскивать сильно плавающие по абсциссе цифры (текст центрируется). А так-то у меня "нарисован" отличный распознаватель чисел, на мой взгляд намного эффективнее чем предлагалось в соответствующей теме. А с нынешним FindColor - ом переделаю и вообще будет работать не долее 35 тыс. секунды. Хотя у меня и сейчас не долее 40 тысячных секунды. Ещё раз спасибо разрабу - отличная прога!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 15.10.2018, 17:45
Сообщение #1440


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



И ещё одно наблюдение, может поможет найти причину. Увеличил ширину эталонных картинок (грубо говоря добавил фона справа) и тоже стало работать всё нормально.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

76 страниц V « < 70 71 72 73 74 > » 
Тема закрытаОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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