Здравствуйте, гость ( Вход | Регистрация )

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> Преобразование Цветов Dec -> Rgb (hex), Нахождение Диапазонов
Andrei777
сообщение 21.11.2012, 23:33
Сообщение #21


**

Neophyte
Сообщений: 25
Регистрация: 19.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.485
Возраст: 30



Вставил в макрос, получилось:

:start

set $a 0
set $a findcolor (1167 78 1195 105 1 1 (16713215) %ResultArray 2 1 10)
if $a > 0
send 3 //(стоит скилл атаки)
else
send escape
end_if

goto start

Сбрасывает таргет всё равно. Пробовал задать и 30%, 50% и 100, сбрасывает. Область указал верно (координаты левой верхней и правой нижней).
А задача банальна, что бы чар сбрасывал таргеты находящиеся за пределами указанной области, и оставлял таргет, если он находится в её границах.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 21.11.2012, 23:50
Сообщение #22


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



А окно привязываете? При 100 ну никак не должно сбрасывать. Сделайте log $a. Он походу ошибку возвращает.

Запуск от админа?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrei777
сообщение 22.11.2012, 0:01
Сообщение #23


**

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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.11.2012, 0:32
Сообщение #24


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



чет я прикола не пойму. у меня вообще ничего не ищет... завтра буду разбираться. сейчас спать. попробуй версию постарше, может что-то отломали. На 2.31 и 2.32 завести не смог. Либо я сильно туплю и тут правда есть ошибка.

set $a 0
set $a findcolor (187, 19 341, 110 1 1 (16777215) %arr 2 1)
log $a

работает. ваш код не работает. ниче не понимаю. Но % отклонения так и не смог завести. Попробуйте диапазоны с разложением на каналы, как я писал. Но сам код с нуля напишите. Может где-то букву русскую пробили или еще что-нибудь подобное.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.11.2012, 8:33
Сообщение #25


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



А все довольно просто: похоже deviation в findcolor не работает...
Погонял у себя - ноль реакции. Что со значком процента (когда оно просто игнорится), что без. Так что нужно указывать в виде диапазона

Сообщение отредактировал Zeleax - 22.11.2012, 8:35


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.11.2012, 11:35
Сообщение #26


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Дык я в его код вставлял белый цвет, искал в окне пилота - не находит, даже если убрать deviation.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrei777
сообщение 22.11.2012, 12:25
Сообщение #27


**

Neophyte
Сообщений: 25
Регистрация: 19.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.485
Возраст: 30



- Попробуйте диапазоны с разложением на каналы, как я писал.

С разложением макрос

:start

set $a 0
set $a findcolor (1157 65 1203 112 1 1 (R(180-255)+G(0-120)+B(180-255)) %ResultArray 2 1)
log $a
if $a > 0
send 3 //(стоит скилл атаки)
else
send escape
end_if

goto start

Работает. Диапозон задавал методом подбора, исходя из вычесленного ранее R-255 G-5 B-255, т.е. постепенно увеличивал диапозон по этим трем показателям. Единственная обнаруженная трабла заключается в том, что на радаре Ла2 есть перекрестие, которое закрывает розовую точку моба, если он находится на нём (есть предположения как это обойти? пробовал задавать более широкий диапозон, не помогло). Во всех остальных случаях работает корректно.

Финколор с процентами по прежнему не работает (набрал макрос заново ручками).

:start

set $a 0
set $a findcolor (1157 65 1203 112 1 1 (16713215) %ResultArray 2 1 100)
log $a
if $a > 0
send 3 //(стоит скилл атаки)
else
send escape
end_if

goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrei777
сообщение 22.11.2012, 12:40
Сообщение #28


**

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"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.11.2012, 12:47
Сообщение #29


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
Единственная обнаруженная трабла заключается в том, что на радаре Ла2 есть перекрестие, которое закрывает розовую точку моба, если он находится на нём (есть предположения как это обойти? пробовал задавать более широкий диапозон, не помогло).

Возьмите скрипт из шапки и посмотрите какие там бывают цвета при перекрытии крестом, куски все равно должно быть видно. Можно задать два диапазона.
Вообще при сложных случаях, которые не поддаются нормальному анализу(например по море с волнами и бликами различить время суток), я задаю очень большой диапазон, потом начинаю уменьшать один из каналов и смотреть на флуд лога(нашел/не нашел). Если все еще находит - еще уменьшаем, нет - чуть увеличиваем. Ну и так с каждым каналом с минимальным и максимальным значениями.

Сообщение отредактировал DarkMaster - 22.11.2012, 12:48


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrei777
сообщение 22.11.2012, 14:11
Сообщение #30


**

Neophyte
Сообщений: 25
Регистрация: 19.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.485
Возраст: 30



Именно так я и задаю диапозон - играя с его размером в каналах. На это нужно много времени, так что займусь вечером.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 16.1.2013, 22:47
Сообщение #31


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Обновил версию Excel-файла- поправил ссылки, оформление


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
MaXiS
сообщение 15.9.2015, 22:32
Сообщение #32


***

Novice
Сообщений: 60
Регистрация: 22.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.498
Возраст: 32



Функция погрешности в % работает. Проверил на v2.35.
set $a findcolor (513 642 513 642 1 1 (11599871) %ResultArray 2 1 5)

Это формула для экселя в 1м посту для определения среднего значения в 10 значном цвете.
=$A$2-($A$2-$A$1)/2
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrey1984
сообщение 21.9.2016, 23:43
Сообщение #33


*

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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 22.9.2016, 2:35
Сообщение #34


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



http://uopilot.tati.pro/index.php?title=Findcolor
Читайте про deviation, смотрите пример 5.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrey1984
сообщение 22.9.2016, 11:00
Сообщение #35


*

Registred
Сообщений: 6
Регистрация: 21.9.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.125
Возраст: 32



Цитата(cirus @ 22.9.2016, 2:35) *

http://uopilot.tati.pro/index.php?title=Findcolor
Читайте про deviation, смотрите пример 5.

Спасибо, только мне не понятно как сделать поиск диапазона погрешности цвета в ограниченном квадрате например на радаре игры? // Пример 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?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 22.9.2016, 11:08
Сообщение #36


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Оставляете ваш код как есть, указываете в findcolor погрешность оттенка.
Код
set #a findcolor (#x, #y #xmax, #ymax 1 1 (#color1-#color2) %arr 2 -1 3)

Подбираете нужную погрешность меняя 3.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrey1984
сообщение 22.9.2016, 11:26
Сообщение #37


*

Registred
Сообщений: 6
Регистрация: 21.9.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.125
Возраст: 32



Я хочу чтобы по радару именно в ограниченном по пикселям квадрате находился определенный цвет и чтобы после обнаружения этого оттенка я мог выбрать любое действие. Вообщем я хочу чтобы ориентируясь по игровому радару, пилот нашел цвет в определенной области например стена, понятно что туда идти персонажу нет смысла где есть препятствие, пилот увидел цвет этого препятствия и развернул персонажа.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Andrey1984
сообщение 22.9.2016, 11:45
Сообщение #38


*

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)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 20:55
Designed by Nickostyle