Hero
Регистрация: 26.06.2006
Сообщений: 2,083
|
UOpilot - Позволяет при помощи встроенного языка макрокоманд осуществлять выполнение простых, периодически повторяющихся действий в онлайн играх (таких как нажатие кнопок, движение и клики мыши и т.д.); есть возможность чтения характеристик персонажа и последнего сообщения от сервера для разных версий клиента; также программа имеет дополнительные функции упрощающие некоторые игровые моменты.
Правильно настроив можно вообще не участвовать в прокачке своего персонажа ОН САМ КАК РОБОТ БУДЕТ ИГРАТЬ НА АВТОПИЛОТЕ (бить монстров и сам кликать на статы передвигаться по картам)
AFK для енерджи Elf
//Magic power move 511, 722
Left_down 511, 722
Left_up 511, 722
wait 1s move 390, 626
Left_down 453, 626
Left_up 390, 626
//CUST move 973, 33
Right_down 973, 33
Right_up 973, 33
wait 1s move 967, 63
Right_down 967,63
Right_up 967, 63
wait 1s
//move 967, 93
//Right_down 967, 93
//Right_up 967, 93
//wait 1s
//move 967, 123
//Right_down 967,123
//Right_up 967, 123
//wait 1s
//move 967, 153
//Right_down 967,153
//Right_up 967, 153
//wait 1s
//Magic Defence move 511, 722
Left_down 511, 722
Left_up 511, 722
wait 1s
move 350, 626
Left_down 453, 626
Left_up 350, 626
//CUST move 973, 33
Right_down 973, 33
Right_up 973, 33
wait 1s move 967, 63
Right_down 967,63
Right_up 967, 63
wait 1s
//move 967, 93
//Right_down 967, 93
//Right_up 967, 93
//wait 1s
//move 967, 123
//Right_down 967,123
//Right_up 967, 123
//wait 1s
//move 967, 153
//Right_down 967,153
//Right_up 967, 153
//wait 1s
Скрипт для DW/MG
move 518, 325
right_down 518, 325
wait 1s
if 552 171 4343114 4343114
move 552, 171
Left 552, 171
end_if
wait 1s
if 195, 747 526344 526344
move 355, 742
Right 355, 742
Right 355, 742
end_if
( пьёт банки, кастует, и отказывается от Party/Trade/Guild/Guildwar
это под разрешение экрана 1024х768)
-
DK, MG и DW.
Задание переменных #XSelf и #YSelf указывает в какую точку будет производится каст выбранным скилом.
Скрипт постоянно кастует выбранным скилом, принимаем любые запросы (Party, Trade...) и пытается отлечится из слота Q если жизни менее ~65%. Скрипт предназначен для работы в открытом (видимом) окне MU 1024х768 (32 или 24 бита цветности).
// Изначальное разрешение: 1024 x 768 (32 bit)
// Назначение: Для DK, MG, DW; наличие party не важно
// Дата последней модификации: 5-11-2005
// Краткое описание действий:
// - постоянная атака выбранным скилом [выбрать атакующий скил можно в любой момент] (AA, AutoAtacking),
// - с проверкой [раз в 1 секунду] на Party/Trade запросы (AP, AutoParty),
// - с проверкой [раз в 1 секунду] жизни и попытки отлечиться бутылками (AL, AutoLife),
// - сохраняется возможность чатиться, менять атакующий скил, вообще - клавиатура не перехватывается
// - если не происходит автоматического лечения (бутылками), то и мышкой можно менять позицию каста
// - почти без напряга можно перемещаться (только перед кликом левой кнопкой нужно один раз кликнуть правой)
// Настройка скрипта под конкретного чара производится измением
// нижеследующих параметров в этой секции
//-----------
// Определяем, что говорить на Trade/Party
// если 1 - то говорим ДА, иначе (0) - говорим НЕТSet #SayYes 1
// Таймаут между нажатием и отпусканием кнопки при кастеSet #Click 1000
//------------------------------
// В данной секции обычно ничего уже менять не надо.
//-----------
// Расчет координат, задание изначальных координат
//-----------
// координаты для каста "на себя"
//Set #XSelf 515
//Set #YSelf 330Set #XSelf 370Set #YSelf 300
//Set #XSelf 200//Set #YSelf 355
// координаты слота "Q" (обычно для выпивания бутылочек жизни)Set #Xq 350Set #Yq 750
//---------------------------
// Вот .. все подсчитали, теперь можно начинать
// Начало скрипта, собственноMove #XSelf, #Yself:StartMGGosub CastSelfGosub CheckReqGosub CheckLifeGoto StartMG
//---------------------------------------
// Подпрограммы
//---------------------------------------
// Каст чем-то на себя:CastSelf Right_Up #XSelf, #Yself Right_Down #XSelf, #Yself Wait #Clickreturn
//----------
// Проверка на Party или Trade:CheckReq
// для 16 bits
// if 399, 173 4868434 if 399, 173 4344138 if #SayYes = 1 move 400, 172 Left_Down 400, 172 Wait 5 Left_Up 400, 172 else move 550, 172 Left_Down 550, 172 Wait 5 Left_Up 550, 172 end_if
// вертаем курсор в центр Move #XSelf, #Yself end_if return
//----------
//проверка на жисть (если менее примерно 70%, то пьем 3 баночки из слота Q):CheckLife
// для 16 bits// if_not 200, 720 200 if_not 200, 720 198 Repeat 3 Move #Xq, #Yq Right_Down #Xq, #Yq Wait 5 Right_Up #Xq, #Yq Wait 250 End_Repeat
// вертаем курсор в центр Move #XSelf, #Yself end_ifreturn
А вот как ползоватся AFK(на автопилоте):
разрешение 1024х768
> 1. Zapuskaesh MU(zahodish v igru)
> 2. Najimaesh F12
> 3. Najimaesh F11
> 4. Svora4ivaesh vse okna
> 5. Zapuskaesh UOPILOT
> 6. Najimaesh F11 (UOPILOT okazivaetsya poverx MU)
> 7. Stavish kursor mishki vozle 4ara
> 8. Najimaesh CTRL+A
> 9. Svora4ivaesh UOPILOT
> 10. Klikaesh na nijney paneli na MULauncher
> 11. Najimaesh F11 (svora4ivaetsya MU)
> 12. Najimaesh F11 (razvora4ivaesh MU)
> 13. Najimaesh F12 (eto Full Screen)
> 14. Jmesh ALT+Delete ( eto Start/Stop macros )
- a esli bolee podrobno
1. заходите в игру, набираете парти (скажем full-5 человек) 2. говорите - подождите я включу пилот
3. нажимаете F12 дабы свернуть окно
4. затем нажимаете enter, как будто собираетесь написать сообщение, тогда когда будете нажимать клавиши вне игры не будут выскакивать панельки типа - инвентарь. гильдия, статы и т.д. и т.п.
5. жмете F11 - игра скрывается
6. затем находите в какой папке у вас лежит UOpilot, открываете его
7. затем запускаете скрипт - прописываете его в пилоте
8. далее сложно мне дающийся для объяснения момент : я здесь представила пилот, работающий на двух персов в парти. Чтобы увеличить/уменьшить число обкастанных надо убрать/добавить значки // перед 4 строчками. В указанном скрипте оне стоят перед 3 разделами в разделе каста на жизнь и перез 3 разделами в разделе каста на силу. Посмотрите внимательно и может вы меня поймете стоит примерно так: //jdgjd;gjsjk //fjksdjga //gkjsdljg //dlgja;lgj //sdlfkjakg //dlfkja;gj //dkgjslkj //ljdsfsajlj //lsdfjdlajg //kdlsjg;sl //kdjga;sj //ksdjga; перед первыми двумя столбцами слешей нет. Это значит что каст действует только на двоих. Если у вас в парти 3 человека убирайте слеши последовательно из первого раздела. выйдет примерно так: ksjdag; ksdjag; lsidjga;l ladjglgj //lksdajg //sldgkj //lkjdg; //ldskgj; //ksdjag; //ldgskaj //lsdgjlk //ldajga соответственно для четырех человек в парти надо убрать // из двух столбцов, а для 5 чел из 3х столбцов. (надеюсь понятно) Так же если у вас наоборот не 5 а 4 чел в пати добавьте // в последний раздел. и далее подобным образом К сожалению этот скрипт не отличает сколько человек стоит в парти и если он был запущен на 5, а 1 из пати вышел, то несчастный эльф будет летать вокруг в панике пытаясь накастовать на кого-нибуть пятого. Поэтому скрипт все время во время игры приходится редактировать. Возможно есть такой, который различает автоматически сколько человек в пати, но у меня такого нет итак
9. снова нажимаете на f11, разворачивается окно mu
10. теперь вам надо закрепить пилот за игрой. для этого наводите мышь на синию полоску на скрипте (сверху, на ней еще название пилота) и нажимаете ctrl+a
11. затем наводите курсор на mu и снова жмете ctrl+a
12. после этого акуратно наводите курсор обратно на пилот (так чтобы ваш эльф не убежал далеко от вашей парти вслед за мышой) и нажимаете play Пилот запущен и должен работать. То есть ваша эльфийка начинает кастовать. если он не запускается попробуйте повторить действия
10,11,12, возможно вы не аккуратно прикрепили пилот к игре. После того как пилот запущен - не трогайте мышь! если вам надо зайти обратно в игру сперва выключает пилот нажимая на кнопку stop и тольк потом наводим мышку на му и продолжаем играть без пилота. Остается надеятся что теперь понятно...
Если вы камикадзе и некуда тратить время могу посоветовать краткий курс обуению скриптинга для uopilot (описание от создателей)
При написании следует учитывать такие вещи:
а) скрипт может распознать на вашем окне Му две вещи - координаты и цвет.
б) ввод координат делается так:
- в окне пилота выставляется галочка на Point (Ctr+A) - лучше справа.
- не закрывая пилота переводим мышь на нужное окно (Му) и ставим на нужную точку.
- нажимаем Ctr+A - в окне Script появятся координаты точки.
в) ввод цвета координаты:
-после получения координаты согласно пункту б) (толька выставте галочку слева для Point и галочку на Color) нажмите на кнопку с полученым кодом цвета для вставки в окошко скрипта.
внимание - получение цвета зачастую с получается правильно с нескольких попыток, так что сразу не отчаевайтесь.
3. Разбор написания скрипта:
а) самый простой:
строка Right_Down x y даст вам постоянное нажатие правой кнопки мыши в координате x y
б) Пример скрипта для дв:
Примечание: скрипт, что приведен тут для примера состоит из нескольких кусков, каждый из которых обозначен своим цветом:
Черный – использование скилла
Синий – использование Mana Shield
Зеленый – питье бутылок
Красный – ответ на Party / Trade
Каждый кусок можно удалить из скрипта если вы его не заинтересованы использовать.
Примечание 2: Список использованных в скрипте координат и цветов –
координаты:
х0, у0 - там где давите мышу при запуске скилаа, центр окна МУ - лучшее место под ногами чара.
х1, у1 - координаты точки на индикаторе НР если ниже которой упадет ваш НР - вы хотите выпить бутыль.
х2, у2 - координаты центра бутылки с НР.
х3, у3 - точка на окошке парти / трайд.
х4, у4 - координаты кнопки ответа на парти / трайд (Ok/Cancel - на ваше усмотрение).
х5, у5 - координаты кнопки управления/выбора скиллов (внизу окна по центру).
х6, у6 - координаты скилла МЩита на открытой полоске скиллов. ВНИМАНИЕ! После реса, если вы прочитали книги не в той же последовательности, как раньше, координаты скиллов могут поменяться и их нужно ввести заного!
х7, у7 - координаты первого игрока в вашей парти (из списка парти в верхнем правом углу)
х8, у8 - координаты второго игрока в вашей парти (из списка парти в верхнем правом углу)
х9, у9 - координаты третьего игрока в вашей парти (из списка парти в верхнем правом углу)
х10, у10 - координаты четвертого игрока в вашей парти (из списка парти в верхнем правом углу)
х11, у11 - координаты пятого игрока в вашей парти (из списка парти в верхнем правом углу)
х12, у12 - координаты скилла используемого игроком ( например Evil Spirits для ДВ)
цвет:
color1 - цвет в координате х1, у1, когда данная показатель НР ниже этой точки (не красная).
color2 - цвет в координате х3, у3 - на окне парти / трайд
set #count_Mana_Shield 0
// задание первоначального значения счетчика count_Mana_Shield расчета времени задействования Mana Shield
set #count_ks 0
// задание первоначального значения count_ks расчета времени для нажатия правой кнопки мыши - работы выбранного скилла.
:start
// метка начала скрипта
//use hp
if х1, у1 color1
// проверка когда начинать пить бутылки
// ставяться координаты центра НР х1, у1 (или точку, если ниже котой опустится НР - то надо пить бутыль)
// ставиться цвет color1 этой точки когда НР ниже нее ( то есть в момент когда не красная)
Right х2, у2
Right х2, у2
// даем комманду мыше нажать правой кнопой в координате х2, у2 - как вы догадываетесь, это координаты бутылки с НР.
// почти все комманды для мыши я дублировал 2 раза - так почти нет сбоев в работе скрипта.
wait 0s
// задержка - можете дать чару несколько секунд не махать веслом пока будет утолять жажду ( в данном примере задержка выключена - 0 секунд)
right_up х0, у0 // вернуть мышь в координаты х0, у0
Right х0, у0 // нажать правую кнопу в тех же координатах
right_down х0, у0 //дубль предыдущей комманды для верности
// координаты х0, у0 - это центр вашего окна, самое лучшее прямо под ногами вашего чара
// эти координаты используются для работы скилла
end_if //закончили проверку НР
//end of use hp
//Party script
while х3, у3 color2
// проверка - когда в координате х3, у3 будет цвет color2, то...
// координаты и цвет берутся с окна Party/Trade - его то мы и проверяем этим скриптом, появилось или нет.
//accept
Left х4, у4
// нажми правой кнопой на координаты х4, у4 - это координаты кнопки ок (или cancel если не хотите соглашаться).
end_while
//End of Party scipt - закончилась проверка.
//Mana Shield
set #count_Mana_Shield #count_Mana_Shield + 1 //увеличение счетчика МЩита на 1
if #count_Mana_Shield = 150
// Когда счетчик насчитает 150 (можно изменять в зависимости от того как часто надо пользоваться Щитом)
// тогда делай прыжок на метку next - включение МЩита
Goto next
end_if
//ks
set #count_ks #count_ks + 1 //Та же временная задержка что использовалась в расчете запуска МЩ
if #count_ks = 20 // эта задержка в запуске скилла дает немного сэкономить на мане
Goto ks //В этом случае прыгаем на метку ks - запуск скилла (нажатие правой кнопки)
end_if
Goto start
// Ворачиваемся читать скрипт с метки start
:next // сюда приходит скрипт прочитать команды для управления МЩита.
// Все команды продублированы – как я уже и говорил, это практически не дает сбоев в работе.
move х5, у5 // Двигаем мышу на координату кнопки управления скиллами.
move х5, у5 // дубль
left_down х5, у5 // Нажимаем на кнопку - нам же надо поменять действующий скилл на скилл МЩита.
left_up х5, у5 // Дубль - откроется полоска скиллов.
move х6, у6 // Подводим мышу к МS скиллу
move х6, у6
left_down х6, у6 // и выбираем его
left_up х6, у6
//_________________
// Этот кусок предназначен для каста Щитом участников вашей парти
// Координаты беруться на каждой полоске каждого игрока парти (в верхнем правом углу)
// Этот кусок можно выкинуть если вы не кастуете на парти, а только на себя
// кастуем:
move х7, у7 //двигаем мышь на первого игрока в парти
move х7, у7
right_down х7, у7 // и кастуем
right_up х7, у7
move х8, у8 //второй игрок
move х8, у8
right_down х8, у8
right_up х8, у8
move х9, у9 // третий игрок
move х9, у9
right_down х9, у9
right_up х9, у9
move х10, у10 //четвертый
move х10, у10
right_down х10, у10
right_up х10, у10
move х11, у11 //пятый
move х11, у11
right_down х11, у11
right_up х11, у11
// закончили каст на игроков парти
//___________________
wait 1s //маленькая задержка скрипта на всякий пожарный, чтоб сильно не разгонялся, а то сильно быстрые перемещения могут его сбить с толку.
// можно и не использовать ее впринцыпе...
// теперь надо вернуть обратно скилл для кыса:
move х5, у5 // Двигаем мышу на координату кнопки управления скиллами.
move х5, у5 // дубль
left_down х5, у5 // Нажимаем на кнопку
left_up х5, у5 // Дубль - откроется полоска скиллов.
move х12, у12 // Выбираем координаты скилла используемого игроком ( например Evil Spirits для ДВ)
move х12, у12
left_down х12, у12
left_up х12, у12
set #count_Mana_Shield 0
// обнуление счетчика count_Mana_Shield расчета времени задействования Mana Shield
move х0, у0 //после всех этих полетов мыши по экрану, возвратим мышу в координаты работы основного скилла.
move х0, у0
// Эта часть Mana_Shield закончена, но скрипт пойдет дальше и нажмет мышу в этих координатах уже через строчку...
:ks // Метка куда приходит скрипт для нажатия правой кнопки мыши в центре окна - использование основного скилла
right_up х0, у0 // Нажимаем...
right_down х0, у0
set #count_ks 0
// обнуление счетчика count_ks расчета времени для нажатия правой кнопки мыши - работы выбранного скилла.
Goto start
// Ворачиваемся читать скрипт с метки start
________________________
Вот вроде и все - если разобраться, то вроде ничего сложного тут нет
Желаю всем удачи в написание скриптов.
Не забывайте!
1. Производство ботов в конце концов приводит к потере интереса к самой игре.
2. Ботов, стоящих на афк, не очень жалуют и их просто закиллять, что и делают все кому не лень. Так что даже ставя на афк хотябы раз в 15 мин проверяйте - живы ли вы еще.
И еще:
1. Если нашли ошибки, или хотели бы добавить / подправить в моем объяснении - пишите, буду рад.
2. Если вы считаете, что это хорошая статейка - не поленитесь накинуть репы.
_________________________________
Колонка для советов тем, кто пошел дальше в деле написания скриптов:
Советы и полезности от Elmier (спасибо ему за эти советы)
>>>Пара советов по минорным улучшениям того кода что приведен выше, немножко упрощающих
1. Чтение кода
2. Правку под минутные нужды
3. Сделает скрипт практически "несбивающимся" при переключении скиллов.
Для п.1. и 2. - это банальность. Имеет смысл использовать подпрограммы, то есть чтобы основная часть скрипта выглядела примерно так:
//========================
:StartMG
Gosub CastSelf
Gosub CheckReq
Gosub CheckLife
//Gosub CastMSSelf
//Gosub CastMS2
//Gosub CastMS3
//Gosub CastMS4
//Gosub CastMS5
Goto StartMG
//========================
Детали на ваше усмотрение... Вообще если MS регулярно используется то каждый раз комментить целый кусок под вид парти неудобно
примечание мое: для простоты я сохраняю 3 документа в формате .txt в которых есть 3 варианта скрипта:
1. только кач + парти+бутыли
2. тоже и МЩ для себя
3. тоже и МЩ для парти (координаты задаются тока один раз - потом они не меняются)
любой файл с подходящим скриптом открываю в зависимости от того, что надо...
Так что... настроив один раз скрипт, подстраивать приходиться только в случаях типа:
а) изменение расширения экрана / окна игры.
б) задание координат МЩ и Эвил Спирит если после реса скиллы не на тех же местах.
в) при изменении дизайна в игре (как например был поставлен дизайн разработанный iKest вроде (и ему ку за это).
По п.3 - в общем, в Uopilot 2.08 наконец-то была переписана функция sendex и можно ею пользоваться в Му (даже если окно скрыто по F11, кейстроки посылаются нормально)
Так что можно выкачать соответствующий пилот и лечиться строчками
=========
sendex q
sendex q
sendex q
=========
Плюсы - про то, что скрипт перестает сбиваться, я писал. Так же если не двигать мышкой в скрипте командой /move, можно перемещаться в игре без установки скрипта на паузу.
Минусы - мешает чатиться без установки на паузу
И что еще хуже - последние уопилоты пытаются подключиться к интернету (не adaware как таковое, а "скрытые" окошки IE - так что или фаервол, или установка IE в режим "Working offline" рекомендуюется.
Вот всё что тебе надо.
Пилот сам найдёш...
__________________
Все что портится - портится, все что не портится - портится тоже
|