|
Findcolor, поиск цвета |
|
|
portos |
6.12.2024, 15:57
|

   
Apprentice
Сообщений: 195
Регистрация: 6.12.2014 Группа: Пользователи Наличность: 0
Пользователь №: 17.157

|
Код --lua -- Пример 2 -- Использование отклонения цвета - deviation local c = findcolor (87, 130 , 1883, 1015 , 1, 1, [[('7582836')]], '%arr', 2)
if c then -- если найден нужный цвет move (arr[1][1], arr[1][2]) -- переместить курсор мыши end
подскажите , как тут применить while (ждать появления цвета) Сообщение отредактировал DarkMaster - 6.12.2024, 16:45
|
|
|
|
DarkMaster |
6.12.2024, 16:46
|
          
Модератор UOPilot
Сообщений: 9.752
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29833
Пользователь №: 11.279

|
Код --lua -- Пример 2 -- Использование отклонения цвета - deviation while 1 do local c = findcolor (87, 130 , 1883, 1015 , 1, 1, [[('7582836')]], '%arr', 2)
if c then -- если найден нужный цвет move (arr[1][1], arr[1][2]) -- переместить курсор мыши end wait(100) -- для разгрузки камня end
подскажите , как тут применить while (ждать появления цвета)
что-то в этом роде. точнее сложно ибо код несколько расходится с описанием задачи выше.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
nykep |
7.12.2024, 1:36
|
   
Apprentice
Сообщений: 263
Регистрация: 1.9.2012 Группа: Пользователи Наличность: 1807
Пользователь №: 15.246
Возраст: 25

|
я так понимаю квадрат всегда в одном месте, тогда если он абсолютно монотонный, в область поиска просто задаем ту область где он находится, потом берем десятичное значение цвета этого квадрата, отнимаем единичку, прибавляем единичку и переводим эти значения в RGB, в зависимости от того какой канал меняется пишем диапазон цветов в findcolor, их придется использовать два. Вот пример на красном квадрате Код --lua while 1 do local a = findcolor (603, 171, 739, 306, "(R(0-236)+G(0-255)+B(0-255))", '%ar', 2, 1, 0) if a ~= nil then move (ar[1][1], ar[1][2]) break end local b = findcolor (603, 171, 739, 306, "(R(238-255)+G(0-255)+B(0-255))", '%br', 2, 1, 0) if b ~= nil then move (br[1][1], br[1][2]) break end end
как видите в красном канале отсутствует число 237, это исключает из поиска цвет квадрата. Может я че-то начудил, но у меня в пэинте вроде работает.
|
|
|
|
nykep |
7.12.2024, 1:50
|
   
Apprentice
Сообщений: 263
Регистрация: 1.9.2012 Группа: Пользователи Наличность: 1807
Пользователь №: 15.246
Возраст: 25

|
Цитата(DarkMaster @ 7.12.2024, 1:47)  можно было задать не по каналам, а просто диапазонами десятичными.
я пытался, но он находил только некоторые цвета, короче не работало вот так я записывал, может здесь ошибка? Код --lua while 1 do local a = findcolor (567, 132, 676, 241, "(0-2366700)", '%ar', 2, 1, 0) if a ~= nil then move (ar[1][1], ar[1][2]) break end local b = findcolor (567, 132, 676, 241, "(2366702-16777215)", '%br', 2, 1, 0) if b ~= nil then move (br[1][1], br[1][2]) break end end
|
|
|
|
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0
|
|