Учебник
Часть 1
Программа EasyUO используеться
для написания макросов для
игры Ultima
Online.
Для начала, вам нужна программа
EasyUo. Ее можна скачать по адресу
http://www.easyuo.com/
В разделе Downloads. ВНИМАНИЕ!
Версия программы должна строго
соответствовать версии вашего
клиента(или макросы работать
не будут).На
шарде Age of Power используеться
клиент версии 3.0.0с.
Написание макросов в EasyUо очень
похоже на любой другой язык
программирования.
В нем(EasyUO) Есть
постоянные(константы) и
переменные.Основные
переменные в
EasyUO отображаються в правой
части окна.Если нет –
необходимо нажать
Ctrl+R.
Макрос в игре состоит из
повторений какого-либо
действия.По этому, макрос
должен выглядеть так:
Initevents
<сам макрос>
Return
Макрос состоит из
процедур,каждая из которых
вмещает в себя
одно(несколько) действий.
Процедура обьявляеться так:
<имя процедуры>:
А закрываеться пропуском
строки.Все действия в игре
(например,использовать
последний
предмет,умение,наколдовать
заклинание),в общем,все,что
есть в
закладке(Options => Macros)
В EasyUo обьявляеться командой event
macro .Тоесть, команда, потом
номер
действия. Список номеров можно
посмотреть на сайте игры в
разделе event
macro.Далее идет несколько
действий с предметами
игры(четко
заданными),мышкой,клавиатурой,самой
игрой,а именно:
Event drag (переименная,код
предмета) – перетаскивание
предмета
Click (x,y) - щелчок кнопкой мыши по
экранными
координатам(координаты
можно посмотреть в нижней
части окна).Если после
координат добавить букву
d – будет двойной щелчок.
Move (x,y,z) – Команда идти чару по
такой-то координате в
игре.Координаты
можна глянуть в нижней части
окна рядом с экранными
координатами или в окне
ультимы, набрав команду ‘where
Key (любая клавиша) – нажатие на
клавишу клавиатуры
If (условие) – указание
программе, что делать, если…
Finditem (код предмета) - поиск в
открытой сумке какого – либо
предмета
Set (что-то чему-то) Присвоение
переменной\константе
определенного
значения.Можно вводить
цифры,буквы,названия
констант\переменных.
Goto (название процедуры) – после
этой команды программа
начинает выполнять
заданную процедуру.
Wait (время в секундах) –
задержка в скрипте на заданное
время.
Практика.
Теперь,рассмотрим
употребление этих команд на
практике в различных
ситуациях(наиболее часто
встречающихся).
Код Предмета
Откуда можно взять код
предмета для использования в
других командах?
Делаем двойной щелчок на
нужном предмете в игре.Потом
смотрим в окно
переменных(строка #lobjectid. Берем
оттуда 3 символа и вписываем их
в
скрипт.Все.Код предмета у нас
есть.
Перетаскивание предмета
Почему после команды event drag
предмет никуда не тащиться?
Потому, что эта команда
обозначает начало процедуры
перетаскивание(грубо
говоря,получаеться так,что
игрок зажал кнопку мыши и повел
в сторону(но
кроме этого ничего не сделал).
Делаеться это так:
Event drag <код
предмета>
Wait 1s
Key (Цифра,если нужно вводить
количество,если нет, то эту
строку
пропускаем)
Key Enter
Click (x,y) – координаты той
экранной точки, куда вам нужно
что-то кинуть
Команда if…
Как использовать команду if?
Для начала, после if задаем
условие выполнения действия(к
примеру, если чара
убили и он гост)
If #charghost = yes
Далее,если мы хотим после этой
команды сделать одно
действие(чар бежит к
хилеру, к примеру(тот сам его
оживляет),то на следующей
строке перед
действием ставим пробел:
If #charghost = yes
Move (x,y) – координаты хиллера
А если действий более
одного(чар бежит к кресту,
тоесть надо еще и кликать
на крест), то блок
команд,который должен
выполняться береться в скобки:
If #charghost = yes
{
Move (x,y) – координаты креста
Click (x,y) - экранные координаты
креста
}
Исползование журнала в добыче
ресурсов.
Итак, как заставить программу
понимать сообщение игры( [201] А
рыбы здесь
нет…) - или соответственн
сообщение для ламбера и
майнинга. Делаеться это
так – вылавливаеться одна
точка(до появления
сообщения).Потом, открываеться
окно переименных и смотриться
переменная #sysmsg. Копируеться в
буфер обмена
“абракадабра” которая
являеться значением этой
переименной.(можно только
часть) после этого пишеться:
If <абракадабра>
in #journal
Goto next(название процедуры
следующей точки).
Присваевание переименным и
константам значений и создание
новых.
В программе есть 2 типа
переменных: встроенные и
созданные(встроенные можно
посмотреть в правой части окна)
созданные - созданные
игроком.По виду они
отличаються так – у встроенных
- перед названием переменной
стоит значек
#
У созданных - %
Соответственно,созданные
переименные можна создавать и
присваивать им
какое-либо значение, а
встроенным – только
присвивать значение.
Set %созданная переменная
#findid\значение\код предмета
Учебник по EasyUo
Часть 3
Глава 2
В первой части учебника был
список команд,которые наиболее
часто
используються при написании
макросов.В этой же главе
подаеться полный
список, с обьяснением
назначения каждой из команд.
Команды контроля скрипта
call – Включает макрос,расположенный
в другом файле
cmpPix – Вставляет выбранный
пиксель на место предыдущего.
exit – Останавливает макрос
for – Создает счетчик
gosub – Переводит скрипт на
другой sub
goto – Переводит исполнение
скрипта на указанную процедуру
halt – Заканчивает скрипт.
if – Команда задания условия.
pause – Задает паузу в скрипте.
return – Возвращает выполнение
скрипта на предыдущее место
после sub.
stop – Заканчивает скрипт
II. Команды клиента
chooseSkill – Показывает значение
определенного умения(скила)
click – Делает целчок мышкой на
определенные экранные
координаты в клиенте
deleteJournal – Стирает содержимое
журнала
findItem – Ищет вещи,монстров,НПЦ
по их ID.
getUOTitle – возвращает текст,написанный
на заглавии окна клиента.
hideItem – «прячет» предмет(его не
видно в окне клиента).
ignoreItem – Стирает код предмета
из списка finditem.
key – Имитирует нажатие клавиши.
move – Указание персонажу
двигаться в определенные
координаты.
msg – Выдает сообщение в окне
клиента(в качестве речи)
nextCPos – Определяет,где
откроеться следующий
контейнер.
onHotKey – Указывает,какие
действия будут произведены,если
нажать
определенную клавишу
savePix – Сохраняет цвет
указанного пикселя
setUOTitle – Устанавливает текст на
заглавии окна клиента.
scanJournal – ищет какую-либ
информацию в журнале игрока
sleep – Ожидает указанное
количество времени
target – Ожидает,когда появиться
значок цели
terminate – Закрывает выбранный
клиент.
uoXL – Запускает\выбирает
клиенты.
wait – Ожидает указанное
количество времени.
III. Команды Event
event Drag – Переносит обьект
event ExMsg – Показывает сообщение
над определенным предметом.
event Macro – Выполняет event macro
event PathFind – двигает чара по
определенным координатам.
event Property – Читает описание
предмета
event SkillLock – Лочит\Разлочивает
определенные умения.
event Sleep – Ждет указанное
количество времени
event SysMessage – Выдает сообщение в
окне клиента (как системное)
initEvents – Включает все команды
event
IV. Команды,используемые в
магазине
getShopInfo – Выдает информацию о
товаре,имеющемся у
определенного продавца.
setShopItem – Задает количество
покупаемых вещей(по коду
предмета).
V. Menu Commands
menu Activate – Включает меню в окне
программы
menu Button – Создает кнопку по
определенным коорднатам в меню
программы
menu Clear – Очищает все меню
menu Delete – Стирает окно в EasyUO
menu Edit – Создает меню
редактирования по указанным
координатам указанной
ширины.
menu Font Align – Меняет вид шрифта.
menu Font BGColor – Задает цвет фона в
программе.
menu Font Color – Меняет цвет шрифта
menu Font Name – Меняет тип шрифта.
menu Font Size – Меняет размер шрифта.
menu Font Style – Меняет стиль шрифта.
menu Get – Вставляет текст в меню
редактирования.
menu GetNum – Возвращает количество
меню редактирования.
menu Hide – Сворачивает окошко
меню EasyuO .
menu HideEUO – Сворачивает основное
окно.
menu Show – Показывает окно меню
menu Text – Создает текст в меню.
menu Window Color – Меняет цвет окна.
menu Window Size – Меняет размер окна.
menu Window Title – Меняет заголовок
окна.
VI. Различные команды
deleteVar – Стирает значение
переменной
display – Показывает сообщение
execute – Включает определенную
программу.
linesPerCycle – Меняет скорость
работы программы.
playCD – Начинает проигрывать
диск в сдроме.
set – Присваевает переменной
значение
send – Посылает на сервер запрос,
и выводит полученный ответ
shutDown – Выключает компьютер
sound – Проигрывает звуковой
файл
|