|
Uopilot В Троецарствии, Опыт использования UOPilot для автоматиз |
|
|
Dark Portal |
30.7.2009, 6:54
|
Registred
Сообщений: 4
Регистрация: 29.7.2009 Группа: Пользователи Наличность: 0
Пользователь №: 12.040
|
Цитата можно без особого труда наваять программку которая будет на порядок эффективнее. если знания минимальные, приходится по нескольку часов сидеть над одной проблемой ...
|
|
|
|
Tric |
30.7.2009, 11:28
|
Neophyte
Сообщений: 21
Регистрация: 20.5.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.875
Возраст: 25
|
Цитата(Dark Portal @ 29.7.2009, 23:49) Каким скриптом нужно задать автоматический поиск цели ? И каким скриптом можно сообщить программе о завершении цикла (при определенных условиях) ? И еще, на каком разрешении работает твой скрипт ?
Скрипты все(кроме скрипта на производство продукции) под разрешение 1024Х768 16 bit цвета. Каким скриптом нужно задать автоматический поиск цели ?Хмм, в моем понимании скрипт это собственно одна программа действий для пилота. Соответственно я тут опубликовал скрипт на охоту, который состоит из следующих блоков: переход в режим охоты. Поиск цели и атака(3 вложенных друг в друга цикла) бой Опубликовал также скипт на соместную охоту, это когда один нападает, а остальные вмешиваются и помогают добить(охота на доргосов/шершней убиц/дюжих мишек) он состоит из 2х блоков: слежение за сообщением о нападении "застрельщика" и блок боя такой же как в скрипте охоты И каким скриптом можно сообщить программе о завершении цикла (при определенных условиях) ?Я думаю вопрос поставле не верно. Операторы break и goto позволяют выйти из любого цикла. А еще цикл может быть условным while или просто условие в цикле проверять с помощью if. Состояние окна игры можно проверить единственным образом- по цвету пикселя специфической области для данного состояния. Для боевого режима характерно наличие рамки, для охоты полос прокрутки, в других режимах есть другие специфичные только для них характерные элементы или их состояния. Вот точку на таких элементах мы и проверяем, чтобы определить перешли ли мы в нужный режим или шляемся невесть где
|
|
|
|
Tric |
30.7.2009, 14:36
|
Neophyte
Сообщений: 21
Регистрация: 20.5.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.875
Возраст: 25
|
Так как раз за разом мне задают одни и теже вопросы по настройке скрипта охоты то попробую обобщить выдаваемые мной рекомендации в этом посте чтоб они были доступны для всех. И так ваши действия. - Копируете последнюю версию скрипт для охоты, и вставляете его в свой пилот.
- Переводите клиент игры в полноэкранный режим (f11) и сворачиваете чат(f7 2 раза)(пожно и не делать но тогда у вас область поиска будет меньше и зону охоты задавать будите сами (IMG:style_emoticons/default/smile.gif))
- Привезываете UOPilot к окну Троецарствия нажав Ctrl-A над окном игры
- Выставляем горячие клавиши остановки скрипта на закладке "еще" Pilot'a , не забываем так же поставить галку "включить горячие клавиши"(а то мало ли чего)
- Вот теперь можно пускать скрипт
Теперь возможные распространенные проблемы: В: перешел в охоту, находит цель но не нападает О: как выяснилось даже установка идентичного разрешения и глубины цвета не делает скрипты 100% переносимыми(у меня между моими виртуальными машинами скрипты без проблем копируются, но не всем так везет (IMG: style_emoticons/default/sad.gif)) Это значит что у вас не совпадает цвет вот в этом условии с тем что у меня if 399, 118 3243412 //проверка не ткнули мы еще на жертву, можно совместить с проверкой нужный ли это нам объект охоты //тыкаем чтоб атаковать по кнопке атака Move 409, 178 abs KLeft 409, 178 abs break 2 end_if Вам надо вставить свои координаты и свой цвет вместо 399, 118 3243412 . Для получения нужных координат и цвета переходим в охоту, выделяем моба, и ждем 10 секунд. Кнопка "Атака" (Пиктограмма Топор) сначала будет мерцать а потом просто гореть ярко, вот теперь наводим курсор на лезвие топора и получаем цвет и координаты(у лезвия самый стабильный цвет) ЕЩЕ РАЗ ОБРАЩАЮ ВНИМАНИЕ!!!! ВО ВСЕХ УСЛОВИЯХ (if, while ) ИСПОЛЬЗУЮТСЯ ОТНОСИТЕЛЬНЫЕ КООрдинаты( левая кнопка с координатами) В: На цель напал но поиск цели не прекратил! О: Не срабатывают вот эти условия while_not 370, 74 9222895 //проверка наличия рамки боевого режима по одной из точек на ней и еще вот тут точно такое жеусловие if 370, 74 9222895// на случай если в момент паузы была атака или случайно дважды кликнули при поиске цели(детектор боевого режима короче, идентифицируем по наличию рамки боя) break 2 end_if для замены координат и цвета на свои нападаем на моба(лучше 1 ого уровня) подводим мышь на рамку окружающую экран боя и определяем относительные координаты и цвет, вот ими то и заменяем координаты и цвет в этих условиях В: Моба добил, но продолжает долбить по кнопкам ударов О: Не срабатывают вот это условие блока боя while_not 464, 215 1205 здесь координаты и цвет точки из надписи на кнопке выход в сообщении"ВЫ ПОБЕДИЛИ"/"ВЫ ПРОИГРАЛИ" Определите и вставте свои координаты и цвет. Пока вроде все, буду дополнять помере появления новой информации
|
|
|
|
Tric |
16.9.2009, 0:50
|
Neophyte
Сообщений: 21
Регистрация: 20.5.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.875
Возраст: 25
|
Вот скриптик с воскрешением для охотя на поляне мастерства(Артания), цель не только опыт и аповые деньги мульта, но и обереги неофита. Условия использования те же. Сдесь применяються 3 макроса: первый, FromPolanaToLager.mac переходит в режим локи и переходит в лагерь новобранцев Второй, FromLagerToPolana.mac возвращает мульта в поляну матерства, Трейтий, WeaponRepair_Polana.mac макрос ремонтирует оружие (IMG: style_emoticons/default/smile.gif) Но для начала можно обойтись без него. Эхх жаль файлы приложить не могу (IMG: style_emoticons/default/sad.gif) Код set #deadcount 0 set #weaponLim 14 :begin Move 79, 45 abs KLeft 79, 45 abs wait 500 //??????? ? ????? Move 883, 87 abs double_KLeft 883, 87 abs wait 6000 set #gotoBegin 0 set #attackFiled 0 //attempt to attack while_not 323, 73 9223919 set #errorclickCounter 0 for #i 200 850 120 //turn to south/west/east Move 226, 202 abs KLeft 226, 202 abs wait 1000 Move 745, 245 abs KLeft 745, 245 abs set #im #i - 35 set #ip #i + 35 for #k 250 680 30 if 370, 74 9222895 break 2 end_if if_not 886, 110 3080 Move 200, 46 abs KLeft 200, 46 abs wait 100 KLeft 199, 46 abs wait 100 Move 79, 45 abs KLeft 79, 45 abs wait 500 set #errorclickCounter #errorclickCounter + 1 if #errorclickCounter > 3 set #gotoBegin 1 break 3 end_if continue end_if set #errorclickCounter 0 Move #im, #k abs KLeft #im, #k abs Move #i, #k abs KLeft #i, #k abs Move #ip, #k abs KLeft #ip, #k abs if 399, 118 3243412 Move 409, 178 abs KLeft 409, 178 abs break 2 end_if end_for end_for wait 10000 set #attackFiled #attackFiled + 1 if #attackFiled > 3 CALL ressurect goto begin end_if end_while if #gotoBegin = 1 goto begin end_if //battle set #attackFiled 0 set #counter 0 while_not 553, 251 165 Move 449, 403 abs double_KLeft 449, 403 abs wait 500 Move 405, 407 abs double_KLeft 405, 407 abs set #counter #counter + 1 Wait 5000 end_while //ressurection wait 3000 if 627, 226 1205 CALL ressurect set #deadcount #deadcount + 1 wait 3000 if_not #deadcount < #weaponLim macro_load "c:\macros\WeaponRepair_Polana.mac" macro_play 1 set #weaponLim #weaponLim - 1 if #weaponLim < 2 goto end end_if end_if else set #timeot #counter * 1000 wait #timeot end_if goto begin :end end_script
proc ressurect macro_load "c:\macros\FromPolanaToLager.mac" macro_play 1 if 781, 278 181 Move 745, 245 abs double_KLeft 745 245 abs wait 500 Move 812, 317 abs KLeft 812, 317 abs wait 15000 Move 745, 245 abs double_KLeft 745 245 abs wait 500 end_if macro_load "c:\macros\FromLagerToPolana.mac" macro_play 1 end_proc
А вот скриптомакросное решение которое позволяет зарегить мульта и запустить макрос, а через 4 часа забрать готовенького в городе макросы применяються для взятия и сдачи квеста, перехода между локациями, использования предметов, тоесть те действия где без проверки условия можно обойтись Код if_not 16, 668 2179385 MOVE 772, 606 ABS LEFT 772, 606 ABS end_if while_not 16, 668 2179385 sendex {f7} wait 500 end_while macro_load "c:\macros\introduction.mac" macro_play 1 wait 3000 macro_load "c:\macros\gotocity.mac" macro_play 1 wait 5000 for #i 0 50 1 CALL ohota end_for goto end macro_load "c:\macros\SdachaShakalov.mac" macro_play 1 wait 5000 for #i 0 50 1 CALL ohota end_for macro_load "c:\macros\SdachaMurovjov.mac" macro_play 1 wait 5000 for #i 0 50 1 CALL ohota end_for macro_load "c:\macros\SdachaTrutney.mac" macro_play 1 wait 5000 :end for #i 0 700 1 CALL ohota end_for end_script
proc ohota :begin //??????? ? ????? Move 79, 45 abs KLeft 79, 45 abs WAIT 500 Move 883, 87 abs double_KLeft 883, 87 abs wait 6000 set #errorclickCounter 0 //attempt to attack while_not 370, 74 9222895 // if_not 621, 111 206 for #i 400 650 100 //turn to south/west/east Move 200, 168 KLeft 200, 168 wait 1000 Move 737, 244 abs KLeft 737, 244 abs set #im #i - 35 set #ip #i + 35 for #k 200 600 20 if_not 885, 110 3080 Move 230, 45 abs KLeft 230, 45 abs wait 500 Move 79, 45 abs KLeft 79, 45 abs wait 500 set #errorclickCounter #errorclickCounter + 1 if #errorclickCounter > 3 goto begin end_if continue end_if set #errorclickCounter 0 Move #im, #k abs KLeft #im, #k abs Move #i, #k abs KLeft #i, #k abs Move #ip, #k abs KLeft #ip, #k abs if 399, 118 3243412 Move 409, 178 abs KLeft 409, 178 abs break 2 end_if if 370, 74 9222895 break 2 end_if end_for end_for wait 10000 //else //goto begin //end_if end_while //battle set #counter 0 while_not 534, 249 165 Move 449, 403 abs double_KLeft 449, 403 abs wait 500 Move 405, 407 abs double_KLeft 405, 407 abs set #counter #counter + 1 if #counter > 9 break 1 end_if Wait 5000 end_while end_proc
|
|
|
|
Доця |
17.11.2009, 12:08
|
Registred
Сообщений: 7
Регистрация: 11.11.2009 Группа: Пользователи Наличность: 0 Из: Украина
Пользователь №: 12.210
Возраст: 20
|
(IMG: style_emoticons/default/cool.gif) А КТО МОЖЕТ НАПИСАТЬ СКРИПТ ДЛЯ ЛОВЛИ РЫБЫ??? ИЛИ КАК ЭГО НАПИСАТЬ ПОДСКАЖИТЕ ПРОШУ
--------------------
2.5 – Запрещено использование в качестве “аватара” или “фотографии” изображения или анимацию, содержащую ненормативную лексику, хамство и личные оскорбления участников форума и, в особенности, сотрудников проекта, сотрудников администрации шардов, сцены насилия (в том числе призывы к насилию), элементы эротики, порнографии, а также все, что является нарушением УК РФ (высказывания расистского характера, призывы к свержению власти насильственным путем, разжигание межнациональной розни, унижение достоинства лиц того или иного пола или сексуальной ориентации и т.д.).
|
|
|
|
Tric |
17.11.2009, 12:54
|
Neophyte
Сообщений: 21
Регистрация: 20.5.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.875
Возраст: 25
|
На мой взгляд идеи те же что и для автобоя, только область обклика должна быть согласно изгибов реки.
Тоесть смысл такой что мы вбиваем поокдинаты точек где река совершает изгиб в массив. Далее алгоритм в цикле двигается от точки к точке обкликивая области вокруг промежутоных и поворотных точках. В поворотных точках пересчитываются приращения и цикл повторяется.
Как только ткнули на рыбу, у нас ярко загорается кнопка рыбалки, значит происходит изменение цвета. Тут же кликаем на эту кнопку. После чего надо проверить действительно ли ловля началась, например по наличию полосы прогресса. Далее ждем минуту и жмем на кнопку закрытия окна ловли рыбы. Для определения порезов можно либо мониторить окно чата(примерно так как сделано в окне боевого напарника), либо просто считать неудачные попытки(которые определять по специфическим пикселям в окне сообщения)
Вообще если вы не программист, попробуйте для начала с простые скрипты(например автопроизводство), помере привыкания к пилоту можете начинать писать более сложные.
Все опубликованые мной скрипты успешно работали на 5 виртуальных машинах в сентябре 2009 года. За 5 месяцев я с помощью пилота и виртуальных машин прокачал около 1000 мультов и это не считая куявских мультов для халявных лесов. Но так как все проверки условий завязаны на цвета пикселей экранного интерфейса, то при очередной правке дизайна игры возможно работать и перестанут. Поэтому если чтото не работает, дам советы/рекомендации как это поправить.
|
|
|
|
Tric |
17.11.2009, 19:39
|
Neophyte
Сообщений: 21
Регистрация: 20.5.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.875
Возраст: 25
|
Цитата(Destruction @ 17.11.2009, 16:28) Что в свою очередь в разы эффективнее любого скрипта на UoPilot. Не вижу смысла притворяться человеком, если можно представиться роботом и использовать все доступные данные.
Ну мне удалось претворятся человеком целых 5 месяцев, потом просто по объему вычислили. А тех кто собирает ресурсы программами которые человеком не притворяются, ловят через 1-2-3 дня. Ну судя по ответам на жалобы посаженных за автосбор, смотрят на то сколько по времени в день человек собирает ресурсы и на интервал между собираемыми ресурсами. Если интервал между сбором ресурсов сделать рандомным, то это сильно усложнит работу админов. Но могут ввести(а помоему уже есть) фиктивные ресурсы которые на экране не видны, а автодобытчик их рано или поздно попробует добыть и автоматом посажен будет. А вообще с нормальными программами автоматизировать намного проще. Потому что можно качественней проверять условия.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|