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

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> Горячая клавиша остановки нажатий
sutra
сообщение 8.1.2019, 21:00
Сообщение #21


*******

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



Цитата
Если ставить команду findimage непосредственно перед проверкой условия это занимает 2-3 секунды

Что-то нереально долго. Конечно код бы посмотреть.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 8.1.2019, 21:40
Сообщение #22


*******

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



Цитата
И что у него есть какие-то перспективы перешагнуть через голову пилота и создать свой собственный софт со своими собственными методами превосходящими пилотовские

Да ничего я особенного не делаю. Пилот - универсальная вещь. Я просто подстраиваю его под собственные задачи. Сделал простенький FindImage (практически аналог Пилотовского) и сделал похитрее SearchImage, но в нём я все параметры задаю сам, этим можно найти многие вещи на порядок быстрее, за счёт поиска только нужных пикселей, а не всех подряд. Ну вот пример скорости поиска обычной картинки обычным поиском, перебирая все пиксели. Опять же результаты с учётом времени создания образа в памяти и загрузки картинки с диска.
Код
--lua
local f=require[[Scripts\LUA\fun]]  -- там у меня свои функции
log "clear" log "mode compact"
local ok=findwindow("ОКНО")
workwindow(ok[1][1])
local pic=[[СКРИНЫ\SET\Dn008.bmp]]  -- размер картинки 124 х 47
tmc=os.clock()
X,Y=f.FindImage(100,100,999,999,pic,ok[1][1],27) -- моя функция
--X,Y=f.FindImage(500,500,999,999,pic,ok[1][1],27) -- а так 0,047 сек.
log(os.clock()-tmc)    -- 0.131 сек.
log(X,Y)               -- 672 915 (найдена внизу окна)


Если нужен код функции, могу выложить, хотя как я делал, я уже выкладывал в другой теме.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 8.1.2019, 21:45
Сообщение #23


**********

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



Цитата
workwindow(ok[1][1])

Перед этим нужна проверка что окно нашлось, иначе будет ошибка при отсутствии окна.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 8.1.2019, 21:52
Сообщение #24


*******

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



Цитата
Перед этим нужна проверка что окно нашлось

Ну я чисто для примера показал. Конечно нужно проверять - извините, думал что это само собой разумеется.


В любом случае будет ошибка, так как функция лежит в отдельном файле, поэтому я не особо и заморачивался на эту тему.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 8.1.2019, 22:07
Сообщение #25


*******

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



Кстати, хитрым поиском твои монетки Cirus ищутся мгновенно. Достаточно правильно задать всего 10 искомых пикселей. Но, как я уже говорил, у меня нет такой задачи, поэтому я не допиливал эту функцию, просто проверил, что работает. Там проблема с задаваемыми параметрами поиска, получается не очень красиво, но эффективно. Я тупо использовал таблицу параметров.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 9.1.2019, 13:09
Сообщение #26


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 9.1.2019, 0:12) *

Его код можно выполнить внутри пилота.

Вообще в вам скорее всего хватит обыкновенного имиджа. Увидеть бы изображения - можно было бы более предметно говорить, что с ними делать. Пока это все руками в воздухе водить.

Там обработка упирается в отсутствии дочерних окон, т.е. сами изображения это маска на фреймах, которые никак пилотом не идентифицируются, имидж перестаёт их видеть после 1 раза.

Цитата(sutra @ 9.1.2019, 1:40) *

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

Тут всё я полагаю упирается в техническую возможность железа, разрешение и мощность оборудования, конечно настроить точность поиска можно и очень точно над 1 пикселем. Но для моей поставленной задачи это стрелять из пушки по комарам. Когда всё становится слишком хорошо - Банят просто так. Потому что у тебя "слишком всё гладко."
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 9.1.2019, 13:10
Сообщение #27


***********

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



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

а можно и вовсе попробовать вместо анализа изображений анализировать дерево окон и координаты этих окон.


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(sutra @ 9.1.2019, 1:40) *

загрузки картинки с диска.

Да всё в технической возможности
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 10.1.2019, 3:26
Сообщение #29


*******

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



Цитата
Когда всё становится слишком хорошо - Банят просто так. Потому что у тебя "слишком всё гладко."

Это понятно, но сделать, чтобы было всё "не очень хорошо" гораздо проще, чем наоборот. Что мешает задать алгоритм "прибивать" каждую 2-ю, 3-ю цель, да ещё и с рэндомом. Убил 3 подряд, потом типа 2 неудачи. Задавать бОльшие задержки на реакцию к поведению игры. Тут надо смотреть конкретно за поведением модеров. И кстати, чтобы было "всё не очень хорошо", тоже нужна хорошая реакция Пилота, для чего и нужен быстрый инструментарий. Пусть всё будет "не очень хорошо", главное, чтобы было "неплохо", а точнее, чуть лучше, чем у остальных конкурентов.


Цитата
Тут всё я полагаю упирается в техническую возможность железа, разрешение и мощность оборудования

Конечно от железа зависит многое. Но те идеи, что дал Дарк, по прямой обработке памяти и что думаю уже не только я реализовал, даже на слабой машинке дадут результат. Во всяком случае быстрее стандартного findimage на 2 порядка, а иногда и на 3-4 ПОРЯДКА! А если анализировать "избранные" пиксели, то лично у меня практически всё мгновенно. Ну скажем искать тот же прицел, да достаточно 12 пикселей, грубо говоря findimage заменяет findcolor, только более простым и быстрым алгоритмом.


Причём тормоза - это не дефект Пилотовских функций. Просто любая функция Пилота, даже которая в принципе не нуждается в ресурсах всё равно требует на вызов из скрипта lua достаточно много времени, на 2 порядка больше, чем требуется на её выполнение. Собственно это на данный момент и является самой большой проблемой. А мы тут пытаемся обойти эту хрень, придумывая свои функции, которые работают как внутренний код.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 10.1.2019, 3:37
Сообщение #30


*******

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



Цитата
В таком случае должно помочь снятие изображения методом 2 с родительского окна либо вовсе с абсолютными координатами

Я очень часто использую поиск всеми своими функциями по абсолютным координатам, в нерабочем окне и т.д.. С твоим алгоритмом Дарк, всё везде работает мгновенно! Ещё раз спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 10.1.2019, 13:35
Сообщение #31


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(sutra @ 10.1.2019, 7:26) *

Это понятно, но сделать, чтобы было всё "не очень хорошо" гораздо проще, чем наоборот. Что мешает задать алгоритм "прибивать" каждую 2-ю, 3-ю цель, да ещё и с рэндомом. Убил 3 подряд, потом типа 2 неудачи. Задавать бОльшие задержки на реакцию к поведению игры. Тут надо смотреть конкретно за поведением модеров. И кстати, чтобы было "всё не очень хорошо", тоже нужна хорошая реакция Пилота,

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

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

 

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