|
FindColor (LUA), Передача переменных в findcolor |
|
|
yodich |
26.2.2022, 15:07
|
  
Novice
Сообщений: 92
Регистрация: 24.8.2020 Группа: Пользователи Наличность: 0
Пользователь №: 19.728
Возраст: 29

|
Всем доброго времени суток. Сидел и "баловался" делая функцию, где идет обработка цветов и столкнулся с такой ситуацией, что на LUA в FindColor сложно передать данные, а именно цвет или координаты Может кто знает удобный findcolor который сам пользуется часто + удобства отправок переменных log ('clear') local x, y, x1, y1 = 87, 82, 498, 275 local colorss = 2366701 local ar = findcolor (x, y, x1, y1, (colorss), '%ar') -- + if ar then log ('ar OK', ar) end local a = findcolor (x, y, x1, y1, colorss, '%ma') -- + if a then log ('a OK', a) end local b = findcolor ([[87, 82, 498, 275, (2366701) '%mb']]) -- удобен, но переменных не передает if b > 0 then log ('b Ok', (IMG: style_emoticons/default/cool.gif) end local c = findcolor ("x, y, x1, y1 (colorss) %mccc") -- вообще не понял почему не срабатывает if c > 0 then log ('c OK(не робит)', c) end
|
|
|
|
|
  |
Ответов
yodich |
19.8.2023, 19:00
|
  
Novice
Сообщений: 92
Регистрация: 24.8.2020 Группа: Пользователи Наличность: 0
Пользователь №: 19.728
Возраст: 29

|
Цитата(Gendalfgreen @ 1.6.2022, 20:04)  возвращает nil....... ((((((((((((((((((((((((((((((((((
тоже как-то мучился с этим, потом сам примерно написал какие-то типо разбросы цветов для своего удобства Авось тебе поможет Код --lua function print ( ... ) return log ( ... ) end print ('clear')
ClassDeviationColors = {}
function ClassDeviationColors:new () local obj = {
--[[ { "Имя кнопки или тп для себя", -- разброс цветов 14277338, 13882323, 12442098, 13492981, 14478328, 2701653, 2504272, 1092837, 12704755, 12179441 }, ]]--
{ "Главная", 15000021, 4800570, 10457985, 7839914, 12893098, 2963000, 5534330, 9732990, 7889747, 6309175 }
}
obj.NextLocation = {
{ "Атака_Босса", 866143, 1330049, 1198201, 9802, 1328754, 7995, 4911, 736615, 1064551, 9286 },
{ "Магазин-->", 15526891, 15855857, 14737375, 15132132, 16382457, 737417, 14539996, 4013541, 16185077, 10266808 }
}
-- рабочее окно function obj:Work (nameWork, fullscreen) xth, yth, width, height = 0, 0, 1920, 1080 local fullscreen = fullscreen or false -- вкл/выкл переход на полный экран local flibu = findwindow (nameWork) if ( flibu ) then local WindowWork = workwindow (flibu[1][1], "child") if ( fullscreen == true ) or ( fullscreen == "fullscreen" ) then showwindow ( WindowWork, "maximize" ) end xth, yth, width, height, errorcode = windowpos (WindowWork) print (nameWork .. "- окно активно, размер окна - ", xth, yth, width, height) else msg ("окнo не найдено") end_script() end return WindowWork, xth, yth, width, height end
-- радомное вермя кликов function obj:timerClick (timers, text) math.randomseed(os.clock()) local timers = timers + math.random (770) or 1000 local text = text or "[[ " .. math.modf(timers/1000) .. " ]] sec" if ( timers > 1000 and text ~= nil ) then wait (timers + math.random(1) ) print (text .. " [[" .. math.modf(timers/1000) .. " sec ]]") end left (x, y, WindowWork) return timers, text, x, y end
--[[ xstart, ystart, xend, yend - координаты colors - массив цветов разброса count - кол-во для нахождения цветов ]]-- function obj:fc (xstart, ystart, xend, yend, colors, count) local intCount = count or 4 local counter = 0 local intColors = colors or {} for i = 1, #intColors do local RC = findcolor (xstart, ystart, xend, yend, intColors[i], "%RCm", WindowWork) if RC then counter = counter + 1 if counter >= intCount then x, y = RCm[1][1], RCm[1][2] return x, y end end end end
-- метод чек чего-либо, типо локаций, нужной картинки/кнопки и тп function obj:check (sumNextColors) local sumNextColor = sumNextColors or 7 -- количество цветов для поиска for i = 1, #self do local checkLocations = self:fc (xth, yth, width, height, self[i], sumNextColor, WindowWork) -- поиск по рабочему окну if checkLocations then ActiveLocation = self[i][1] print ("Active Location --" .. ActiveLocation) break end end return ActiveLocation end
-- метод перехода если цвета найдены function obj:next (NameLocationNext, sumNextColors) local sumNextColor = sumNextColors or 7 -- количество цветов для поиска for i = 1, #self.NextLocation do local NextLocations = self:fc (xth, yth, width, height, self.NextLocation[i], sumNextColor, WindowWork) if NextLocations then if (self.NextLocation[i][1] == NameLocationNext) then self:timerClick (1234, " КЛИК") break end end end end
setmetatable (obj, self) self._index = self return obj end ----------------------------------------------------------------------------------------
-- тест работы local test = ClassDeviationColors:new ()
test:Work("Джаггеранут", "fullscreen") -- Имя окна | Переход на полный экран false - true или "fullscreen"
if (test:check(6) == "Главная") then -- как пример чекаем где находимся/ 6 сколько цветов надо найти/по умолчанию 7 test:next("Атака_Босса", 3) -- переходим/кликаем куда надо // кол-во цветов, по умолчанию 7 end
|
|
|
|
Сообщений в этой теме
yodich FindColor (LUA) 26.2.2022, 15:07 cirus
В чём сложность? Как именно будет удобно?
Потому... 26.2.2022, 15:26 yodich
В чём сложность? Как именно будет удобно?
Потому... 27.2.2022, 11:02 cirus Причём тут передача данных?
В свёрнутом окне поиск... 27.2.2022, 11:41 DarkMaster findcolor умеет работать с getimage? 18.4.2022, 1:39 Gendalfgreen Позвольте.....
А функция FindColour есть на LUA??... 28.5.2022, 23:40 DarkMaster
Из поста выше =)
Вообще там с синтаксисом есть во... 29.5.2022, 2:59 Gendalfgreen а есть возможность задать диапазон цветов? или доп... 30.5.2022, 16:58 DarkMaster x1, y1, x2, y2, color, arr, method, count, deviati... 30.5.2022, 17:54 Kangoshi
x1, y1, x2, y2, color, arr, method, count, deviat... 14.8.2023, 12:27  Madeus
Приходится догадываться какие данные "идут т... 14.8.2023, 13:59 Gendalfgreen к сожалению не работает(((((
на параметр deviation... 31.5.2022, 21:57 DarkMaster Тогда лишь могу предложить задавать диапазон стрин... 31.5.2022, 22:09 Gendalfgreen Прошу ЛекБез что за стринг.
имеется в виду диапазо... 31.5.2022, 22:18 Madeus
Прошу ЛекБез что за стринг.
имеется в виду диапаз... 31.5.2022, 22:30 Gendalfgreen не помогает 31.5.2022, 22:38 DarkMaster как пишете?
стринг = строка.
"5134433 - 6000... 31.5.2022, 23:08 Gendalfgreen возвращает nil
while f ~= 100 do
local xm, level ... 1.6.2022, 15:18 DarkMaster ...
и зачем вы передали текст "ttt" вмес... 1.6.2022, 15:32 Gendalfgreen ув. DarkMaster если не сложно поправьте меня ....... 1.6.2022, 15:55 Madeus while f ~= 100 do
local xm, level = mouse_pos... 1.6.2022, 16:37 DarkMaster Вы раскомменчивали строки? 1.6.2022, 20:14 Gendalfgreen нет 1.6.2022, 22:58 DarkMaster Попробуйте. 2.6.2022, 14:03 Gendalfgreen while f ~= 100 do
local xm, level = mouse_pos()
... 2.6.2022, 16:23 DarkMaster Ну собственно все, что я могу сказать - ttt у вас ... 2.6.2022, 16:31 Gendalfgreen Это я поспешил((. Еще раз проверил работает только... 2.6.2022, 16:58 DarkMaster в скобки возьмите внутри стринга
local stat = find... 2.6.2022, 17:18 Gendalfgreen ООООООооо ЗАРАБОТАЛО!!!! буду еще... 2.6.2022, 23:14 DarkMaster Господа, если есть желающие заняться вики - я орга... 14.8.2023, 18:10 Madeus
Господа, если есть желающие заняться вики - я орг... 15.8.2023, 11:22 DarkMaster Может занять некоторое время, акк для тебя запроси... 15.8.2023, 17:21 Madeus В общем методом проб и ошибок проверил как работае... 20.8.2023, 0:21 DarkMaster
Чет сомнения у меня. Дело в том, что луа и старый... 20.8.2023, 18:30 Madeus
Чет сомнения у меня. Дело в том, что луа и старый... 27.8.2023, 12:17  Zenogiasu
Я не удачный пример выбрал для теста, deviation р... 4.10.2023, 12:44 nykep я использовал findcolor либо с нулевой погрешность... 21.8.2023, 14:28
8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0
|
|