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

30 страниц V « < 5 6 7 8 9 > »   
Ответить в эту темуОткрыть новую тему
> Разработка findcolor, findimage, Pure lua
sutra
сообщение 1.4.2021, 14:21
Сообщение #121


*******

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



Х. его знает. Я причину своих неудач озвучил чётко и понятно. Может кому-то это поможет. Разбираться во всех тонкостях сего процесса не имею ни времени, ни желания. Помню как в своё время чего только не изучал, и то, и сё. И кому всё это теперь нужно (кому теперь нужен ремонт магнитофонов). Плюнуть и растереть все текущие проблемы. Работает и слава богу.

Ну вот и разница. А у меня весь этот хлам висит на WIN 7.

Удивляет другое. Запись в файл существует со времён сотворения мира. Чего там может быть нового?

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


***********

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



Фиксы.

Цитата
Удивляет другое. Запись в файл существует со времён сотворения мира. Чего там может быть нового?

Потоки, виртуальные машины(луа).


Прикрепленные файлы
Прикрепленный файл  color.lua ( 34,16 килобайт ) Кол-во скачиваний: 81


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


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



В общем что мы имеем, игра:
Cтарый getimage
Если привязаться к клиенту через workwindow или Ctrl+A то на выходе имеем черный экран. Если поставить метод 2 то ищет в fullhd если с abs то где надо.
Код

repeat
  local rs = imageToString.get(
    {
      path=path_num,
--            window=2,
      crds={810, 708, 999, 762}, --, abs=1
      accuracy=100,
      deviation=10
    }
  )
  if rs then
    r = tonumber(table.concat(rs[1]))
  end
until r
log(r)

Если не привязываться то ищет кодом выше.
--
Новый getimage = ext.getimage
Если привязаться к клиенту через workwindow или Ctrl+A то на выходе имеем черный экран включая метод 0. Если поставить метод 2 то ищет в fullhd если с abs то где надо.
Если не привязываться то черный экран включая метод 0 и код выше. Если метод 2 то ищет при этом не надо указывать abs ищет где надо.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.4.2021, 14:50
Сообщение #124


**********

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



Цитата
4 байта и блок файла.

Проверил в win7, тоже самое, не нравится LPDWORD. Видимо в win10 что-то пофиксили. Тогда использовать:
Код
local dwWritten = ffi.new('DWORD[1]')

Исправил https://forum.uokit.com/index.php?s=&sh...st&p=440290
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 1.4.2021, 14:54
Сообщение #125


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



Цитата(DarkMaster @ 1.4.2021, 14:31) *

Фиксы.

Color работает, и у меня видимо все теже проблемы с привязкой, без привязки цвет присылает но так же ошибку windowpos false
С координатами тоже без привязки присылает ту же ошибку хотя и работает, с привязкой ошибки нет
Код

        r = ext.findcolor(1540, 509, 1885, 963, 7110304, 0, 1, 1, 'r')
        for k,v in pairs(r) do
          for n,m in pairs(v) do
            log(n,m)
          end
        end

Вывод лога
1 94
2 309
3 7045282
4 7110304
5 7110304
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 1.4.2021, 15:13
Сообщение #126


*******

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



Цитата
Проверил в win7, тоже самое, не нравится LPDWORD. Видимо в win10 что-то пофиксили

Спасибо cirus за поддержку, а то начал ощущать себя изгоем.

Ну теперь свернём шею всем хитросплетениям и превратностям судьбы. Пора потрудиться маленько. Всем удачи!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.4.2021, 15:16
Сообщение #127


***********

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



Цитата
windowpos false

Эту ошибку выбивает при попытке преобразовать абсолютные координаты в относительные от рабочего окна. Метод 0 снимет всегда в абсолютном режиме, потом искусствено происходят корректировки. Произошли небольшие изменения синтаксиса поиска при методе 0. Если НЕ указан флаг abs, то будет искать в рамках окна. Т.е. поведение должно быть схожим с методом 2. Отсюда и происходит коллизия. Вы не указываете рабочее окно, но при этом не устанавливаете флаг abs. Метод 2 в таком случае просто "дописывал" в параметры abs. По моему мнению это не корректно. Если вы запускаете поиск в рамках рабочего окна, а рабочее окно не указано - должен быть еррор, а не подстановка не понятно чего.


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


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



Цитата(DarkMaster @ 1.4.2021, 15:16) *

Эту ошибку выбивает при попытке преобразовать абсолютные координаты в относительные от рабочего окна. Метод 0 снимет всегда в абсолютном режиме, потом искусствено происходят корректировки. Произошли небольшие изменения синтаксиса поиска при методе 0. Если НЕ указан флаг abs, то будет искать в рамках окна. Т.е. поведение должно быть схожим с методом 2. Отсюда и происходит коллизия. Вы не указываете рабочее окно, но при этом не устанавливаете флаг abs. Метод 2 в таком случае просто "дописывал" в параметры abs. По моему мнению это не корректно. Если вы запускаете поиск в рамках рабочего окна, а рабочее окно не указано - должен быть еррор, а не подстановка не понятно чего.

Понял исправлюсь)
Тогда в колор тоже надо добавить abs флаг
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.4.2021, 15:43
Сообщение #129


***********

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



Цитата
Тогда в колор тоже надо добавить abs флаг

Логично =)

Я извиняюсь, но по гетмидижу и финдстригу сидел и медитировал на ваш ответ два раза по 10 минут. В чем разница поведения? Именно разное что?

Возможно там дважды происходит корректировка. Обратите внимание на строки в коде:
Цитата
5.При передаче источника поиск происходит в ошибочных координатах.
Данная проблема обусловлена багом финдимиджа.
После фикса пилота следовать инструкциям в коде после
фразы "Фикс финдимиджа"(всего три правки).


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


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



Цитата(DarkMaster @ 1.4.2021, 15:43) *

Возможно там дважды происходит корректировка. Обратите внимание на строки в коде:

Получается что разница в методе 2 без привязки не надо указывать abs и так ищет норм что не есть правильно, помню исправлюсь, остальные не работают (IMG:style_emoticons/default/smile.gif) А про метод 0 попробую правки внести

Там в конце опечатка orig не хватает или ext а не internal, скорее второе
Код

getimage = internal.getimage
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 1.4.2021, 16:21
Сообщение #131


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



Цитата(Madeus @ 1.4.2021, 16:02) *

Получается что разница в методе 2 без привязки не надо указывать abs и так ищет норм что не есть правильно, помню исправлюсь, остальные не работают (IMG:style_emoticons/default/smile.gif) А про метод 0 попробую правки внести

Там в конце опечатка orig не хватает или ext а не internal, скорее второе
Код

getimage = internal.getimage




Правки результата не дали, работает только метод 2 по факту только он и работал из-за черного экрана, и метод 0 видит тот же черный экран, что странно ведь в findcolor метод 0 работает, видимо из-за того что смещаются координаты
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.4.2021, 16:45
Сообщение #132


***********

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



Цитата

getimage = internal.getimage

fixed

Цитата

Получается что разница в методе 2 без привязки не надо указывать abs и так ищет норм что не есть правильно

На данный момент метод 2 полностю стандартный пилотовский. Я его не переделывал на данный момент. Поэтому поведение 0 и 2 слегка разница. Или вы говорили о разнице в методе 2 на старом гет имидже и новом гетимидже? Между чем и чем разница?

Цитата
метод 0 видит тот же черный экран, что странно ведь в findcolor метод 0 работает, видимо из-за того что смещаются координаты

Абс флаг включен? Вообще по координатам непосредственно findstring может быть несовместим с текущим getimage т.к. там были правки багов этого самого getimage имнно касательно координат. Т.е. правки багов по смещением координат сейчас применяюстя дважды, как итог там черт ногу сломит. Надо тестить будет когда все более-менее в нормальный вид придет. Сейчас нужно допилить буфер и ваять финдимидж. Когда они уже будут в связке, оба новых, то можно будет смотреть, что отвалилось и как поправить. Проблема по сути в том, что код писался под баги пилота, а теперь баги отобрали и все отвалилось. Ирония судьбы прямо-таки.

Можно попробовать сделать getimage (новый), сохранить через saveimage(новый), и передать в findstring скриншот через параметр source. Тогда там вообще getimage старый учавствовать не будет, а финдимидж получит непосредственно битовую маску.

Сообщение отредактировал DarkMaster - 1.4.2021, 16:42


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


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



Цитата(DarkMaster @ 1.4.2021, 16:45) *

Можно попробовать сделать getimage (новый), сохранить через saveimage(новый), и передать в findstring скриншот через параметр source. Тогда там вообще getimage старый учавствовать не будет, а финдимидж получит непосредственно битовую маску.

Сейчас попробую
Цитата(DarkMaster @ 1.4.2021, 16:45) *

На данный момент метод 2 полностю стандартный пилотовский. Я его не переделывал на данный момент. Поэтому поведение 0 и 2 слегка разница. Или вы говорили о разнице в методе 2 на старом гет имидже и новом гетимидже? Между чем и чем разница?

Хз по чему, но при вызове нового ищет корректно без abs с методом 2, старый же ищет в фулхд. Или пилот уже троит хотя и перезапускаю его после каждой правки или хз почему, ведь он должен вызывать старый getimage при методе 2

Цитата(DarkMaster @ 1.4.2021, 16:45) *

Абс флаг включен?

Да
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 1.4.2021, 18:16
Сообщение #134


*****

Journeyman
Сообщений: 317
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 10801
Пользователь №: 19.451
Возраст: 32



То ли я что-то не так делаю то ли не помогло
Код

  repeat
    local address, width, height, length = ext.getimage(810, 708, 999, 762, 0, 'abs') --, 'abs'
    local rs = imageToString.get(
      {
        path=path_num,
--        window=2,
--        crds={810, 708, 999, 762, abs=1}, --, abs=1
        source={address, width, height},
        accuracy=100,
        deviation=10
      }
    )
    deleteimage  (address)
    if rs then
      r = tonumber(table.concat(rs[1]))
    end
  until r
  log(r)

По сути не критично, работает 2 метод и хорошо лучше findimage делать чем тут фиксить а потом опять фикстить
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.4.2021, 21:22
Сообщение #135


***********

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



Цитата
лучше findimage делать чем тут фиксить а потом опять фикстить

Его и делаю. На самом деле прям в удовольствие. Сижу спокойно пишу в одну харю, мне еще и подсказки дают и тесты гоняют. Что еще нужно? (IMG:style_emoticons/default/smile.gif) Давно хотел что-то в удовольствие сам что-нибудь покодить. Когда делаешь, не то, что говорят, а то, что хочешь и когда никто не подсовывает тебе новые куски творения под которые нужно подстраиваться. Сегодня обнов не планирую - пишу финд, там все-таки нужно прилично катать.


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


**********

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



Добавил ещё один вариант сохранения изображения используя fwrite вместо WriteFile.
https://forum.uokit.com/index.php?s=&sh...st&p=440290
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 2.4.2021, 4:14
Сообщение #137


***********

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



Цитата
Добавил ещё один вариант сохранения изображения используя fwrite вместо WriteFile.

А он разве внутри не использует WriteFile?


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


***********

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



Что по скорости?

// Пока лепил имидж потестил разный тип deviation сохраняя картинки который получаются после применения deviation - достаточно любопытно выглядит. 'a' - чистый brightness, 'r' вроде как контрастность получается =)


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


**********

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



Цитата
А он разве внутри не использует WriteFile?

Скорее всего использует. fopen, fwrite, fclose примерно на 10% выполняются дольше, чем вызов winapi функций.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.4.2021, 5:23
Сообщение #140


***********

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



Ето. Я не забил) Я наворотил (IMG:style_emoticons/default/smile.gif) Процесс идет.


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

30 страниц V « < 5 6 7 8 9 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

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