|
|
|
Сбор Лута |
|
|
Drofa |
27.1.2011, 1:03
|
Registred
Сообщений: 6
Регистрация: 26.1.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.400
Возраст: 40
|
Может кто знает почему так происходит?
Написал следующий скрипт: set $a 0 while $a = 0 set $a findcolor (336, 156 476, 206 1 1 14079 %arr 2) end_while Move %arr [1 1], %arr [1 2] Left %arr [1 1], %arr [1 2]
Ищет цвет, когда находит щелкает в тамже... но что то щелкает совсем в другом месте ((( кудато ввех
После изменил set $a 0 while $a = 0 set $a findcolor (336, 156 476, 206 1 1 14079 %arr 2) set $a findcolor (336, 156 476, 206 1 1 14079 %arr 1) end_while Move %arr [1 1], %arr [1 2] Left %arr [1 1], %arr [1 2]
Проверил в фотошопе, находит, щелкает... а в игрушке не находит ((( Даже пробовал задавать маленькую область, прям там где лут... и разбивать по областям и сразу 3 скрипта запускать.. тоже безрезультатно. Скрипт взял с форума (первый его вариант)
|
|
|
|
Drofa |
27.1.2011, 12:05
|
Registred
Сообщений: 6
Регистрация: 26.1.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.400
Возраст: 40
|
Цитата(DarkMaster @ 27.1.2011, 1:14) https://forum.uokit.com/index.php?showtopic=20548 Раздел поиск цвета, пункт "Г". Так же хочу заметить, что смещение иногда несколько иное, чем на приведенном там рисунке. Так же можно поэкспериментировать поставив не относительные, а абсолютные координаты. Спасбо за быстрый ответ! (IMG: style_emoticons/default/smile.gif) Изменил. set #deltaX 330 set #deltaY 150 set $a 0 while $a = 0 set $a findcolor (330, 150 479, 297 1 1 6517361 %arr 2) end_while set #x %arr [1 1] + #deltaX set #y %arr [1 2] + #deltaY Move #x, #y wait 200 left #x, #y Картинка меняется и искомые точки находятся очень редко... К томуже ругается на седьмую строчку "Проверьте правильность скрипта" время от времени (подозреваю, если находит точки в оприделенной области). В программировании не силен (IMG: style_emoticons/default/dry.gif)
|
|
|
|
DarkMaster |
27.1.2011, 12:43
|
Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27737
Пользователь №: 11.279
|
set $a findcolor (330, 150 479, 297 1 1 6517361 %arr 2) пробовали не 2, а первый метод поиска цвета? 2 для линейки в основном делался. Седьмая строка эта?: set #x %arr [1 1] + #deltaX Тут точно нет ошибки. Возможно вы опечатались либо в этой строке либо при объявлении #deltaX . Цитата подозреваю, если находит точки в оприделенной области раз доходит до set #x %arr [1 1] + #deltaX , значит точки находятся. Цитата Картинка меняется и искомые точки находятся очень редко А точный цвет всегда присутствует? Любое изменение оттенка и цвет уже не найдет. Проверьте правильность указанного цвета. Вам может помочь специальная программа https://forum.uokit.com/index.php?showtopic=20545Сообщение отредактировал DarkMaster - 27.1.2011, 12:44
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Drofa |
27.1.2011, 15:52
|
Registred
Сообщений: 6
Регистрация: 26.1.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.400
Возраст: 40
|
Цитата set $a findcolor (330, 150 479, 297 1 1 6517361 %arr 2) пробовали не 2, а первый метод поиска цвета? 2 для линейки в основном делался.
первого метода не знаю... Цитата Седьмая строка эта?: set #x %arr [1 1] + #deltaX Тут точно нет ошибки. Возможно вы опечатались либо в этой строке либо при объявлении #deltaX . В ней ошибки нет, находит цвет, кликает, а в оприделенный момент вылетает ошибка... Скрипт скопировал как есть... Цитата А точный цвет всегда присутствует? Любое изменение оттенка и цвет уже не найдет. Проверьте правильность указанного цвета. Вам может помочь специальная программа https://forum.uokit.com/index.php?showtopic=20545Точный цвет не всегда присутвует, это усложняет поиск.... объект анимирован и меняет оттенки.
|
|
|
|
DarkMaster |
27.1.2011, 16:16
|
Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27737
Пользователь №: 11.279
|
Цитата первого метода не знаю...
я даже жирным выделил специально =) там в конце строки "2" стоит. на 1 попробуй сменить. Цитата в оприделенный момент вылетает ошибка... надо понять этот момент. попробуем логи сделать может что-то прояснится. set #dev 1 if #dev = 1 set logging clear set logging close set logging open 1 -6 1024 150 end_ifset #deltaX 330 set #deltaY 150 set $a 0 while $a = 0 set $a findcolor (330, 150 479, 297 1 1 6517361 %arr 2) end_while set logging size (%arr) set logging %arr [1 1] set logging #deltaX set logging %arr [1 1] + #deltaX wait 100 // Внимание! Попробуй с задержкой.set #x %arr [1 1] + #deltaX set #y %arr [1 2] + #deltaY Move #x, #y wait 200 left #x, #y После выпадения ошибки последних строк 10 лога сюда скинь. Сообщение отредактировал DarkMaster - 27.1.2011, 16:17
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Drofa |
27.1.2011, 18:45
|
Registred
Сообщений: 6
Регистрация: 26.1.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.400
Возраст: 40
|
Первый метод не пробовал... Благодарю за программу, очень помогла, ее цвет более стабильно находится!!! Лог: 21:20:39 3 (Поиск цвета лута.txt): 9 21:20:39 3 (Поиск цвета лута.txt): 61 21:20:39 3 (Поиск цвета лута.txt): 330 21:20:39 3 (Поиск цвета лута.txt): 61 + 330 21:20:49 3 (Поиск цвета лута.txt): 9 21:20:49 3 (Поиск цвета лута.txt): 68 21:20:49 3 (Поиск цвета лута.txt): 330 21:20:49 3 (Поиск цвета лута.txt): 68 + 330 21:20:53 3 (Поиск цвета лута.txt): 9 21:20:53 3 (Поиск цвета лута.txt): 68 21:20:53 3 (Поиск цвета лута.txt): 330 21:20:53 3 (Поиск цвета лута.txt): 68 + 330 21:21:21 3 (Поиск цвета лута.txt): 0 Хотел еще спросить, но решил перемещением курсора на -10, -10 (когда щелчек по кнопке происходит, получается что кнопки уже нет а щелчек еще работает, и кликает по ландшафту) (IMG: style_emoticons/default/smile.gif) Поставил ссылку на начало скрипта, при условии если %arr будет равен нулю, мож поможет =)
|
|
|
|
Alexander_Dream |
11.2.2011, 22:31
|
Registred
Сообщений: 5
Регистрация: 11.2.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.438
Возраст: 18
|
Цитата(Zeleax @ 11.2.2011, 21:07) Так и делал: перемещал курсор мышки по горизонтали с шагом, потом на ряд ниже и т.п. Для каждого положения курсора искал цвет полоски в небольшом квадрате вокруг курсора мышки с помощью findcolor. При нахождении - прерывал цикл и кликал ниже и правее точки нахождения полоски (для моей игры). Шаг перемещения по горизонтали и вертикали подбирается опытным путем
пример своего скрипта с коментариями можешь выложишь? чтобы было от чего отталкиваться и на основе чего делать! по уровню не способен такое реализовать.. справка пилота чертовки слабовата... да и весь скрипт на left,it,it_not,goto нужны примеры хотяб что-бы понять...
|
|
|
|
Zeleax |
11.2.2011, 23:11
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
Примерно так: Тут код функции поиска моба по цвету полоски, которая появляется над ним при наведении мышки Немного упростил код, чтоб не путать... Код :checkWithMouse // Процедура: Водит мышкой по полю вокруг перса, пытаясь найти подсвеченную рамку моба и кликаем на нём // #overX1, #overX2, #overY1, #overY2, #overStep заданы в основной части скрипта set linedelay 20 // уменьшил задержку между командами скрипта
set #startX #overX1 // Задаем углы области поиска set #startY #overY1 set #endY #overY2
for #x #startX #overX2 #overStepX // изменение координаты X курсора for #y #startY #overY2 #overStepY // изменение координаты Y курсора move #x #y // двигаем мышку в полученную точку set $a findcolor ( #overX1, #overY1 #overX2, #overY2 1 1 255 %arr 2 ) // ищем красную полоску жизни над мобом (цвет 255) во всей области поиска if $a <> 0 // есть такой цвет найден kleft #x, #y // то кликаем в найденной точке (там где мышка находится) break 2 // прерываем 2 уровня цикла for end_if end_for end_for return // выходим из процедуры
--------------------
|
|
|
|
Alexander_Dream |
12.2.2011, 15:42
|
Registred
Сообщений: 5
Регистрация: 11.2.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.438
Возраст: 18
|
Цитата(Zeleax @ 11.2.2011, 23:11) Примерно так: Тут код функции поиска моба по цвету полоски, которая появляется над ним при наведении мышки Немного упростил код, чтоб не путать... Код :checkWithMouse // Процедура: Водит мышкой по полю вокруг перса, пытаясь найти подсвеченную рамку моба и кликаем на нём // #overX1, #overX2, #overY1, #overY2, #overStep заданы в основной части скрипта set linedelay 20 // уменьшил задержку между командами скрипта
set #startX #overX1 // Задаем углы области поиска set #startY #overY1 set #endY #overY2
for #x #startX #overX2 #overStepX // изменение координаты X курсора for #y #startY #overY2 #overStepY // изменение координаты Y курсора move #x #y // двигаем мышку в полученную точку set $a findcolor ( #overX1, #overY1 #overX2, #overY2 1 1 255 %arr 2 ) // ищем красную полоску жизни над мобом (цвет 255) во всей области поиска if $a <> 0 // есть такой цвет найден kleft #x, #y // то кликаем в найденной точке (там где мышка находится) break 2 // прерываем 2 уровня цикла for end_if end_for end_for return // выходим из процедуры чертовски много непонятного для меня, но постараюсь разобраться и поломать голову, главное есть теперь от чего отталкиваться!! СПАСИБО! идея сама крутая, у меня на карте тоже монстры пачками и над нами зеленые полоски, в ручную бил по 3-4 пачки но так-как при нападении бота на несколько пачек вокруг него только 5мобов а выделенный автоматический шестой может ожидать за ними и не подойдет пока ближайших не убью, а значит и бот бить не начнет так-как пытается бить того до которого достать не может... бот стопориться, пришлось бить по 1группе. Так- что если разберусь как водить по всему экрану в поисках подсвечивающегос трупа, применю еще и к мобам вокруг перса! еще раз спс!
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|