Прокачка умений
Комплексный гайд на прокачку комбат скиллов, хилинга, магии, медитации

© article crafted by Ayra

Плюсы и минусы гайда: Относительно прямого спарринга, или прямой прокачки магии медитации, данный способ конечно менее быстр в смысле прокачки конкретного навыка, однако, данный вид прокачки очень подходит тем, у кого нет возможности запустить 2 клиента одновременно (эмуляторы win под UNIX). Ну и может, кому-нить будет полезно поучить стандартные схемы разработки скриптов для Uopilot.


Система прокачки
Для прокачки нам потребуются:
- приличный запас Blood Moss, Mandrake Root, Spider's Silk;
- уровень magery не меньше 50;
- броня класса агапит/дварф с хитером;
- оружие (кинжал, нож мясника, кирка)
- бинты, еда.
Далее нам необходим дом с приличной AM зоной. В котором надо построить следующую конструкцию (загон 1 на 2 тайла) из заборов.



== - стена дома
| |
|__| - заборы



В данной конструкции и будут проходить наши учения.


Сам способ учений
Запираемся в этом загоне. На свободную клетку вызываем медведя (summon creature) убиваем, лечимся, медитируем. Повторяем всё снова, периодически перекусывая. Главная проблема – написать скрипт, который бы всё это делал и не сбивался.
Что ж, дорогие мои начинающие скриптописатели... Смотрите и внимательно запоминайте, можете написать по-своему, но мне лучше не удалось. Кстати, искренне рекомендую uopilot 0.98 как самый стабильно работающий с функцией lastmsg.

Давайте распишем весь скрипт по частям.
Внешний цикл
Поели
Главный цикл
Призыв мишки
Функция проверки уничтожения мишки
Функция лечения и медитации
Закрытие главного цикла
Закрытие внешнего цикла.

С внешним циклом всё просто:
Repeat 10000000
Double_left
// координаты еды – вводим как всегда Ctrl+A
Главный цикл
Функция призыва мишки
Функция проверки уничтожения мишки
Функция лечения и медитации
Закрытие главного цикла

If lastmsg you lack //Т.е. кончились реагенты и продолжение цикла бессмысленно
Repeat 10 // Это необязательный цикл, который 10 раз пропикает вам в случае окончания макроса.
Alarm
Wait 2000
End_repeat
Break 1
End_if
End_repeat
End_script


Теперь рассмотрим главный цикл, только для проформы, т.к. это простейшее.
Repeat 100 // Примерное кол-во мишек на 1 еду
Функция призыва мишки
Функция проверки уничтожения мишки
Функция лечения и медитации
End_repeat


И вот пришли к самым сложным местам.
Рассмотрим функцию призыва мишки.
Repeat 1000
If mana < 14
// Если маны на призыв нет, то смысла выполнять функцию призыва нет, это значит, что возможно произошел сбой в медитации или нас профизлело по полной.
Break 1
End_if
Send F3 1000
// Где F3 – Last Spell (перед запуском призываем одного мишку вручную)
Repeat 1000
Wait 5
If 81, 57 526344
// координаты меню животных, цвет
Break 1
End_if
End_repeat
Double_left 106,65
// - координаты мишки в меню
Wait 1000 // в зависимости от связи (ждем курсор)
Say a // сброс lastmsg
Left (координаты второго тайла в загоне)
Wait 2000
If lastmsg a
// Если мишку сфизлит, то lasmsg будет не "а", а "The spell fizles"
break 1
end_if
End_repeat


Всё мишку призвали, теперь пора б его избить.
Функция проверки уничтожения мишки:
Send TAB //включаем war mode
Double_left (координаты мишки) //начали атаку медведя
Repeat 1000
Say a
//сбиваем lastmsg
Wait 3000
If lastmsg a
// lastmsg останется а, только если мишка уже убит и say а не перебивается сообщениями боя (например you parry the blow).
Break 1
End_if
End_repeat
Send TAB
// Мишка убит warmode выключаем


Теперь хорошо бы подлечиться и восстановить манну
Функция лечения и медитации
Repeat 100
Double_left (координаты бинтов)
Wait 1000
Send f5
//target self
Wait 3000
If hits=str
Break 1
End_if
End_repeat
Repeat 1000
Send f9
//use skill meditation
Repeat 100
Wait 1000
If lastmsg you are at peace
//т.е. готово
Break 1
End_if
If lastmsg you lose
//т.е. физл медитации
Break 1
End_if
End_repeat
If mana=int
Break 1
End_if
End_repeat


Давайте соберем все куски вместе и получим:
Repeat 10000000
Double_left
// координаты еды – вводим как всегда Ctrl+A
Repeat 100 // Примерное кол-во мишек на 1 еду
Repeat 1000
If mana < 14
// Если манны на призыв нет, то смысла выполнять функцию призыва нет, это значит, что возможно произошел сбой в медитации или нас профизлело по полной.
Break 1
End_if
Send F3 1000
// Где F3 – Last Spell (Перед запуском призываем одного мишку вручную)
Repeat 1000
Wait 5
If 81, 57 526344
// координаты меню животных, цвет
Break 1
End_if
End_repeat
Double_left 106,65
// - координаты мишки в меню
Wait 1000 // в зависимости от связи (ждем курсор)
Say a // сброс lastmsg
Left (координаты второго тайла в загоне)
Wait 2000
If lastmsg a
// Если мишку сфизлит, то lasmsg будет не "а", а "The spell fizles"
break 1
end_if
End_repeat
Send TAB
//включаем war mode
Double_left (координаты мишки) //начали атаку медведя
Repeat 1000
Say a
//сбиваем lastmsg
Wait 3000
If lastmsg a
// lastmsg останется а, только если мишка уже убит и say а не перебивается сообщениями боя (например you parry the blow).
Break 1
End_if
End_repeat
Send TAB
// Мишка убит warmode выключаем
Repeat 100
Double_left
(координаты бинтов)
Wait 1000
Send f5
//target self
Wait 3000
If hits=str
Break 1
End_if
End_repeat
Repeat 1000
Send f9
//use skill meditation
Repeat 100
Wait 1000
If lastmsg you are at peace
//т.е. готово
Break 1
End_if
If lastmsg you lose
//т.е. физл медитации
Break 1
End_if
End_repeat
If mana=int
Break 1
End_if
End_repeat
End_repeat
If lastmsg you lack
//Т.е. кончились реагенты и продолжение цикла бессмысленно
Repeat 10 // Это необязательный цикл, который 10 разпропикает вам в случае окончания макроса.
Alarm
Wait 2000
End_repeat
Break 1
End_if
End_repeat
End_script


Удачи вам, бедующие Зены и Гераклы :)

Читать/оставить комментарии об этой статье

© article crafted by Ayra

__
 



ВНИМАНИЕ!
При использовании материалов данного
сайта ссылка на источник и
указание автора материала обязательны!
   

Ultima Online Oskom


Design by SHERIFF at August 9, 2003
Copyright by SD Studio
Minimum screen resolution: 800x600
Site was created on: Sunday, April 07, 2002