|  | 
	
	
	
	
	 |  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.766
 Регистрация: 2.12.2008
 Группа: Супермодераторы
 Наличность: 30007
 Пользователь №: 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
 Сообщений: 264
 Регистрация: 1.9.2012
 Группа: Пользователи
 Наличность: 1821
 Пользователь №: 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
 Сообщений: 264
 Регистрация: 1.9.2012
 Группа: Пользователи
 Наличность: 1821
 Пользователь №: 15.246
 Возраст: 25
 
 
 
  
 | Цитата(DarkMaster @ 7.12.2024, 1:47)  можно было задать не по каналам, а просто диапазонами десятичными.
 
 я пытался, но он находил только некоторые цвета, короче не работало вот так я записывал, может здесь ошибка? Код --luawhile 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
 |  
		|  |  |  
	|  |  
	1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0) Пользователей: 0  |  |