--lua
require("find_heap_pixel") -- загрузка функции
-- функция находит ближайшего к персу моба
-- принимает координаты перса и массив с координатами мобов
function min_distance(persX, persY, arr)
local function distance(x1, y1, x2, y2)
return math.sqrt((x1-x2)^2+(y1-y2)^2)
end
local min, minNum, dist = 9999999, -1
for i=1, #arr do
dist=distance(persX, persY, arr[i][1], arr[i][2])
if dist < min then min=dist minNum=i end
end
return arr[minNum][1], arr[minNum][2] -- возвращает координаты ближайшего моба
end
----------------
-- таблица с параметрами поиска мобов
local mob = {0, 0, 1920, 1080, -- координаты поиска
radius = 100, -- радиус разброса пикселей
min_pixel_count = 30, max_pixel_count = 1000, -- минимальное и максимальное количество всех пикселей в группе
color = {3163214 , 2768197 , 3228759 , 12148 , 2119085 }, -- цвет или несколько цветов
min_pixel_color = {0, 0, 0, 0, 0}, -- минимально количество пикселей каждого цвета
deviation = {5, 5, 5, 5, 5}, -- погрешность оттенка для каждого цвета
min_color = 5} -- минимальное количество цветов, которые должны присутствовать в группе
-- таблица с параметрами поиска перса
local pers = {0, 0, 1920, 1080, -- координаты поиска
radius = 80, -- радиус разброса пикселей
min_pixel_count = 50, max_pixel_count = 1000, -- минимальное и максимальное количество всех пикселей в группе
color = {8242365 , 7187117 , 7252389 }, -- цвет или несколько цветов
min_pixel_color = {0, 0, 0}, -- минимально количество пикселей каждого цвета
deviation = {5, 5, 5}, -- погрешность оттенка для каждого цвета
min_color = 3} -- минимальное количество цветов, которые должны присутствовать в группе
while 1 do
local a, group = find_heap_pixel(mob) -- вызов функции
local b, group2 = find_heap_pixel(pers) -- вызов функции
--log (group, group2) -- результат поиска, если nill - не найдено, LuaTable - найдено
if group and group2 then -- если моб и перс найдены
local x, y = min_distance(group2[1][1], group2[1][2], group) -- передаём в функцию координаты перса и массив с координатами мобов
move (x, y) -- навести курсор на моба
kleft_down (x, y)
wait (500)
kright (x, y)
-- тут нужные действия
wait (1000)
end
end