<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://uopilot.uokit.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madeus</id>
	<title>UoPilot - Вклад участника [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://uopilot.uokit.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madeus"/>
	<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Madeus"/>
	<updated>2026-04-13T12:47:52Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=904</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=904"/>
		<updated>2023-08-20T19:14:18Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Синтаксис */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColor)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' (необязательно) - погрешность оттенка. Указывается в %. Например: есть погрешность 3%. Точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 --lua&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#close) -- вывести в лог длину массива close&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=903</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=903"/>
		<updated>2023-08-20T09:11:51Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Примеры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColor)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 --lua&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#close) -- вывести в лог длину массива close&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=902</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=902"/>
		<updated>2023-08-20T09:11:25Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Примеры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColor)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 --lua&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#close) -- вывести в лог длину массива close&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=901</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=901"/>
		<updated>2023-08-20T09:10:59Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Синтаксис */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColor)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 --lua&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#arr) -- вывести в лог длину массива arr&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=900</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=900"/>
		<updated>2023-08-20T09:10:43Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Примеры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColors)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 --lua&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#arr) -- вывести в лог длину массива arr&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=899</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=899"/>
		<updated>2023-08-20T09:10:12Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Примеры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColors)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 --lua&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#arr) -- вывести в лог длину массива arr&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=898</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=898"/>
		<updated>2023-08-20T09:09:26Z</updated>

		<summary type="html">&lt;p&gt;Madeus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColors)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 --lua&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
 log(#arr) -- вывести в лог длина массива arr&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script &lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=897</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=897"/>
		<updated>2023-08-20T09:07:09Z</updated>

		<summary type="html">&lt;p&gt;Madeus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray' [, type [, count [, deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColors)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 -- Пример 1&lt;br /&gt;
 --lua&lt;br /&gt;
 a =  findcolor (339, 501, 341, 631, 1, 1, '(207)', '%close', 2) -- поиск в рабочем окне&lt;br /&gt;
&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива close[1][1] будет записано значение координаты X для первого пикселя, в close[1][2] будет записано значение координаты Y  для первого пикселя, в close[2][1] - значение X для второго пикселя, в close[2][2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script &lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9_(Lua)&amp;diff=896</id>
		<title>Список функций (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9_(Lua)&amp;diff=896"/>
		<updated>2023-08-20T09:02:23Z</updated>

		<summary type="html">&lt;p&gt;Madeus: /* Цвет и изображения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Мышка ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Mouse_pos_(Lua) mousepos] - получить координаты курсора мыши.&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Move_(Lua) move] - переместить курсор мыши в указанные координаты.&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Move_Smooth_(Lua) move_smooth] - плавно переместить курсор мыши в указанные координаты.&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Drag_(Lua) drag] - перенести из точки с координатами &amp;lt;откуда&amp;gt; в точку с координатами &amp;lt;куда&amp;gt;.&lt;br /&gt;
:'''simple (в активном и не активном окне)'''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_(Lua) left] - ''клик левой кнопки мыши в указанные координаты.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_(Lua) right] - ''клик правой.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_(Lua) middle] - ''клик средней.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_(Lua) double_left] - ''двойной клик левой кнопки мыши в указанные координаты.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_(Lua) double_right] - ''двойной клик правой.'' &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_(Lua) double_middle] - ''двойной клик средней.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_Up_(Lua) left_down] - ''зажать левую кнопку мыши.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_Up_(Lua) right_down] - ''зажать правую.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_Up_(Lua) middle_down] - ''зажать среднюю.''  &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_Up_(Lua) left_up] - ''отпустить левую кнопку мыши.''  &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_Up_(Lua) right_up] - ''отпустить правую.'' &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Left_Up_(Lua) middle_up] - ''отпустить среднюю.'' &lt;br /&gt;
&lt;br /&gt;
:'''k (только в активном окне, захватывают мышь)'''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_(Lua) kleft] - ''клик левой кнопки мыши в указанные координаты.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_(Lua) kright] - ''клик правой.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_(Lua) kmiddle] - ''клик средней.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_(Lua) double_kleft] - ''двойной клик левой кнопки мыши в указанные координаты.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_(Lua) double_kright] - ''двойной клик правой.'' &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_(Lua) double_kmiddle] - ''двойной клик средней.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_Down_(Lua) kleft_down] - ''зажать левую кнопку мыши.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_Down_(Lua) kright_down] - ''зажать правую.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_Down_(Lua) kmiddle_down] - ''зажать среднюю.''  &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_Down_(Lua) kleft_up] - ''отпустить левую кнопку мыши.''  &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_Down_(Lua) kright_up] - ''отпустить правую.'' &lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Kleft_Down_(Lua) kmiddle_up] - ''отпустить среднюю.'' &lt;br /&gt;
&lt;br /&gt;
:'''wheel (эмулирует прокручивание колёсика мыши)'''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Wheel_Up_(Lua) wheel_down] - ''прокручивание вниз.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Wheel_Up_(Lua) wheel_up] - ''прокручивание вверх.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Wheel_Up_(Lua) kwheel_down] - ''аналог Wheel_down.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Wheel_Up_(Lua) kwheel_up] - ''аналог Wheel_up.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Wheel_Up_(Lua) pwheel_down] - ''для Windows XP sp2-3 32 бит и Vista Home 32 бит).''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Wheel_Up_(Lua) pwheel_up] - ''для Windows XP sp2-3 32 бит и Vista Home 32 бит).''&lt;br /&gt;
&lt;br /&gt;
== Клавиши ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Getlayout_(Lua) getlayout] - позволяет получить текущую раскладку клавиатуры.&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Setlayout_(Lua) setlayout] - устанавливает язык раскладки клавиатуры для команд send, sendex.&lt;br /&gt;
&lt;br /&gt;
:'''В активном и не активном окне'''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Send_(Lua) send] - ''нажать клавишу.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Send_down_(Lua) send_down] - ''зажать клавишу.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Send_down_(Lua) send_up] - ''отпустить клавишу.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Send217_(Lua) send217] - ''аналог send.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Send_down_(Lua) send217_down] - ''аналог send_down.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Send_down_(Lua) send217_up] - ''аналог send_up.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Say_(Lua) say] - ''набрать текст.'' &lt;br /&gt;
&lt;br /&gt;
:'''Только в активном окне''' (Позволяют нажимать\зажимать клавиши Ctrl, Alt, Shift)&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Sendex_(Lua) sendex] - ''нажать клавишу или комбинацию клавиш.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Sendex_down_(Lua) sendex_down] - ''зажать клавишу или комбинацию клавиш.''&lt;br /&gt;
::[http://uopilot.tati.pro/index.php?title=Sendex_down_(Lua) sendex_up] - ''отпустить клавишу или комбинацию клавиш.''&lt;br /&gt;
&lt;br /&gt;
== Циклы ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Break_(Lua) break] - ''прерывание цикла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Repeat_(Lua) repeat] - ''выполняет блок кода до тех пор, пока условие не станет истинным.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=For_(Lua) for] - ''выполняет цикл несколько раз в соответствии со значением переменной управления циклом. Также используется для обхода элементов массива/таблицы.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=While_(Lua) while] - ''цикл, с проверкой условия.''&lt;br /&gt;
&lt;br /&gt;
== Условия ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=If_(Lua) if] - ''проверка условия истина\ложь.''&lt;br /&gt;
&lt;br /&gt;
== Цвет и изображения ==&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Findimage_(Lua) findimage] - ''поиск изображения.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Findcolor_(Lua) findcolor] - ''поиск определённого цвета(-ов) в заданной области.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Color_(Lua) color] - ''определяет цвет в заданных координатах. Может находить цвет в перекрытых окнах.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Getimage_(Lua) getimage] - ''запомнить части экранной области.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Saveimage_(Lua) saveimage] - ''сохраняет часть экранной области из памяти.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Deleteimage_(Lua) deleteimage] - ''удаляет запомненную часть экранной области.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Loadimage_(Lua) loadimage] - ''функция загрузки изображения в память.''&lt;br /&gt;
&lt;br /&gt;
== Массивы и таблицы ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Table.insert_(Lua) table.insert] - ''добавляет элемент в массив.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Table.remove_(Lua) table.remove] - ''удаляет из массива элемент.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Table.concat_(Lua) table.concat] - ''возвращает значения массива.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Unpack_(Lua) unpack] - ''возвращает значения массива.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Table.maxn_(Lua) table.maxn] - ''возвращает наибольший положительный числовой индекс таблицы''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Table.sort_(Lua) table.sort] - ''сортирует массив в заданном порядке.''&lt;br /&gt;
&lt;br /&gt;
== Скрипты ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Start_script_(Lua) start_script] - ''запустить указанный скрипт.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Stop_script_(Lua) stop_script] - ''остановить текущий или указанный скрипт.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Restart_script_(Lua) restart_script] - ''перезапуск скрипта или всех скриптов.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=End_script_(Lua) end_script] - ''остановbnm скрипт.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Load_script_(Lua) load_script] - ''загрузить скрипт.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Current_script_(Lua) current_script] - ''переменная, возвращающая номер закладки текущего скрипта.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Active_script_(Lua) active_script] - ''переменная, возвращающая номер закладки активного скрипта.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Scripts_(Lua) scripts] - ''позволяет выяснить количество вкладок со скриптами, с занесением в массив их номеров, имен и статуса запуска.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Get_script_text_(Lua) get_script_text] - ''возвращает в таблицу скрипт с указанным номером, либо текущий, если номер не указан.''&lt;br /&gt;
&lt;br /&gt;
== Программы ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Exec_(Lua) exec] - ''запуск внешнего приложения.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=ExecAndWait_(Lua) execandwait] - ''запуск внешнего приложения и ожидание его завершения.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Terminate_(Lua) terminate] - ''завершает приложение.''&lt;br /&gt;
&lt;br /&gt;
== Файлы ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Dir_(Lua) dir] - ''вывод дерева каталогов.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filecopy_(Lua) filecopy] - ''копировать файл.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filerename_(Lua) filerename] - ''переименовать файл.'' &lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filedelete_(Lua) filedelete] - ''удалить файл.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filesetdate_(Lua) filesetdate] - ''установить дату и время последнего изменения файла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filesetattr_(Lua) filesetattr] - ''установить атрибуты для файла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filegetattr_(Lua) filegetattr] - ''получить атрибуты файла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Filegetdate_(Lua) filegetdate] - ''получить дату и время последнего изменения.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Fileexists_(Lua) fileexists] - ''возвращает 1, если файл существует, иначе 0.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Dircreate_(Lua) dircreate] - ''создание директории (папки/папок).''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Dirremove_(Lua) dirremove] - ''удаление пустых каталогов (папок).''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Write_(Lua) write] - ''дописать текст в файл.''&lt;br /&gt;
&lt;br /&gt;
== Окна ==&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Findwindow_(Lua) findwindow] - ''поиск хендла окна по его заголовку или PID.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Workwindow_(Lua) workwindow] - ''возвращает хендл окна, к которому привязан скрипт. Привязывает скрипт к окну с указанным хендлом.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Workwindowpid_(Lua) workwindowpid] - ''переменная, возвращающая PID процесса, которому принадлежит рабочее окно.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Windowhandle_(Lua) windowhandle] - ''переменная хранящая хендл окна пилота.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Windowfromcursor_(Lua) windowfromcursor] - ''возвращает хэндл окна или контрола под курсором мыши.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Getwindow_(Lua) getwindow] - ''позволяет получить хендл активного окна или же окна относительно указанного.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Getfocus_(Lua) getfocus] - ''возвращает хэндл окна, имеющего фокус ввода.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Windowpos_(Lua) windowpos] - ''позволяет получить или установить координаты и размер окна.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Showwindow_(Lua) showwindow] - ''управление состоянием окна.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Setwindowtext_(Lua) setwindowtext] - ''изменяет заголовок указанного окна.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Getwindowtext_(Lua) getwindowtext] - ''возвращает заголовок указанного окна.''&lt;br /&gt;
&lt;br /&gt;
== Память ==&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Readmem_(Lua) readmem] - ''чтение из памяти.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Writemem_(Lua) writemem] - ''запись в память.''&lt;br /&gt;
&lt;br /&gt;
== Буфер ==&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Clipboard_(Lua) clipboard] - ''чтение или запись в буфера обмена.''&lt;br /&gt;
   &lt;br /&gt;
== Строки ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Tonumber_(Lua) tonumber] - ''преобразование параметра в число.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Tostring_(Lua) tostring] - ''конвертирует параметр любого типа в строку.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.byte_(Lua) string.byte] - ''возвращает числовые коды символов.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.char_(Lua) string.char] - ''возвращает строку из переданной последовательности кодов.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.lower_(Lua) string.lower] - ''возвращает копию строку, в которой все буквы заменены на строчные.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.upper_(Lua) string.upper] - ''возвращает копию строку, в которой все буквы заменены на заглавные.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.rep_(Lua) string.rep] - ''возвращает строку, в которой содержится n копий строки.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.reverse_(Lua) string.reverse] - ''возвращает строку, в которой символы строки расположены в обратном порядке.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.len_(Lua) string.len] - ''возвращает длину строки.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.sub_(Lua) string.sub] - ''возвращает подстроку строки.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.find_(Lua) string.find] - ''возвращает позицию подстроки в строке.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.match_(Lua) string.match] - ''поиск первого вхождения шаблона в строку.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.gmatch_(Lua) string.gmatch] - ''возвращает итератор, который, при каждом вызове, возвращает следующее вхождение шаблона в строке.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.gsub_(Lua) string.gsub] - ''возвращает копию строки, в которой все вхождения 'шаблона поиска' заменяются на 'шаблон замены'.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String.format_(Lua) string.format] - ''возвращает отформатированную строку.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Regexp_(Lua) regexp] - ''поиск позиции подстроки в строке с помощью регулярного выражения.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Copy_(Lua) copy] - ''копирование одного или нескольких символов из строки с указанной позиции.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Delete_(Lua) delete] - ''удаление одного или нескольких символов из строки с указанной позиции.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Insert_(Lua) insert] - ''вставка одного или нескольких символов в строку в указанную позицию.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String_letters_(Lua) string_letters] - ''возвращает строку, выбрасывая из неё все числа.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String_digits_(Lua) string_digits] - ''возвращает строку, выбрасывая из неё все буквенные символы.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=String_count_(Lua) string_count] - ''возвращает число, показывающее сколько раз подстрока встречается в строке.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Trim_(Lua) trim] - ''удаляет лишние пробелы вначале и в конце строки.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Ltrim_(Lua)&amp;amp;amp;redirect=no ltrim] - ''удаляет пробелы в начале строки.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Rtrim_(Lua)&amp;amp;amp;redirect=no rtrim] - ''удаляет пробелы в конце строки.''&lt;br /&gt;
&lt;br /&gt;
== Числа ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.random_(Lua) math.random] - ''генерирует псевдослучайное число.'' &lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.abs_(Lua) math.abs] - ''возвращает абсолютную величину (модуль) числа.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.min_(Lua) math.min] - ''возвращает минимальный из аргументов.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.max_(Lua) math.max] - ''возвращает максимальный из аргументов.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.floor_(Lua) math.floor] - ''возвращает x округлённый до ближайшего целого числа, которое меньше x.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.ceil_(Lua) math.ceil] - ''возвращает x округлённый до ближайшего целого числа, которое больше x.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.modf_(Lua) math.modf] - ''возвращает целую и дробную часть числа.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.fmod_(Lua) math.fmod] - ''возвращает остаток от деления 'x' на 'y'.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.sqrt_(Lua) math.sqrt] - ''возвращает квадратный корень.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.pow_(Lua) math.pow] - ''возвращает x в степени n. Вместо функции можно использовать x^n.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.sin_(Lua) math.sin] - ''возвращает синус угла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.cos_(Lua) math.cos] - ''возвращает косинус угла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.tan_(Lua) math.tan] - ''возвращает тангенс угла.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.asin_(Lua) math.asin] - ''возвращает арксинус x.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.acos_(Lua) math.acos] - ''возвращает арккосинус x.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.atan_(Lua) math.atan] - ''возвращает арктангенс x.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.deg_(Lua) math.deg] - ''преобразовывает угол, заданный в радианах, в градусы.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Math.rad_(Lua) math.rad] - ''преобразовывает угол, заданный в градусах, в радианы.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Point_distance_(Lua) point_distance] - ''возвращает расстояние между двумя точками в виде дробного числа, представленного строкой.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Point_direction_(Lua) point_direction] - ''возвращает угол (в градусах) между осью X и вектором с началом в точке (x1,y1) и окончанием в точке (x2,y2).''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Lengthdir_x_(Lua) lengthdir_x] - ''возвращает горизонтальный x-катет вектора определённый указанной длиной и направлением.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Lengthdir_x_(Lua) lengthdir_y] - ''возвращает вертикальный y-катет вектора определённый указанной длиной и направлением.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Dec2hex_(Lua) dec2hex] - ''преобразует десятичное значение в шестнадцатеричное.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Hex2dec_(Lua) hex2dec] - ''преобразует шестнадцатеричное значение в десятичное.''&lt;br /&gt;
&lt;br /&gt;
== Дата и время ==&lt;br /&gt;
&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Os.date_(Lua) os.date] - ''возвращает дату и время в виде строки или таблицы.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Os.time_(Lua) os.time] - ''возвращает время в формате posix.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Os.clock_(Lua) os.clock] - ''возвращает время в секундах с точностью до миллисекунд с момента запуска UoPilot.''&lt;br /&gt;
&lt;br /&gt;
== Вывод сообщений ==&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Logging_(Lua) logging] - ''лог.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Logging_(Lua) log] - ''лог, аналог logging.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Msg_(Lua) msg] - ''вывод сообщения.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Alarm_(Lua) alarm] - ''воспроизвести звук или звуковой файл.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Flash_(Lua) flash] - ''мигнуть в таскбаре.''&lt;br /&gt;
&lt;br /&gt;
== Другие ==&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Homepath_(Lua) homepath] - ''возвращает путь к exe пилота.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Exefilename_(Lua) exefilename] - ''возвращает имя exe пилота.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Loghandle_(Lua) loghandle] - ''возвращает хендл окна лога.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Version_(Lua) version] - ''возвращает в массив версию пилота.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Wait_(Lua) wait] - ''приостанавливает выполнение текущего скрипта на указанное количество времени.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Printscreen_(Lua) printscreen] - ''команда сохранения копии экрана в файл.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Exit_(Lua) exit] - ''выход из пилота.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Type_(Lua) type] - ''возвращает тип параметра в виде строки.''&lt;br /&gt;
:[http://uopilot.tati.pro/index.php?title=Timer_(Lua) timer] - ''выполняет код через определённый промежуток времени.''&lt;br /&gt;
:[https://uopilot.uokit.com/wiki/index.php?title=Goto_(Lua) goto] - ''позволяет переходить к другому участку кода, обозначенному меткой.''&lt;br /&gt;
:[https://forum.uokit.com/index.php?act=Attach&amp;amp;type=post&amp;amp;id=2665 test] - ''ыавмавымыв''&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=895</id>
		<title>Findcolor (Lua)</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Findcolor_(Lua)&amp;diff=895"/>
		<updated>2023-08-20T08:57:57Z</updated>

		<summary type="html">&lt;p&gt;Madeus: Новая страница: « == Описание == '''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной об...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''findcolor''' - ищет пиксели определённого цвета(-ов) в заданной прямоугольной области.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&lt;br /&gt;
Привязка к окну: опционально.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа со свернутым окном: Нет.&lt;br /&gt;
&amp;lt;br&amp;gt;Работа с перекрытым окном: Да. Привязка к окну обязательна.&lt;br /&gt;
  a = findcolor (StartX, StartY, EndX, EndY, ShiftX, ShiftY, '(RequiredColor)', '%ResultArray', [type, [count, [deviation]]] [, 'abs'])&lt;br /&gt;
где:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;a&amp;gt;''' - переменная, в которую записывается количество найденных пикселей (или код ошибки меньший нуля)&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;StartX StartY&amp;gt;''' - координаты левого верхнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;EndX EndY&amp;gt;''' - координаты правого нижнего угла области поиска&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;ShiftX ShiftY&amp;gt;''' - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным &amp;quot;1&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'(RequiredColors)'&amp;gt;''' - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235)' - точный десятичный цвет&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235-86027)' - диапазон десятичных цветов&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11))' - значение красного канала = 11, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(G(73-80))' - диапазон значений зеленого канала, остальные каналы не проверяются&amp;lt;br&amp;gt;&lt;br /&gt;
:'(R(11)+G(73-80)+B(1))' - заданы значения по всем каналам&amp;lt;br&amp;gt;&lt;br /&gt;
:'(84235, R(0), R(11)+G(73-80)+B(1))' - комбинированное указание искомых цветов&amp;lt;br&amp;gt;&lt;br /&gt;
Если в команде указывается только один десятичный цвет, то его (цвет) можно записывать без круглых скобок.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;'%ResultArray'&amp;gt;''' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[type]''' (необязательно) - тип поиска. Может принимать значения &amp;quot;1&amp;quot; (надежный), &amp;quot;2&amp;quot; (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют &amp;quot;2&amp;quot;, он тоже отлично работает.&amp;lt;br&amp;gt;&lt;br /&gt;
Если вместо &amp;quot;2&amp;quot; или &amp;quot;1&amp;quot; указать &amp;quot;workwindow&amp;quot; (переменная содержащая хендл рабочего окна), то поиск будет происходить в привязанном рабочем окне (и в его относительных координатах). По сути, это третий тип поиска. При этом окно может быть частично или полностью закрыто другими окнами (но не свёрнуто!).&amp;lt;br&amp;gt;&lt;br /&gt;
'''[count]''' (необязательно)- количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области и не важно общее число таких пикселей, то можно указать &amp;quot;1&amp;quot; - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей&amp;lt;br&amp;gt;&lt;br /&gt;
'''[deviation]''' !!!НЕ РАБОТАЕТ!!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''['abs']''' (необязательно) - этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''Коды ошибок findcolor:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''''-1'''' упало при поиске, точная причина не известна&amp;lt;br&amp;gt;&lt;br /&gt;
''''-2'''' не нашли открывающую скобку после имени функции&amp;lt;br&amp;gt;&lt;br /&gt;
''''-3'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-4'''' неправильно указан тип поиска, или хэндл = 0&amp;lt;br&amp;gt;&lt;br /&gt;
''''-5'''' (не используется)&amp;lt;br&amp;gt;&lt;br /&gt;
''''-6'''' ошибка получения изображения с экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Иногда требуется сделать клик со смещением. Указывать можно как вначале скрипта, так и перед функцией findColor.&lt;br /&gt;
 findoffsetx (50)    -- смещение вправо на 50 пикселей&lt;br /&gt;
 findoffsety (30)    -- смещение вниз на 30 пикселей&lt;br /&gt;
 &lt;br /&gt;
 findoffsetx (-40)   -- смещение влево на 40 пикселей&lt;br /&gt;
 findoffsety (-60)   -- смещение вверх на 60 пикселей&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
 // Пример 1&lt;br /&gt;
 set #a findcolor ( 339 501 341 631 1 1 (207) %close 2 ) // поиск в рабочем окне&lt;br /&gt;
&lt;br /&gt;
Этот пример означает следующее: в текущем рабочем окне в области с координатами (339,501)-(341,631) с шагом поиска (1,1) ищутся все пиксели с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив %close. Тип поиска = 2 (быстрый).&amp;lt;br&amp;gt;&lt;br /&gt;
В результате работы, если в данной области будет обнаружено 2 пикселя с цветом 207, то в элемент массива %close[1 1] будет записано значение координаты X для первого пикселя, в %close[1 2] будет записано значение координаты Y  для первого пикселя, в %close[2 1] - значение X для второго пикселя, в %close[2 2] - значение Y для второго пикселя,&amp;lt;br&amp;gt;&lt;br /&gt;
В #a будет записано число найденных пикселей = 2 (или 0, если бы такие пиксели не были найдены).&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set #b findcolor ( 339 501 341 631 1 1(207) %close 2 abs )     // поиск на экране&lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set #c findcolor ( 339 501 341 631 1 1 (207) %close workwindow )    // поиск в рабочем окне (даже в перекрытом)&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2)&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет, то делаем двойной левый клик мышкой в первой найденной точке&lt;br /&gt;
   double_left %arr [1 1], %arr [1 2]&lt;br /&gt;
 else&lt;br /&gt;
   msg Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Использование отклонения цвета - deviation&lt;br /&gt;
 set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3)   // 2 - это тип поиска&lt;br /&gt;
                                                                  // -1 - количество найденных пикселей (искать все)&lt;br /&gt;
                                                                  // 3 - погрешность оттенка&lt;br /&gt;
 if #d &amp;gt; 0           // если найден нужный цвет&lt;br /&gt;
   kleft %arr [1 1], %arr [1 2]&lt;br /&gt;
   wait 2000&lt;br /&gt;
 else&lt;br /&gt;
   log Цвет не найден!&lt;br /&gt;
 end_if&lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 // Допустим, найти 2 одинаковых изображения в сетке 3*3.  &lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 2366701 %a)    // проверить 9 точек на цвет 2366701&lt;br /&gt;
                                                        // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                        //             100 150, 150 150, 200 150&lt;br /&gt;
                                                        //             100 200, 150 200, 200 200                                                                   &lt;br /&gt;
 log #a                              // вывод в лог количества найденных цветов&lt;br /&gt;
 if #a &amp;gt; 1                           // если найдено больше 1 точки&lt;br /&gt;
     for #i 1 size(%a)                &lt;br /&gt;
         log %a [#i 1] %a [#i 2]     // вывод в лог координат&lt;br /&gt;
         move %a [#i 1] %a [#i 2]    // переместит курсор на найденные точки&lt;br /&gt;
         wait 2000                   // ждать 2 секунды&lt;br /&gt;
     end_for  &lt;br /&gt;
 end_if     &lt;br /&gt;
 End_script&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Использование шага поиска&lt;br /&gt;
 set #a findcolor (100 100 200 200 50 50 (0-16777215) %arr)    // получить цвета в 9 точках, сетка 3*3&lt;br /&gt;
                                                               // координаты: 100 100, 150 100, 200 100&lt;br /&gt;
                                                               //             100 150, 150 150, 200 150&lt;br /&gt;
                                                               //             100 200, 150 200, 200 200&lt;br /&gt;
 save_array %arr C:\SaveColor.txt                              // сохранить массив с найденными координатами в файл 'C:\SaveColor.txt' &lt;br /&gt;
 End_script &lt;br /&gt;
'''Примеры поиска цвета в перекрытом(не свёрнутом) окне:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.&lt;br /&gt;
&amp;lt;br&amp;gt;Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.&lt;br /&gt;
&amp;lt;br&amp;gt;Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что &amp;quot;видит&amp;quot; пилот при поиске (Findcolor, Findimage). Если в окне &amp;quot;чёрный квадрат&amp;quot;, значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.&lt;br /&gt;
 // Пример 8&lt;br /&gt;
 set #a findcolor (0 0 1920 1080 1 1 (12146182) %arr workwindow )&lt;br /&gt;
 log #a                 // если в логе 0, скорее всего, надо указать родительское окно&lt;br /&gt;
 End_script&lt;br /&gt;
Учтите, при указании родительского окна в качестве рабочего, клики могут быть со смещением. Используйте поиск окна [[Findwindow]] и [[Поиск пути к дочернему окну]].&lt;br /&gt;
&lt;br /&gt;
 // Пример 9&lt;br /&gt;
 set #handle findwindow (Google)                // поиск окна с именем Google&lt;br /&gt;
 set #a findcolor (100 100 1000 1000  (5482548 ) %arr #handle)&lt;br /&gt;
 log #a                                         // количество найденных цветов&lt;br /&gt;
 if #a &amp;gt; 0                                      // если цвет найден &lt;br /&gt;
      move %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет&lt;br /&gt;
 end_if         &lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 10&lt;br /&gt;
 set #handle findwindow (lineage2)&lt;br /&gt;
 set #a findcolor (18 17  243 37 1 1 (23176) %arr #handle)&lt;br /&gt;
 log #a                 // количество найденных цветов        &lt;br /&gt;
 End_script &lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Findimage (Lua)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Color (Lua)]]&lt;/div&gt;</summary>
		<author><name>Madeus</name></author>
		
	</entry>
</feed>