|
Преобразование Цветов Dec -> Rgb (hex), Нахождение Диапазонов |
|
|
Andrei777 |
22.11.2012, 0:01
|
Neophyte
Сообщений: 25
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.485
Возраст: 30
|
Окно привязываю (и контрлА жмакаю, и в разделе W выбираю линейку) Запускал от админа
Макрос
:start
set $a 0 set $a findcolor (1167 78 1195 105 1 1 (16713215) %ResultArray 2 1 100) log $a if $a > 0 send 3 //(стоит скилл атаки) else send escape end_if
goto start
1:00:20 5 (Сброс таргета.txt, 4): 0 1:00:21 5 (Сброс таргета.txt, 4): 0 1:00:21 5 (Сброс таргета.txt, 4): 0 1:00:22 5 (Сброс таргета.txt, 4): 0 1:00:23 5 (Сброс таргета.txt, 4): 0 1:00:24 5 (Сброс таргета.txt, 4): 0 1:00:25 5 (Сброс таргета.txt, 4): 0 1:00:25 5 (Сброс таргета.txt, 4): 0 1:00:26 5 (Сброс таргета.txt, 4): 0 1:00:27 5 (Сброс таргета.txt, 4): 0 1:00:28 5 (Сброс таргета.txt, 4): 0 1:00:28 5 (Сброс таргета.txt, 4): 0 1:00:29 5 (Сброс таргета.txt, 4): 0 1:00:30 5 (Сброс таргета.txt, 4): 0 1:00:31 5 (Сброс таргета.txt, 4): 0 1:00:31 5 (Сброс таргета.txt, 4): 0 1:00:32 5 (Сброс таргета.txt, 4): 0 1:00:33 5 (Сброс таргета.txt, 4): 0 1:00:34 5 (Сброс таргета.txt, 4): 0 1:00:35 5 (Сброс таргета.txt, 4): 0 1:00:35 5 (Сброс таргета.txt, 4): 0 1:00:36 5 (Сброс таргета.txt, 4): 0 1:00:37 5 (Сброс таргета.txt, 4): 0 1:00:38 5 (Сброс таргета.txt, 4): 0 1:00:38 5 (Сброс таргета.txt, 4): 0 1:00:39 5 (Сброс таргета.txt, 4): 0 1:00:40 5 (Сброс таргета.txt, 4): 0 1:00:41 5 (Сброс таргета.txt, 4): 0
|
|
|
|
Andrei777 |
22.11.2012, 12:40
|
Neophyte
Сообщений: 25
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.485
Возраст: 30
|
Смею предположить, почему set $a findcolor (1157 65 1203 112 1 1 (16713215) %ResultArray 2 1 10)
не работает. В данном случае R-255 G-5 B-255, когда система начинает считать -/+10%, а это примерно 25, то получается R(230-280) G(-20-30) B(230-280). А если я правильно начитался, то диапозон может быть только от 0-255, и когда система видет цифры типо 280 или (-20), то работает не корректно. Я пробовал задавать диапозон более 255 на работающем макросе, он сразу переставал работать корректно, всегда выдавал "0"
|
|
|
|
DarkMaster |
22.11.2012, 12:47
|
Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27721
Пользователь №: 11.279
|
Цитата Единственная обнаруженная трабла заключается в том, что на радаре Ла2 есть перекрестие, которое закрывает розовую точку моба, если он находится на нём (есть предположения как это обойти? пробовал задавать более широкий диапозон, не помогло). Возьмите скрипт из шапки и посмотрите какие там бывают цвета при перекрытии крестом, куски все равно должно быть видно. Можно задать два диапазона. Вообще при сложных случаях, которые не поддаются нормальному анализу(например по море с волнами и бликами различить время суток), я задаю очень большой диапазон, потом начинаю уменьшать один из каналов и смотреть на флуд лога(нашел/не нашел). Если все еще находит - еще уменьшаем, нет - чуть увеличиваем. Ну и так с каждым каналом с минимальным и максимальным значениями. Сообщение отредактировал DarkMaster - 22.11.2012, 12:48
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Andrey1984 |
21.9.2016, 23:43
|
Registred
Сообщений: 6
Регистрация: 21.9.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.125
Возраст: 32
|
Здравствуйте, подскажите, как написать скрипт чтобы пилот определял диапазон цвета, например зеленый, он постоянно разный, нужно задать диапазон. Как переписать данный скрипт который находит только четко заданный цвет, чтобы он находил диапазон зеленого цвета? set #xcentr 843 set #ycentr 141
//искомый диапазон цвета(зеленый) set #color1 47367 set #color2 37888
// радиус к которому должен принадлежать таргет set #r 9 set #r2 #r * 2
set #x #xcentr - #r //начальная координата Х set #y #ycentr - #r //начальная координата Y set #xmax #xcentr + #r //конечная координата x set #ymax #ycentr + #r //конечная координата set #a findcolor (#x, #y #xmax, #ymax 1 1 (#color1-#color2) %arr 2 ) if #a > 0 set #a findcolor (#x, #y #xmax, #ymax 1 1 (#color1-#color2) %arr 2 ) goto ddnedaleko else set #x 811 + random(100) set #y 619 + random(240) (нажатие мыши) wait 300 + random (2000) (действие) wait 4800 + random (2000) hint (15 ( сообщение #a )) end_if
|
|
|
|
cirus |
22.9.2016, 2:35
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26706
Пользователь №: 16.971
Возраст: 29
|
|
|
|
|
Andrey1984 |
22.9.2016, 11:00
|
Registred
Сообщений: 6
Регистрация: 21.9.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.125
Возраст: 32
|
Цитата(cirus @ 22.9.2016, 2:35) Спасибо, только мне не понятно как сделать поиск диапазона погрешности цвета в ограниченном квадрате например на радаре игры? // Пример 5 // Использование отклонения цвета - deviation set #d findcolor (403, 138 973, 502 1 1 (3949430) %arr 2 -1 3) // 2 - это тип поиска // -1 - количество найденных пикселей (искать все) // 3 - погрешность оттенка if #d > 0 // если найден нужный цвет kleft %arr [1 1], %arr [1 2] wait 2000 else log Цвет не найден! end_if Вот мне не понятны эти координаты: set #d findcolor (403, 138 973, 502 , -----, если мне нужен поиск в квадрате по координатам 1807, 130 цвет - 3243636 то как это правильно написать в примере 5?
|
|
|
|
Andrey1984 |
22.9.2016, 11:45
|
Registred
Сообщений: 6
Регистрация: 21.9.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.125
Возраст: 32
|
Цитата(cirus @ 22.9.2016, 11:08) Оставляете ваш код как есть, указываете в findcolor погрешность оттенка. Код set #a findcolor (#x, #y #xmax, #ymax 1 1 (#color1-#color2) %arr 2 -1 3) Подбираете нужную погрешность меняя 3. Огромное спасибо! добавил в готовый скрипт -1 3 и все заработало! Супер! (IMG: style_emoticons/default/cool.gif) я год уже как мучился, давно надо было тут вопрос задать (IMG: style_emoticons/default/rolleyes.gif)
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|