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

|
"Коллеги", доброго дня! Прежде всего благодарю автора темы и макроса на кач, так же тех кто его доработал и поделился информацией для самостоятельной доработки. Перс качается "сам", я же с удовольствием PVPшусь (IMG: style_emoticons/default/smile.gif) Авто кач практически идеален, осталось освоить один функционал - это проверка на то, находится ли моб в нужной нам области. Много раз прочиал переписку в этой теме по этому поводу, много вариантов юзал, но результата не достиг. Короткий макрос (решил проверить до вставки в основной макрос): :start set $a 0 set $a findcolor (1173, 82 1189, 96 1 1 13831124 %arr 2) if $a > 0 send 3 (стоит скилл атаки) else send escape end_if goto start Сбрасывает таргет во всех случаях кроме тех, когда моб находится в самом центре радара. Помогите пожалуйста, что делаю не так?
|
|
|
|
instinct |
19.11.2012, 22:27
|
 
Neophyte
Сообщений: 13
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.487
Возраст: 23

|
у меня вот такой код Цитата
set #mobMax 1580167 // color HP max set #xmobMax 1038 //x cor set #ymobMax 29 //y cor set #loop 1 //loop mob set #loopMAX 5 //------------------------------------------------------------------------------------ set %mob [1] F2 //nexttarget set %attack [1] F1 // attack mob set %attack [2] F3 //set %attack [3] F7 set $pickup F12 // pickup drop set #pickup 2 // number drop set #mobColorHP 1580168 // color HP min set #xMobHP 896 //x cor set #yMobHP 29 //y cor set #mobsize size (%mob) //colishestvo mobov set #attacksize size (%attack) //coloshestvo attack set #nMob 1 set #nAttack 1 :start while_not #xMobHP, #yMobHP #mobColorHP // Пока не увидим хп, ищем моба send %mob [#nMob] if #nMob < #mobsize set #nMob #nMob + 1 else set #nMob 1 end_if wait 100 // get color #c #xMobHP, #yMobHP // msg ищем #mobColorHP нашли #c end_while
set #nMob 1
while #xMobHP, #yMobHP #mobColorHP // Пока видим хп - лупим send %attack [#nAttack] if #nAttack < #Attacksize set #nAttack #nAttack + 1 else set #nAttack 1 end_if wait 100 end_while
repeat #pickup // Собираем дроп. send $pickup wait 100 end_repeat
goto start в качестве таргетов по мобам используется некст таргет. Проблема в том что он часто дабл кличет по некст таргету. подскажите как исправить
|
|
|
|
Andrei777 |
20.11.2012, 22:01
|
 
Neophyte
Сообщений: 25
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.485
Возраст: 30

|
Цитата(DarkMaster @ 19.11.2012, 15:08)  Ошибочно задан цвет поиска тагрета на радаре. Он имеет достаточно много оттенкав, в 2.32 появились новые функции для разложения цвета на ргб. Можете посмотреть в прикрепленной теме. Версия свежая сам еще все не протыкал, только прочитал.
В частности поможет параметр deviation.
Доброго вечера! Несколько раз прочитал тему о возможности задавать диапозон цвета в findcolor и задавать процент погрешности. Но в силу моих скудных знание по определению RGB (тоже несколько тем прочел) и задаче диапозона все же не хватает. Пилот определил (нажал Ctrl+A) что код цвета розовой точки моба например 14763233 Объясните, пожалуйста. 1) правильно ли я пишу команду с использованием процента погрешности. В новостях она выглядет set $a FindColor (StartX StartY EndX EndY ShiftX ShiftY (RequiredColor) ResultArray [type [count [deviation]]] [abs]) я вставляю свои данные set $a findcolor (1807 79 1835 103 1 1 (14763233) ResultArray [type [count [deviation]]] [abs]). Правильно ли получилось и куда вставлять сам процент погрешности? 2) Если использовать функционал по указани диапозона, как его определить (при условии что пилот показал 14763233)? Заранее извиняюсь, если задаю глупые вопросы, это от недостатка знаний (IMG: style_emoticons/default/smile.gif)
|
|
|
|
Andrei777 |
20.11.2012, 23:26
|
 
Neophyte
Сообщений: 25
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.485
Возраст: 30

|
Я понимаю, что необходимо задавать диапозон, но как определить этот диапозон, так и не дошло.
По ссылке сходил, спасибо. Теперь больше понимаю, что написано. Получился макрос: :start
set $a 0 set $a findcolor (1807 79 1835 103 1 1 (15941106-15999220) %ResultArray [type2 [count1]]) if $a > 0 send 3 //(стоит скилл атаки) else send escape end_if
goto start
Чар постоянно сбрасывает таргет, видимо из за того, что опять не правильно указал диапазон, а как его правильно определить ну никак не пойму. Прошу научить как его определять или дать ссылку на чтиво, где доходчиво написано - "жмакайте на эти кнопки и будет счастье".
|
|
|
|
DarkMaster |
21.11.2012, 0:21
|
          
Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29736
Пользователь №: 11.279

|
Цитата [type2 [count1]] надо просто: 1 2 никаких скобок, типов и каунтов. Смотрите примеры. Цвета раз https://forum.uokit.com/index.php?showtopic=22116для версии 2.32 два: Добавил функции разложения цвета: 'colorToRed (color)' - возвращает значение красного канала указанного цвета 'colorToGreen (color)' - возвращает значение зеленого канала 'colorToBlue (color)' - возвращает значение синего канала 'colorToRGB (color %arr)' - разлаживает цвет на составляющие в первую строку указанного массива 'colorToRGB (color %arr[x])' - то-же, но в конкретную строку // %arr [ 1 1 ] R, %arr [ 1 2 ] G, %arr [ 1 3 ] B Научил функцию 'minx' и 'maxx' искать минимум и соответственно максимум в массиве. 'minx (%arr [1])' - возвращает минимальное значение конкретной строки массива 'minx (%arr)' - возвращает минимальные значения всех столбцов массива в формате '1|2|3' (для присваивания массива пачкой), т.е. в первую строку нового массива. То же самое про 'maxx', только наоборот.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Andrei777 |
23.11.2012, 23:33
|
 
Neophyte
Сообщений: 25
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.485
Возраст: 30

|
Здравствуйте! (IMG: style_emoticons/default/smile.gif) Я смог реализовать даже больше чем хотел, благодаря вам. Столкнулся с одной проблой. Когда чар по таргету выбирает моба находящегося далеко финколор жмакает эскейп и опять направляет на поиск чара и опять жмакает на таргет того же моба, что и в первый раз, ественно финколор опять отмену жмет. Замкнутый круг. Можно ли сделать ток, что бы юзался некст таргет, потом моб1, некст таргет, потом моб2, некст таргет, моб 3 и опять всё заново некст таргет, моб1, некст таргет, моб2, некст таргет, моб 3. Т.е. система переберает все таргеты пока не найдет находящийся в нужной зоне. Я хочу добиться того, что бы маг стоял на месте и валил всех мобов, находящихся в зоне поражения скила. Вот мой скрипт :start while_not #xMobHP, #yMobHP #mobColorHP // Пока не увидим хп, ищем моба send escape send %mob [#nMob] if #nMob < #mobsize set #nMob #nMob + 1 set $a 0 set $a findcolor (1040 80 1059 95 1 1 (R(180-255)+G(0-120)+B(180-255)) %ResultArray 2 1) if $a <= 0 send escape goto start else end_if else set #nMob 1 end_if wait 500 end_while
|
|
|
|
DarkMaster |
24.11.2012, 0:25
|
          
Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29736
Пользователь №: 11.279

|
Цитата // Кнопка с макросом /targetnext set %mob [1] F1 // Кнопки с макросами на таргет мобов. // При необходимости можно добавлять неограниченное количество. // Пустые кнопки не оставлять! Если не нужно большое количество // таргетов - лишние убрать! set %mob [2] F2 set %mob [3] F3 set %mob [4] F4 натыкай через одну строку макрос на некст таргет да и все. что-то вроде f1 f2 f1 f3 f1 f4
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Andrei777 |
26.11.2012, 7:56
|
 
Neophyte
Сообщений: 25
Регистрация: 19.11.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.485
Возраст: 30

|
Видимо я не совсем доходчиво объяснил вопрос, предложенный Вами вариант не поможет. Если я правильно понимаю логику макроса, то: С начала по нексттаргету mob [1] мы моба не находим (ну нет их рядом), потом по таргету mob [2] конкретного моба находим, но не в зоне "поражения", финколор сбросит таргет и макрос опять начнет работать с начала, т.е. опять нексттаргет mob [1], опять таргет mob [2] того дальнего моба и опять сброс.
Можно ли написать макрос так, что бы после сброса таргета финколором макрос не начинал "щупать" с mob [1], а переходил к mob [3], mob [4]?
|
|
|
|
sBlack |
9.12.2012, 14:44
|
 
Neophyte
Сообщений: 10
Регистрация: 9.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.552

|
Всем привет. помогите пожалуйста доделать скрипт: Код
// Кнопка с макросом /targetnext set %mob [1] F1 // Кнопки с макросами на таргет мобов. // При необходимости можно добавлять неограниченное количество. // Пустые кнопки не оставлять! Если не нужно большое количество // таргетов - лишние убрать! set %mob [2] F2 set %mob [3] F3 set %mob [4] F4 //set %mob [5] F5 //set %mob [6] F6
// Кнопки со скилами атаки. // При необходимости можно добавлять неограниченное количество. // Пустые кнопки не оставлять! Если не нужно большое количество // скилов - лишние убрать! set %attack [1] F7 //set %attack [2] F6 //set %attack [3] F7 //set %attack [4] F8
// Кнопка с подбором лута. //set $pickup F9 // Сколько выпавших итемов будет подбирать. // Если уп557, 28 адет меньше, то все равно будет стоять и тыкать. // set #pickup 4 // Цвет крайней левой точки полоски хп моба. set #mobColorHP 1251183 // Координата крайней левой точки полоски хп моба. set #xMobHP 557 set #yMobHP 28
set #mobsize size (%mob) set #attacksize size (%attack) set #nMob 1 set #nAttack 1 //msg #mobsize #attacksize
:start while_not #xMobHP, #yMobHP #mobColorHP // Пока не увидим хп, ищем моба send %mob [#nMob] if #nMob < #mobsize set #nMob #nMob + 1 else set #nMob 1 end_if wait 500 wait random (1000) // get color #c #xMobHP, #yMobHP // msg ищем #mobColorHP нашли #c end_while
set #nMob 1
while #xMobHP, #yMobHP #mobColorHP // Пока видим хп - лупим send %attack [#nAttack] if #nAttack < #Attacksize set #nAttack #nAttack + 1 else set #nAttack 1 end_if wait 500 wait random (1000) end_while
//------------------Добавлено-------------- while #xMobHP, #yMobHP #mobColorHP set #loop #loop + 1 if #loop > #loopMAX set #loop 1 send {Escape} // ----- Кнопка "Escape" или "Esc" отменяет выбранную цель. goto start end_if wait 500 //--- задержка в цикле влияет на удержание таргета. (на свое усмотрение) end_while //---------------------------------------------
//repeat #pickup // Собираем дроп. // send $pickup // wait 200 // wait random (500) //end_repeat
goto start
Мне нужно чтоб он если не может атаковать цель ( в стену уперся, или дерево, или камень....) то спустя к примеру секунд 5-6 выбирал другой таргет. Можно ли так сделать?
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|