Версия AutoIt: 3.3.14.2
Описание: Здравствуйте! можно ли как то в PixelSearch указать не определенный цвет, а с погрешностью или частично известный (0xFE****)? то есть: в игре есть полоса здоровья, отображаться либо синим либо красным цветом. проблема заключается в том что цвет не постоянный, он мерцает, переливается. и при указании конкретного цвета работает не корректно. немного по проверяв цвета пришел к выводу: красны в основном начинаются с 0xFE а синие с 0x3 или 0x4 (красные 0xFEAAAC 0xFEAFB6 0xFE969B синие 0x42E5F6 0x49E5F5 0x36E7FE) и если бы как то указать диапазон от 0xFE0000 до 0xFEFFFF то возможно, он бы начал работать нормально. да я понимаю что в этом диапазоне может быть не только красный, но поскольку там всего 2 цвета мне это не сильно важно. если что можно указать и поконкретнее 0xFE8000 - 0xFEEEEE.
сейчас скрипт выглядит так
Примечания: пробовал указывать 2 цвета, все ровно не идеально.
буду признателен за помощь.
Описание: Здравствуйте! можно ли как то в PixelSearch указать не определенный цвет, а с погрешностью или частично известный (0xFE****)? то есть: в игре есть полоса здоровья, отображаться либо синим либо красным цветом. проблема заключается в том что цвет не постоянный, он мерцает, переливается. и при указании конкретного цвета работает не корректно. немного по проверяв цвета пришел к выводу: красны в основном начинаются с 0xFE а синие с 0x3 или 0x4 (красные 0xFEAAAC 0xFEAFB6 0xFE969B синие 0x42E5F6 0x49E5F5 0x36E7FE) и если бы как то указать диапазон от 0xFE0000 до 0xFEFFFF то возможно, он бы начал работать нормально. да я понимаю что в этом диапазоне может быть не только красный, но поскольку там всего 2 цвета мне это не сильно важно. если что можно указать и поконкретнее 0xFE8000 - 0xFEEEEE.
сейчас скрипт выглядит так
Код:
#include <Misc.au3>
While 1
$Variable = PixelSearch(170,960,240,999,0xFEABAD);
If IsArray($Variable) = True Then
Send ("q")
EndIf
Wend
Примечания: пробовал указывать 2 цвета, все ровно не идеально.
Код:
#include <Misc.au3>
While 1
_f1()
_f2()
Wend
Func _f1()
$Variable = PixelSearch(170,960,240,999,0xFEA2A2);
If IsArray($Variable) = True Then
Send ("q")
EndIf
EndFunc
Func _f2()
$Variable = PixelSearch(170,960,240,999,0xFEBABA);
If IsArray($Variable) = True Then
Send ("q")
EndIf
EndFunc
буду признателен за помощь.