Что нового

[Мышь, клавиатура] Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координатах

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Версия AutoIt: 3.14.2

Ребята, нашел на форуме код пиксельного автошота,вставил координаты поиска и искомый цвет.задал координаты поиска на радаре игры.все работает но мышь отрабатывает и на игроков за укрытиями.укрытия то есть стены ящики и камни на радаре помечены другим цветом.Как сделать что бы при условии что между мной(белый пиксель) и противником(красный пиксель) находилась преграда(серый пиксель) ЛКМ не отрабатывала а по новой шел поиск красного пикселя.


Сколько не искал решение на форуме- не нашел.
 

filautdinov

Знающий
Сообщения
96
Репутация
9
Re: [Мышь, клавиатура] Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координ

Игра WarFace?
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Re: [Мышь, клавиатура] Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координ

да
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Re: [Мышь, клавиатура] Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координ

Как сделать что бы при условии что между мной(белый пиксель) и противником(красный пиксель) находилась преграда(серый пиксель) ЛКМ не отрабатывала
В таком случае, я думаю нужно проверять цвет пикселя на прямой между белой и красной точкой, для этого необходимо:
1 Определить координаты белой и красной точек ( у Вас это уже скорее всего реализовано)
2 Определиться с шагом поиска серых пикселей в зависимости от размера препятствий (слишком маленький шаг - замедлит роботу, при слишком большом шаге - есть вероятность пропустить препятствие)
3 Искать на отрезке от белой до красной точек серый пиксель , вычисляя координаты промежуточных точек по уравнению прямой
Если прямая проходит через две точки A(x1, y1) и B(x2, y2), такие что x1 ≠ x2 и y1 ≠ y2, то уравнение прямой можно найти, используя следующую формулу
(x - x1)/(x2 - x1) = (y - y1)/(y2 - y1)
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Re: [Мышь, клавиатура] Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координ

В скрипте задан поиск красного цвета в заданной области.но действительно по одной прямой.однако красная от белой может появиться на разном расстоянии.
Подскажите как реализовать пропуск пикселей при проверке.А то скрипт действительно тормозит периодически.
Код:
$Hyeta = PixelSearch(180, 170,189, 200,0Xff2624,0)
If IsArray($Hyeta) = True Then
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Re: [Мышь, клавиатура] Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координ

Подскажите как реализовать пропуск пикселей при проверке
У функции
Код:
PixelSearch()
есть параметр "step" Вот описание этого параметра:
Вместо поиска каждого пикселя используйте значения больше чем 1, чтобы пропускать часть пикселей (для ускорения работы). Например, значение 2 означает, что будет использоваться только каждый второй пиксель. По умолчанию 1.
однако красная от белой может появиться на разном расстоянии.
Ну и пусть, зная координаты красной и белой точек можно с определённым шагом проверить всю прямую на наличие серых точек. Как вычислить координаты всех точек, принадлежащих этой прямой писал выше.
 

OlegDenisov

Новичок
Сообщения
8
Репутация
0
Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координатах

подскажите как вы ищете цвет в warface если там directx и "все цвета черные"?
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Re: Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координатах

OlegDenisov сказал(а):
подскажите как вы ищете цвет в warface если там directx и "все цвета черные"?
Инструментами AUTOIT.
 

OlegDenisov

Новичок
Сообщения
8
Репутация
0
Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координатах

Viktor19870628 сказал(а):
OlegDenisov сказал(а):
подскажите как вы ищете цвет в warface если там directx и "все цвета черные"?
Инструментами AUTOIT.
какими? если не затруднит то примерами кода
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Re: Действие или бездействие ЛКМ при нахождении нужного цвета в заданных координатах

OlegDenisov сказал(а):
Viktor19870628 сказал(а):
OlegDenisov сказал(а):
подскажите как вы ищете цвет в warface если там directx и "все цвета черные"?
Инструментами AUTOIT.
какими? если не затруднит то примерами кода
Autoit window info называется.
В ней выбираешь вкладку "Mouse"
Цепляешь курсором мышки картинку в виде мишени и наводишь на нужный цвет на мониторе
в информационном окне программы будет цвет пикселя и его позиция на экране.


Добавлено:
Сообщение автоматически объединено:

Пример кода есть в моих темах.
 
Верх