Руководства, Инструкции, Бланки

инструкция по использованию Uopilot img-1

инструкция по использованию Uopilot

Категория: Инструкции

Описание

ДОКУМЕНТАЦИЯ по языку UO Pilot - учитесь писать макросы сами

Данная документация содержит описание языка скриптов программы UOPilot версии 1.07 beta 5. Будьте внимательны при использовании более ранних версий программы.

Условные обозначения:
<> - обязательный параметр
[] - необязательный параметр

В одной строке может быть только одна команда. Первое слово в строке - команда, остальные слова - параметры. Если первое слово в строке не команда - строка считается комментарием.

Слова состоят из символов 0-9, А-z, А-я.

Символы #, $, %, +, -, *, /, >, <, =. являются служебными, остальные разделители. Т.е. 'send F5' то же самое, что 'send (F5)', 'send [F5]' и т.д.

Можно писать комментарии после всех параметров. Также таковыми считается все, что идет после двойного слэша '//'. Крайне рекомендуется использовать именно такой метод.

Паузы в командах указываются по умолчанию в миллисекундах (1/100 секунды), но возможно указание времени и явно, в часах, минутах, секундах:
wait 500 // ждать 5 секунд
wait 5s // ждать 5 секунд
wait 1m // ждать 1 минуту
wait 1h // ждать 1 час

В имени переменной допустимы символы - ['0'..'9','A'..'z','А'..'я'], регистр не учитывается. Максимальная длина имени переменной 255 символов.

Переменные могут быть числовыми и строковыми. Синтаксис числовой переменной '#name', где name - имя переменной. Синтаксис строковой переменной '$name', где name - имя переменной.
Например:
set #i 20
set $s test string

Также вы можете использовать массивы. Символ процента '%' считается идентификатором массива. Индексы массива указываются после имени в квадратных скобках '[' и ']'. Размер массива равен максимальному использованному индексу. Присваивание значений осуществляется каждому элементу индивидуально командой set. Элементы массива могут содержать как строки, так и числа. Допустимо сылаться на массивы параллельных скриптов, указав после имени массива, через точку, номер скрипта. При указании только первого индекса в двумерном массиве, результатом будет строка из всех элементов второй размерности массива, соответствующих указанному индексу, и разделенных пробелом.
Например:
set %ar [4] тест // одномерный массив на 4 элемента
set %arr [50 1] 544
set %arr [50 2] 800 // двумерный массив на 50 раз по 2 элемента
set %ar.2 [5] // одномерный массив в параллельном скрипте
left %arr [50] // клик левой кнопкой по координатам 544 800

Учтите, что элементы массивов нельзя напрямую использовать в условных операторах:
if charposx <> %arr [50 1]

Перед использованием переменной в скрипте вы должны определить ее при помощи команды set. Переменные изменяются только при участии set и for, команда repeat использует значение, не изменяя его.
Например:
set #i #i + 1

Синтаксис команды Set:
----------------------
set $<имя> <значение> или
set #<имя> <знач1> [<зн. оп.> <знач2>]
set %<имя> [элемент] <значение>
между знаком операции и значениями должен быть разделитель. Поддерживаются следующие операции: +, -, *, /, также вы можете использовать скобки для изменения приоритетов выполнения математических операций. При делении результат округляется к меньшему целому.
Например:
set #q ((5+4)/(3+-2)* #e )-(2-(-5+9))*3

Со строковыми переменными возможны некоторые математические операции:
set $s1 1
set $s2 2
set $s $s1 + $s2
Результатом будет $s = '1 + 2', т.е. при присваивании чего-либо строковой переменной, ей присваивается все до конца строки, с соответствующими заменами
set #n $s1 + $s2
Результатом будет #n = 3, т.е. если строковая переменная, содержит строковое представление целого числа, то ее можно использовать в качестве числовой переменной.

В команде set вы можете использовать генератор случайных чисел: random <number> возвращает число в диапазоне от 0 до number-1
Например:
set #a random 2

При двух или более запущенных скриптах вы можете обращаться к переменным, определенным в других скриптах пилота. Синтаксис указания таких переменных следующий:
#i.2 - обращаемся к переменной #i из скрипта, находящегося в окне номер 2.

Переменные в процессе выполнения скрипта могут быть изменены при помощи таблицы отображения переменных. Изменение переменных происходит синхронно с набором символов.

Примечание 1: [W] означает, что вы можете изменять значение этой переменной
в скрипте через команду set, все остальные переменные только для чтения.

Примечание 2: Для корректного определения Пилотом большинства параметров чара у вас на экране ультимы должно быть раскрыто окно статов (Character Status).

hour - текущее время (час)

min - текущее время (минуты)

sec - текущее время (секунды)
Например:
say current time is hour. min. sec

timer - считает количество миллисекунд от начала выполнения скрипта может использоваться практически в любых операторах и сочетаниях.
set timer // устанавливает значение timer в 0

int - интеллект чара

dex - ловкость чара

hits - здоровье чара

gold - количество денег у чара

wght - текущий вес

armor - класс армора

charposx - позиция чара по горизонтали

charposy - позиция чара по вертикали

charposz - координата z чара (высота)

chardir - направление взгляда чара (куда чар повернут)
0 - чар смотрит на север, каждые 45 градусов поворота чара по часовой стрелке добавляют еденичку, т.е. 7 - чар смотрит на северо-запад

lastmsg - последнее сообщение сервера

lastobjectid - идентификатор последнего использованного объекта [W]

lastobjecttype - тип последнего использованного объекта [W]

lasttargetid - идентификатор последней цели [W]

lasttargetx - координаты последней цели [W]

lasttargetkind - класс последней цели (1 - предмет; 2 - земля; 3 - статика или вода) (т.е. если вам нужно лопатой/киркой кликнуть на поверхность пещеры в заданные координаты, то необходимо указать '3'; если необходимо кликнуть через ласт таргет на предмет, то необходимо указать '1' и 'Id' предмета; ловя рыбку указываем координаты точки и класс '2'). [W]

lastliftedid - идентификатор вещи, которая последней была тронута с места (передвинута, побывала в 'руке'). [W]

lastskill - номер последнего скила который был использаван через меню Skills [W]

lastspell - номер последнего заклинания которое быле прокастовано через книгу [W]

laststatictype - тип последней статичной цели (дерево. ) [W]

target - вид курсора (0 - рука; 1 - прицел) [W]

При двух или более запущенных скриптах вы можете обращаться к переменным, определенным в других скриптах пилота для других чаров, добавив к имени переменной номер скрипта через точку. Например:
set lasttargetid.1 7
say hits.1

В условных операторах и циклах вы можете использовать следующие операции: >, <, =, <>, а также логические операции (and, or, xor). Приоритетов нет, обрабатывается последовательно.
Например:
if hour = 23 and min = 45 or #count = 100

Для изменения приоритетов используйте круглые скобки:
while (#a > 1 and #a < 3) or ((#a = 1 and 130, 9 7295) or #a = 5)

В условных операторах вы можете использовать генератор случайных чисел: random <number> возвращает число в диапазоне от 0 до number-1
Например:
while #a = #b or random 5 > 3

Для прерывания действия операторов while, for и repeat вы можете использовать команду Break. Синтаксис:
Break [уровень]
Если уровень больше 1, то прерывается заданное кол-во родительских циклов.

Оператор Continue переводит исполнение цикла на следующий шаг. Может быть использован в циклах repeat, for, while.

При использовании последнего сообщения от сервера в условных операторах, существует некоторое правило синтаксиса:
if lastmsg текст последнего сообщения или его часть
или
if lastmsg = $a [or lastmsg = $b. ]
Т.е. если в условии напрямую указан текст сообщения, то не должно быть больше ничего, включая знаки каких-либо операций.

Оператор IF
-----------
Синтаксис:
if <условие>
.
end_if

if_not <условие>
.
end_if

if_not <условие>
.
else
.
end_if

Возможны три варианта условий:

1) Проверка какой-то переменной, синтаксис:
if <значение> <знак операции> <значение>
Примечание: между знаком операции и значениями должен быть разделитель.
Например:
if hits < 45

2) Проверка последнего сообщения от сервера:
If lastmsg <последнее сообщение>
если в последнем сообщении от сервера есть указанная строка
Например:
if lastmsg too heavy

3) Проверка цвета в определенных координатах:
if <коорд> <цвет> [цвет2]
Если цвет в точке <коорд> равен <цвет>
Примечание: если задан цвет2, то цвет точки проверяется на принадлежность диапазону от цвет до цвет2. Учтите, что проверка цвета в определенных координатах корректно работает только при развернутом окне ультимы.

Оператор WHILE
--------------
Синтакис:
While <условие>
.
end_while

While_not <условие>
.
end_while

Возможны три варианта условий:

1) Проверка какой-то переменной, синтаксис:
While <значение> <знак операции> <значение>
Примечание: между знаком операции и значениями должен быть разделитель.
Например:
While hits > 45

2) Проверка последнего сообщения от сервера:
While lastmsg <последнее сообщение>
делать пока в последнем сообщении от сервера есть указанная строка
Например:
while lastmsg too heavy

3) Проверка цвета в определенных координатах:
While <коорд> <цвет> [цвет2]
Пока цвет в точке <коорд> равен <цвет>
Примечание: если задан цвет2, то цвет точки проверяется на принадлежность диапазону от цвет до цвет2
Например:
While 320 240 1489121

Синтаксис:
For #<имя> <начало> <конец> [шаг]
.
End_for
Цикл, с инкрементом переменной. Если переменная #<имя> существовала, то она заменяется, иначе добавляется. После завершения цикла переменная равна <конец>. Если шаг не указан, он равен 1.
Например:
For #i 0 10 2

Учтите, что если вы задаете граничные условия цикла через переменные, пилот считывает значения этих переменных при входе в цикл и больше значения этих переменных не проверяет. Поэтому изменение границ цикла внутри цикла невозможно.

Повтор действий указанное количество раз
Синтаксис:
Repeat <число>
.
End_Repeat

Переход на указанную метку
Синтаксис:
Goto <метка>

Метка должна быть указана в скрипте в следующем синтаксисе:
:<метка>

Например:
Goto end
:end

Синтаксис вызова подпрограммы:
gosub <метка>

Подпрограмма начинается с
:<метка>
и заканчивается
return

Подпрограммы рекомендуется располагать в конце скрипта и перед ними поставить либо end_script, либо goto на начало скрипта.

Синтаксис вызова процедуры:
call <имя>
Процедура с указанным именем ищется сначала в текущем скрипте, а затем, если не найдена, в "файле процедур" - скрипт с номером 99. Загрузить туда что-либо можно с помошью соответствующего пункта меню. Поддерживается вложенный вызов процедур.

Процедуры можно располагать в любом месте программы. При обнаружении начала прроцедуры, автоматически ищется ее конец, и выполнение продолжается со следующей строки. Вложенное описание не поддерживается.

Процесс выполнения процедуры не отображается, параметры пока не передаются.

Процедура начинается с
proc <имя>
и заканчивается
end_proc

Например:
proc saying_message
say test passed
end_proc
call saying_message
end_script

Скрипт в окне выполняется пошагово, от первой строки к последней, за исключением случаев переходов по условным операторам, циклам, меткам, и подпрограммам. После выполнения последней строки скрипт будет автоматически повторяться сначала.

Для прекращения выполнения скрипта используйте команду:
End_Script
Параметров нет.

Или команду:
stop_script
без указания каких-либо параметров.

Wait <число> - ждать.
Параметр <число> можно задать в различных единицах измерения:
wait 1 // 1 миллисекунда
wait 1s // 1 секунда
wait 1m // 1 минута
wait 1h // 1 час

WaitForTarget [max wait time] - ждать "прицела" (в милисекундах).
Приостанавливает выполнение скрипта, пока курсор в ультиме не примет форму таргета, или пока не истечет интервал времени, указанный в качестве параметра в мс. Максимальное значение для max wait time составляет 10000 (то есть 10 секунд).

pause_script
Команда pause_script без указания параметров приостанавливет выполнение текущего скрипта. Чтобы запустить его вновь, вы должны будете задать команду resume_script В ДРУГОМ СКРИПТЕ c ссылкой на номер текущего (см. следующий подраздел) или вручную снять его с паузы, сделав текущим и нажав соответствующую кнопку.

Вы можете управлять работой других скриптов, запущенных в других окнах ЭТОГО ЖЕ UoPilot-а при помощи нижеследующих команд. При этом в качестве параметра <number> вы указываете номер окна соответствующего скрипта в UoPilot-е.

start_script <number>
Если скрипт с таким номером существует, то он будет запущен

stop_script <number | all >
Если скрипт с таким номером существует, то он будет остановлен. При использовании параметра "all" будет остановлено исполнение всех скриптов, в том числе и того, который эту команду выполнил.

pause_script <number | all >
Если скрипт с таким номером существует, то он будет приостановлен. Особенности действие параметра "all" см. выше.

resume_script <number | all>
Если скрипт с таким номером существует, то его выполнение будет продолжено

В во всех этих командах, за исключением первой, вместо номера скрипта вы можете задать параметр 'all' - тогда действие данной команды будет распространено на все скрипты, загруженные во все существующие окна UoPilot-а.

По поводу использования команд pause_script и stop_script без параметров - смотрите предыдущий подраздел.

Alarm [файл.wav]
Издает звуковой сигнал, содержащийся в файле [файл.wav]. Если параметр [файл.wav] не указан - воспроизводится стандартный звук, если файл не найден, то команда игнорируется.
Например:
alarm welcome.wav

Msg [текст]
На экран выводится окно, содержащее указанный текст и скрипт ждет закрытия этого окна. Окно с текстом выводится поверх всех окон.

Flash
Мигнуть в таскбаре. При этом в таскбаре мигает окно Пилота. Если вы хотите, чтобы мигало то окно ультимы, к которому привязан текущий скрипт, укажите команду flash с каким-либо параметром.
Например:
flash что-нибудь

Exec <команда> [параметры]
Запустить указанное приложение, передать ему указанные параметры. Для использования в качестве параметров зарезервированных переменных, поставьте перед ними признак переменной '#'.
Обратите внимание, что вы используете знак '#' как для числовых переменных, так и для строковых!
Например:
exec c:\test.exe #name #lastmsg

Terminate <заголовок окна>
Завершить указанное приложение. Следует использовать с осторожностью, иначе можно прибить совсем не то, что хотелось.

macro_load <имя файла>
Загрузить ранее записанный и сохраненныйв файл макрос. Если не указан путь, то ищется в каталоге UoPilot'а.

macro_play [число]
Запустить загруженный макрос [число] раз, и дождаться окончания его выполнения. Если [число]=0 - макрос будет выполняться бесконечно, по умолчанию один раз. Остановить\запустить вручную можно стандартными горячими клавишами.

Все команды работы с мышью, а также некоторые другие требуют указания координат. Пилот поддерживает два способа указания координат: абсолютные координаты (координаты точки от левого верхнего угла экрана) и относительные координаты (координаты точки от левого верхнего угла экрана Ультимы. Заголовок окна Ультимы не учитывается). Задать в скрипте координаты вы можете, наведя курсор мыши на необходимую точку и нажав комбинацию Ctrl-A. При этом помните:

1) Окно UoPilot должно быть активно. То есть расположите окно ультимы под окном пилота, выберите окно пилота, наведите курсор мыши на нужную точку НЕ НАЖИМАЯ НА КНОПКИ МЫШИ и нажмите Ctrl-A.

2) В окне пилота должен быть включен один из флажков "Сразу вставлять относительные координаты в скрипт" или "Сразу вставлять абсолютные координаты в скрипт".

3) Если вы указываете в командах абсолютные координаты (нельзя использовать в команде drag) - вам надо после координат указать идентификатора абсолютных координат - ключевое слово "abs", являющееся последним параметром в команде.
Например:
double_left 218, 242 abs

На время выполнения команд работы с мышью происходит захват мыши.

Move <коорд>
Перемещает курсор в указанные координаты.
Внимание! Крайне рекомендуется задавать эту команду перед заданием любой из двух нижеследующих команд.

Left <коорд>
Щелкнуть левой клавишей мыши 1 раз в указанных координатах

Right <коорд>
Щелкнуть правой клавишей мыши 1 раз в указанных координатах

Double_Left <коорд>
Щелкнуть левой клавишей мыши 2 раза в указанных координатах

Double_Right <коорд>
Щелкнуть правой клавишей мыши 2 раза в указанных координатах

left_down <коорд>
Прижимает левую кнопку мыши в указанных координатах

left_up <коорд>
Отпускает левую кнопку мыши в указанных координатах

right_down <коорд>
Прижимает правую кнопку мыши в указанных координатах

right_up <коорд>
Отпускает правую кнопку мыши в указанных координатах

Send <клавиша [пауза]> | <текст>
"Нажать" клавишу и ждать указанное число миллисекунд. Если параметр не распознан как управляющая клавиша, то он посылается как текст. В последнем случае команда работает аналогично команде say, за исключением завершающего Enter'а.

Sendex <список клавиш>
"Нажать" последовательно несколько клавиш. Посылает практически все комбинации клавиш. Клавиши Ctrl, Alt, Shift кодируются символами ^, @ и

соответственно. Все функциональные клавиши должны быть заключены в фигурные скобки, например: . В одной команде может быть целое предложение из клавиш:
sendex

application @
Имеется следующее свойство: приложение примет только те клавиши (символьные), которые соответствуют установленной в нем раскладке клавиатуры.
Во время выполнения команды, на приложение направляется фокус, и блокируется система. При некоторых обстоятельствах, следующая команда выполняется до завершения текущей.

Drag <откуда> <куда> [количество]
Перенести из точки с координатами <откуда> в точку с координатами <куда> указанное количество предметов. Координаты <откуда> и <куда>могут быть только относительные. Если не указать количество, то перенесется один некучкующийся предмет (окошко с количеством не всплывает), если указать all, то перенесутся все предметы.
Например:
Drag #x #y 320, 240

Say [текст]
Набрать текст и нажать Enter. Например:
say my x: coordx y: coordy and armor: ar
Говорят модераторы - добрые люди. Не верьте, это вам сказали модераторы))) bash.org©

Другие статьи

Uopilot скачать бесплатно на русском языке

Uopilot – это специальная программа, предназначенная для создания и записи макросов. К таким макросам, записанным при помощи Uopilot, относятся движения мышкой, нажатие клавиш или же выполнение каких-либо действий за компьютером. Программа обеспечивает максимально полную поддержку работу с клавиатурой.

Uopilot скачать бесплатно пользователи могут с нашего сайта. Программа понравится в первую очередь тем, кто выполняет однообразные циклические действия за компьютером. С помощью Uopilot вы сможете существенно упростить выполненные таких задач, которые будут с максимальной точностью выполняться и без вашего участия. В особенности данное приложение понравится геймерам, которые получили возможность прокачивать своего героя или же добывать ресурсы круглые сутки в полностью автоматическом режиме.

Управляется программа при помощи специальных вкладок и горячих клавиш, которые и позволяют с легкостью записывать те или иные действия игрока и повторять их в последующем уже в циклическом автоматическом режиме. Отметим простоту работы с данной программой, поэтому какая-либо инструкция вам будет не нужна. Она имеет лишь несколько вкладок, поэтому вы с легкостью сможете разобраться во всех ее параметрах и сможете записывать ваши действия за компьютером с их последующем повторением. Автокликер Uopilot имеет полностью русифицированный интерфейс, что позволяет настраивать функционал данной программы даже тем пользователям, которые слабо разбираются в тонкостях английского языка. Если у вас имеются сложности в работе, вы может посмотреть видео как пользоваться автокликером.

Скачать Уопилот вы можете с нашего сайта. Программа занимает минимум места, а ее скачивание и установка не занимает много времени. В оперативной памяти программа Uopilot занимает лишь несколько килобайт, поэтому запускать приложение можно даже на не слишком мощных по производительности компьютерах. Программа Uopilot распространяется на бесплатной основе, а разработчики кликера постоянно совершенствуют свою программу, выпуская ее новые версии. В таких новых версиях значительно расширяется функционал, а сама программа максимально точно записывает действия пользователя.

Из преимуществ Uopilot можно выделить следующее:
  • Точность работы.
  • Минимальный размер.
  • Возможность повторения нажатия клавиш и движения мышкой.
  • Uopilot скачать бесплатно на русском языке можно в различных версиях плагина.

Скачать uopilot инструкция по применению без регистрации

Лучшая тема. "Uopilot инструкция по применению".

Uopilot инструкция по применению уходит Старенькый год. Спасибо за ссылку на веб-сайт как строить из спичек без клея. Теоретические базы подготовки школьников к исследовательской деятельности 1. Буду благодарен за ответы. Поезд 658Б отчаливает из Бреста в 20:30. Можно, также, уменьшать тремор рук при подвесной стрельбе либо убыстрить процесс крафтинга предметов. И через тыщу лет найдутся люди, которые не побоятся сразиться с заболеваниями старым, испытанным инструкиця.

03 марта 2016, 6:27

На основании объединения собственных вкладов стороны обязуются выступить участниками общества с ограниченной ррименению. Это уже не ваша забота. Жарить в духовке на uopilot инструкция по применению огне с маленьким количеством воды в течение 50 минут, временами поливая ее жидкостью. Со Stanza удобнее как раз через iTunes.

11 января 2016, 10:27

Тема 12 Прикладной уровень сети Internet Презентацию лекций разработал доцент кафедры оптимизации систем управления Томского политехнического университета. Запросы поступившие опосля данного времени будут рассмотрены на последующий день.

13 марта 2016, 4:45

2005 - 2016 © www.opticomspb.ru. Uopilot инструкция по применению

Мы в социальных сетях:

Стандартная справка по UO Pilot - Скрипты - Полезные советы - Статьи - сайт гильдии Masters of destiny

=
- Работа с 2 окнами UO
- Запись движений мыши
- Сохранялка экрана (ScreenShot)
- Расширенный язык скриптов
=================================


Скрипт:
=================================
Щелкните правой кнопкой мыши над текстом, чтобы выбрать команду из меню.

Первое слово в строке - команда, остальные слова - параметры.

Слова состоят из символов 0-9, А-z, А-я
Символы #, +, -, *, /, >, <, =. являются служебными, остальные разделители.
Т.е. send F5 то же самое, что send(F5), send [F5] и т.д.

В одной строке может быть только одна команда.

Регистр не учитывается.

<+> Если первое слово в строке не команда, то строка считается комментарием. Можно писать комментарии после всех параметров.
Также таковыми считается все, что идет после двойного слэша '//'.
Крайне рекомендуется использовать последний метод.

Пример:
wait 5000 здесь идет комментарий.


Некоторые из команд:
=================================
(в угловых скобках обязательные параметры, в квадратных - нет)
знаком <+> помечены изменения относительно базовой версии

Send <клавиша [пауза]> | <текст> - "нажать" клавишу и ждать указанное число миллисекунд. если параметр не распознан как управляющая клавиша, то он посылается как текст.

<+> Sendex <список клавиш> -"нажать" последовательно несколько клавиш
// Sendex

Wait <число> - ждать (в милисекундах)

WaitForTarget [max wait time = 10000] - ждать "прицела" (в милисекундах)

Left, Right <коорд> - щелкнуть 1 раз
Double_Left, Double_Right <коорд> - 2 раза

Move <коорд> - "переместить" курсор

<+> Drag - перенести, если не указать кол-во то перенесется один некучкующийся предмет, если указать all, то перенесутся все предметы
// Drag #x #y 320, 240

<+> Set - установка\добавление переменных
Set $<имя> <значение> или
Set #<имя> <знач1> [<зн. оп.> <знач2>]
// Set #i #i + 1
// Set $s test string

Repeat <число> - повторить <число> раз
End_Repeat

<+> For #<имя> <начало> <конец> [шаг]
.
End_for
цикл, с инкрементом переменной.
// For #i 0 10 2

<+> While <коорд> <цвет> [цвет2]
пока цвет в точке <коорд> равен <цвет>,
если задан цвет2, то цвет точки проверяется на принадлежность диапазону от цвет до цвет2
// While 320 240 1489121

<+> While <знач1> <знак оп.> <знач2>
пока знач1 >, <, = либо <> знач2
// While hits > 45

<+> While lastmsg <последнее сообщение>
пока в последнем сообщении от сервера есть указанная строка
// While lastmsg too heavy

Goto <метка> - переход на указанную метку
// Goto end
// :end

IF <коорд> <цвет> [цвет2]
[цвет в точке <коорд> равен <цвет>]
Else
[иначе. ]
End_IF
Примечание: если задан цвет2, то цвет точки проверяется на принадлежность диапазону от цвет до цвет2

<+> If <знач1> <знак оп.> <знач2>
если знач1 >, <, = либо <> знач2
// If hits < 45

<+> If lastmsg <последнее сообщение>
если в последнем сообщении от сервера есть указанная строка
// If lastmsg too heavy

Say [текст] - набрать текст и Enter

Msg [текст] - выдать на экран окошко

Alarm - издает звуковой сигнал, ранее содержащийся в файле msg.wav

End_Script - остановка скрипта, иначе будет повторяться все сначала

Возможно, проверка на диапазон цвета работает неккоректно, тогда пишите.

Чтобы указать точку, наведите курсор на цель и нажмите Ctrl+A, причем окно UoPilot должно быть активно!

Не забывайте писать End_Repeat, End_IF и т.д.

<+> При лагах ставьте в UO на кнопку в конце waitfortarget, а в скрипте аналогичную команду, тогда UO и UoPilot будут ждать, когда появится курсор.

Рекомендую ставить, например, Ctrl+1 - медитацию.Тогда в игре при нажатии Ctrl+1 чар начнет медитировать, еще раз - перестанет. То есть не надо каждый раз переключаться в UoPilot

UoPilot v.0.98 beta, (c) 2002 by WK
http://wknight.chat.ru wknight@chat.ru

добавил изменение качества сжатия jpeg. по дефолту поставил 75.

добавил панель управления домом.

добавил панель управления кораблем.
вынесено на отдельную форму, которая отстается поверх окна УО (как впрочем и остальных :)
имеется возможность спрятать главную форму во время плавания.

установил флажек "Сразу вставлять координаты в скрипт".

установил "Пауза между строками в миллисекундах" по дефолту 100.
поскольку иногда забываешь и получается вис.

вставил в обработку скрипта процессмесагу, теперь практически не виснет.

исправил некоторые несоответствия с хоткеем старта скрипта (Alt+Del).

при перетаскивании файла на Uopilot, скрипт заполняется содержимым файла. проверок никаких нет.

исправил команду 'say'.

добавил команду 'sendex'. посылает практически все комбинации клавиш.
клавиши Ctrl, Alt, Shift кодируются символами ^, @ и

соответственно.
все функциональные клавиши должны быть заключены в фигурные скобки:
в одной команде может быть целое предложение из клавиш:
sendex

application @
имеется следующее свойство: приложение примет только те клавиши (символьные), которые соответствуют установленной в нем раскладке клавиатуры.
во время выполнения команды, на приложение направляется фокус, и блокируется система.
при некоторых обстоятельствах, следующая команда выполняется до завершения текущей.

исправил клики\даблклики мышью.

добавил возможность альтернативного определения цвета точки на экране. так как при наведении мышой предметы подсвечиваются, и истинный цвет предмета не определялся.
новый метод работает в 2 этапа: выбор точки, определение цвета (при отведенной в сторону мышке).

в связи с предидущим пунктом:
из добавления "клавиша и пауза" оставил только "клавиша". из-за недостатка свободного места, а менять первоначальный интерфейс мне пока не хочется.

добавил будильник. при наступлении события проигрывает все тот-же файл msg.wav в течении следующих 9 минут,
с перерывом по минуте; либо проигрывает однократно вышеупомянутый файл и запускает текущий скрипт.

добавил переменные.
в имени переменной допустимы символы - ['0'..'9','A'..'z','А'..'я'], регистр неучитывается.
отныне слово следующщее за '#' считается именем переменной и заменяется ее значением, если оно было присвоено ранее. исключением является первое слово после команд set и for. переменные изменяются только при участии set и for, команда repeat использует значение, не изменяя его.

добавил команду 'set' - установка\добавление переменных
Set $<имя> <значение> или
Set #<имя> <знач1> [<зн. оп.> <знач2>]
между знаком операции и значениями должен быть разделитель.
поддерживаются следующие операции: +, -, *, /
при делении результат округляется к ближайшему целому.
// Set #i #i + 1
// Set $s test string

добавил цикл for. end_for.
for #<имя> <начало> <конец> [шаг]
.
end_for
если переменная существовала, то она заменяется, иначе добавляется.
после завершения цикла переменная равна <конец>+1

добавил отображение текущих значений переменных.

добавил возможность изменения текущих настроек клиента:
Show Names of Approaching Players
по клавише Insert (при лагах очень актуально, особенно у ББ);
Use circle of Transparency (радиус устанавливается 200);
Query before performing criminal actions;
Enable pathfinding with double-right-click

при наличии папки Scripts скрипты берутся из нее, иначе из каталога программы.

добавил хоткей для перетаскивания итемов из под мышки, в заранее выбранное место (монстров например лутить побыстрому :)
(пока работает не очень качественно, цифра в окошке - задержка)

отныне в команде drag необходимо указывать 'all' для перетаскивания всех итемов.
отсутствие третьего параметра подразумевает, что итем одинарный, и окошко с количеством не всплывает.
(сие было сделано для борьбы с лишними кликами\даблкликами на таргет)

добавил переключение UuPilot <-> UO по Ctrl+U

справка вынесена в меню. по нажатии открывается\закрывается форма справки.

добавил возможность флудить какой-нить мессагой без использования скрипта.
месага произносится по две строки за раз. при длинных сообщениях вас почти наверняка обзовут спамером :)
по хоткею Ctrl+M она произносится однократно.

добавил команду waitfortarget [max wait time = 10000]
приостанавливает выполнение скрипта, пока курсор в ультиме не примет форму таргета, или пока не истечет интервал времени, указанный в качестве параметра в мс.

окно УО автоматически определяется при запуске UoPilot'а.

добавил возможность отключать горячие клавиши. (если например запущено два пилота)
при запуске второго пилота, горячие клавиши в нем отключаются автоматически.

файл msg.wav помещен в ресурс, и больше не нуждается в распространении с UoPilot'ом.

UoPilot v.0.99 alfa 8, (c) 2002 by WK
http://wknight.chat.ru wknight@chat.ru

добавил опцию для GM`ов: Мигать при приходе пейжджа.
UoPilot будет мигать в таскбаре при приходе от сервера строки, начинающейся на 'GM Page from'.
для выбора анализируемого окна, нажмите соответствующую кнопку, наведите курсор на цель и нажмите Ctrl+A, при этом окно UoPilot`а должно быть активно! на кнопке появится имя чара, чье окно выбрано. автовыбор происходит при старте UoPilot`а. анализ делается 2 раза в секунду.

при сохранении скрипта, будет указано имя последнего загруженного файла.

добавил возможность заполнять значение задержки между строк при загрузке скрипта.
задержка берется из имени файла: имя_файла.задержка.расширение
тоесть число непосредственно перед расширением, выделенное точками.

добавлена обработка параметров чара и координат текущего местонахождения
параметры: name, hits, mana, stam, wght, ar, gold, lastmsg, coordx, coordy
могут использоваться практически в любых операторах и сочетаниях:
say my x: coordx y: coordy and armor: ar

добавлены операции: >, <, =, <>
if <значение> <знак операции> <значение>
.
end_if
между знаком операции и значениями должен быть разделитель.

добавлена проверка последнего сообщения от сервера
if lastmsg <последнее сообщение от сервера>
.
end_if
сообщение от сервера можно писать не целиком.

добавлен запуск УО и логин, с аккаунтом и паролем, запомненными в конфиге.
UoPilot сам залогинится, если не возникнет проблем, или закроет окно УО при сообщении от сервера о том, что для вас там нет места, запустит его снова и так далее.
происходит это при помощи нажатия на кнопку Next Screen, и раз в семь секунд в то место в центре экрана, где появляется галочка\крестик при какой-либо ошибке.
чтобы появилась галочка Save Password, добавьте в файл uo.cfg, расположенный в каталоге с игрой строчку RememberAcctPW=on

доработаны комментарии. таковыми считается все, что идет после двойного слэша '//'

добавлена команда Goto <метка> - переход на указанную метку, метка должна начинаться с двоеточия ':'

добавлен цикл while. end_while.
While <коорд> <цвет> [цвет2]
цвет в точке <коорд> равен <цвет>,
если задан цвет2, то цвет точки
проверяется на принадлежность
диапазону от цвет до цвет2
или
While <параметр> <знак оп.> <знач.>
параметры: hits,mana,stam,wght,ar,
coordx,coordy либо переменные
поддерживаются следующие
операции: >,<,=,<>
между знаком операции и
значениями должен быть
разделитель.
или
While lastmsg <последнее сообщение>
сообщение от сервера можно писать
не целиком.
.
End_While

перед закрытием UoPilot'а, стало необязательным останавливать скрипт.

добавлен автологин в UO, без перезапуска UO.
при использовании данного способа, клиент забирает немного памяти с каждой новой попыткой. в результате несколько раздувается своп.
рекомендуется перезапускать клиент через пару миинут долбежки.

исправлена ошибка, приводящая к неправильному определению имени следующего файла, при сохранении скриншота по номеру.

скриншоты сохрняются с 3х значыми номерами, т.е. 001..021..321.

добавил возможность загружать скрипт из командной строки
UoPilot /sC:\UO\my_script.txt

добавил возможность указывать путь к клиенту в командной строке
UoPilot /с"C:\Ultima Online\client.exe"

добавил возможность выборочно отключать горячие клавиши.

добавил модуль макросов macros.dll. настройка производится правым кликом на кнопках. воспроизведение макроса происходит в текущее окно UO.

UoPilot v.1.00 beta 1, (c) 2002 by WK
http://wknight.chat.ru wknight@chat.ru
http://wknight.mailru.com
wknight@mailru.com

добавил возможность сохранять настройки в файле uopilot.ini с помощью соответствующего пункта меню.
при старте UoPilot'а они загружаются автоматически.

добавил команды для нажатия и отпускания кнопок мыши
left_down <коорд>
left_up <коорд>
right_down <коорд>
right_up <коорд>

при включении отображения параметров чара, некоторые из них отображаются в заголовке окна UO.
необходимо наличие панельки статуса в UO в свернутом\развернутом виде.
после текущего веса отображается максимальный вес, при котором чар еще способен передвигаться.

Break [уровень] - прервать цикл (выйти из цикла), если уровень больше 1, то прерывается заданное кол-во родительских циклов
Continue - перескочить на след. шаг
могут использоваться в циклах repeat, for, while

полностью избавился от рекурсии. следовательно исправлена ошибка переполнения стека, при длительной работе скрипта.
сняты ограничения на циклы связаные с этой же ошибкой.

добавил команду запуска приложения
exec <команда> [параметры]
добавил команду завершения приложения
terminate <заголовок окна>
следует использовать с осторожностью, иначе можно прибить совсем не то, что хотелось
для использования зарезервированных переменных, поставте перед ними признак переменной '#'
exec c:\test.exe #name #lastmsg

наконец-то сделал UoPilot многопоточным. Отныне вам не придется грузить для каждого скрипта отдельный пилот.
кнопки '+' и '-' довавляют и, соответственно, удаляют новый скрипт. кнопка старт запускает\останавливает текущий скрипт. на закладках обозначаются номера скриптов, и с их же помощью переключаются скрипты.
для каждого скрипта необходимо выбрать свое окно UO, иначе он будет выполняться для последнего выбранного.
выполнение текущего cкрипта отображается как и ранее.

UoPilot v.1.01 beta 7, (c) 2002 by WK
http://wknight.chat.ru wknight@chat.ru
http://wknight.mailru.com
wknight@mailru.com

добавил работу с клиентом версии 2.0.0.

встроил панель макросов в UoPilot. настройки сохраняются в файле uopilot.ini с помощью соответствующего пункта меню.
при старте UoPilot'а они загружаются автоматически.

исправлена ошибка в команде exec, в результате которой не запускались файлы с определенными именами.
для использования зарезервированных переменных, поставте перед ними признак переменной '#'
exec c:\test.exe #name #lastmsg

добавил в меню список десяти последних используемых скриптов. список обновляется при загрузке\сохранении скрипта.

исправил ошибку в команде break

добавил команды для работы с подпрограммами
gosub <метка> - переход на указанную метку
return - возврат к последнему вызванному gosub, если вызовов небыло, то ничего не делается.
подпрограммы рекомендуется распологать в конце скрипта и перед ними поставить либо end_script, либо goto на начало скрипта

добавил возможность "Добавлять пробелы" в начале строки после нажатия Enter'a. находится в настройках, сохраняется.

изменил команду send. теперь если ее параметр не распознан как управляющая клавиша, то он посылается как текст.
работает аналогично команде say, за исключением завершающего enter'а

исправлена ошибка несвоевременного запуска скрипта при помощи будильника

добавлена обработка текущего системного времени: hour, min, sec
могут использоваться практически в любых операторах и сочетаниях:
say current time is hour. min. sec

имена переменных теперь могут состоять из более чем одного символа

добавил возможность редактировать файл login.cfg и парой кликов выбирать нужный сервер UO

добавлена логика (and, or, xor) в условных операторах
приоритетов нет, обрабатывается последовательно
if hour = 23 and min = 45 or #count = 100
end_script
end_if

UoPilot v.1.02 beta 11, (c) 2002 by WK
http://wknight.chat.ru wknight@chat.ru
http://wknight.mailru.com
wknight@mailru.com

добавил возможность изменять команды управления домом (правый клик на кнопке), изменения запоминаются при сохранении настроек

панель управления домом вынесена на отдельную форму, которая отстается поверх окна УО (как впрочем и остальных)

добавил возможность выбирать горячие клавиши, изменения запоминаются при сохранении настроек
отключение реагирования на горячие клавиши сбрасывает их установки на дефолтные

изменена команда move, теперь она перемещает курсор мыши в указаную точку. ее следует использовать перед кликами левой кнопкой в бакпаке

добавил таймер на питье пузырей. показывает когда можно пить следующий. поскольку у всех пузырей время разное, то оно подбирается опытным путем

добавил возможность, при редактировании скрипта, растянуть его окно до необходимых размеров с помощью соответствующего пункта попуп меню

исправил ошибку непосылания клавиши F1 из вкладки "Общее"

в функцию "AutoMove" добавил еще две координаты, и возможность указывать количество перетаскиваемых предметов. практически в два раза увеличилась скорость перетаскивания

положение окна UoPilot'a запоминается при сохранении настроек

исправил ошибку в функции "Добавлять пробелы"

добавил возможность располагать UoPilot поверх всех окон, запоминается при сохранении настроек

добавил возможность выбирать буквенно-цифровые клавиши на вкладке "Общее"

добавил возможность отключать отображение параметров чара в заголовке окна UO

добавил возможность отключать отображение координат в заголовке окна UO

добавил сохранение числа повторов макроса

отключил хинт в скрипте "Нажмите правую кнопку мыши, чтобы получить список команд"

отныне окно справки можно растягивать до нужных размеров

добавил возможность посылать BackSpace после посылки буквенно-цифровой клавиши на вкладке "Общее", что-бы не печатались ненужные символы

добавил работу с абсолютными координатами, т.е. относительно левого верхнего угла экрана.
может использоваться со всеми мышинными командами кроме драга. в качестве идентификатора абсолютных координат служит ключевое слово "abs", являющееся последним параметром в команде
double_left 218, 242 abs
на время выполнения команды происходит захват мыши

вернул обработку параметров чара str, int, dex
могут использоваться практически в любых операторах и сочетаниях

добавил работу с клиентами версий 1.26.4b и 3.0.0c

добавил определение направления взгляда чара chardir
0 - чар смотрит на север, каждые 45 градусов поворота чара по часовой стрелке добавляют еденичку, т.е. 7 - чар смотрит на северо-запад
может использоваться практически в любых операторах и сочетаниях
if chardir = 2 // смотрим на восток

зарезервированное слово ar заменено на более длинное armor

добавил возможность отображения координат курсора в заголовке окна UoPilot'а

добавил автосохранение настроек UoPilot'а

добавил кнопку пауза/продолжение скрипта
горячая клавиша Pause

добавил возможность пошагового выполнения скрипта

настройки горячих клавиш вынесены на отдельную форму

добавил возможность выборочного отображения параметров чара в заголовке окна UO

добавил работу с клиентом версии 1.26.4a

дополнен пункт особенности\недостатки, касающийся клиентов младше 2.0.3

при разворачивании скрипта, кнопочки старта скрипта, паузы и т.д. переползают вслед за ним

добавил возможность автоматически прятать окно UoPilot'а при разворачивании скрипта

немного косметики, как внешней, так и внутренней. а также исправлено немного багов

для включения, ранее отключеной, горячей клавиши, больше не требуется отключать все остальные
при включении, ее настройки устанавливаются по умолчанию

добавил возможность сохранять движения мыши в файл. редактировать его крайне не желательно, но в принципе можно. структура следующая:
одна строка - одно событие. первое слово - событие, второе и третье - параметры (например координаты), четвертое - время от начала макроса, пятое - хендл окна (обычно только для кликов)

добавил команды работы с макросом

macro_load <имя файла> // загрузить макрос. если не указан путь, то ищется в каталоге UoPilot'а. для использования зарезервированных переменных, поставте перед ними признак переменной '#'

macro_play [число] // запустить макрос [число] раз, и дождаться окончания его выполнения. если [число]=0 то выполняется бесконечно, по умолчанию один раз. остановить\запустить вручную можно стандартными горячими клавишами

добавил команду flash - мигнуть в таскбаре

добавил возможность использовать во втором UoPilot'е те горячие клавиши, которые не использованы в первом

теперь UoPilot работает более качественно под виндами на основе технологии NT

добавил переменную timer, считает количество миллисекунд от начала выполнения скрипта
может использоваться практически в любых операторах и сочетаниях
set timer // устанавливает значение timer в 0

UoPilot v.1.03 beta 2, (c) 2002 by WK
http://wknight.mailru.com
wknight@mailru.com

добавил возможность изменения lastobject и lasttarget в UO.
определение текущих значений производится при помощи двойного щелчка мышью в соответствующей ячейке таблицы на вкладке "Еще".
кнопками, расположенными снизу от каждой таблицы можно добавлять или удалять (не)нужные элементы.
установка производится командой
set <lastobject | lasttarget> <number> //number - номер соответствующей ячейки таблицы
если number > 550, то он считается готовым значением, и записывается в память без изменений.
//set lastobject 1
//send f4 100 //lastobject
содержимое таблиц запоминается при сохранении настроек

исправил ошибку переопределения окон. теперь можно использовать все возможности UoPilot'а на разных окнах UO

исправил очередную ошибку с неопределением ластмессаги

исправил ошибку в команде goto

добавил возможность использовать коментарии в файле login.cfg
располагаются в той-же строке, что и адрес сервера, начинаются с двойного слэша '//'

добавил хоткеи для установки координат АвтоМува

отныне функция AutoMove перетаскивает итемы в активном окне (находящемся под курсором)
немного изменен алгоритм перетаскивания

задержка функции AutoMove теперь запоминается при сохранении настроек

при старте UoPilot'а, загружаются все скрипты, которые были на момент сохранения настроек или выхода

во время пошагового выполнения скрипта, цветом выделяется следующая команда, а не предидущая, как было раньше

добавил возможность останавливать скрипт, при обнаружении неизвестной команды, с помощью соответствующего пункта меню

исправил ошибку в команде set timer

добавил команды для работы с процедурами
call <имя> // вызов процедуры. процедура с указанным именем ищется сначала в текущем скрипте, а затем, если не найдена, в "файле процедур" - скрипт с номером 99. загрузить туда что-либо можно с помошью соответствующего пункта меню. поддерживается вложенный вызов процедур.
proc <имя> // начало процедуры. процедуры можно располагать в любом месте программы. при обнаружении начала прроцедуры, автоматически ищется ее конец, и выполнение продолжается со следующей строки. вложенное описание не поддерживаается.
end_proc // конец процедуры
//proc saying_message
// say test passed
//end_proc
//call saying_message
//end_script
процесс выполнения процедуры не отображается, параметры пока не передаются

добавил возможность менять местами Источник и Приемник функции AutoMove. параметр 'Перемещать мышку' при этом не учитывается

при наведении курсором мыши на закладки с обозначениями номеров скриптов, появляется всплывающая подсказка с именем файла соответствующего скрипта. отключается с помошью соответствующего пункта меню. запоминается при сохранении настроек

исправил ошибку в команде drag x y all

исправил ошибку в командах break и continue

исправил ошибку в команде set lasttarget

отныне, во время редактирования скрипта, клавиша tab работает как отступ, а не переключает элементы управления

немного косметики, как внешней, так и внутренней. а также исправлено немного багов

исправил ошибку в команде double_right, раньше часто кликала туда, где находится курсор

UoPilot v.1.04 beta 1, (c) 2002-03 by WK
http://wknight.mailru.com
wknight@mailru.com

исправил ошибку в процедуре загрузки скриптов при старте UoPilot'а
немного изменен алгоритм: теперь порядок скриптов не меняется, и запоминается активный скрипт

добавил команду для запуска параллельного скрипта
start_script <number>
если скрипт с таким номером существует, то он будет запущен

добавил команду для остановки параллельного скрипта
stop_script <number | all>
если скрипт с таким номером существует, то он будет остановлен

исправил ошибку вызова подпрограмм из файла процедур

если при обращении к параметрам чара возникает ошибка (например закрыли окно UO), то скрипт, в котором это произошло, останавливается
это касается и опции для гм'ов

команды управления домом и кораблем теперь произносятся в активное (верхнее) окно UO
если ни одного не найдено, то туда, куда прилочен UoPilot

добавил несколько вариантов указания времени задержек в скрипте и между строк
//wait 1 // 1 миллисекунда
//wait 1s // 1 секунда
//wait 1m // 1 минута
//wait 1h // 1 час

много полезной информации вынесено на отдельную форму. кнопка "Char Parameters" расположена на вкладке "Еще"

таймер на питье пузырей теперь тикает в заголовке окна UO

вкладка "Настр." куда-то исчезла

много косметики, как внешней, так и внутренней. а также исправлено немного багов

добавил горячую клавишу для вызова панельки с параметрами чара. по умолчанию Ctrl+P

при закрытии панельки с параметрами чара, путем клика на крестик в ее заголовке, она сворачивается в некую прямоугольную плюшку, недалеко от кнопки "пуск". разворачивается обратно аналогичным способом

добавил возможность выбрать, из какого окна UO отображать параметры чара: Активного скрипта, Верхнего окна UO или Окна прилинкованного к UoPilot'у

добавил пункт меню 'Выход без сохранения'. при его выборе не происходит сохранения списка последних открытых файлов, списка открытых скриптов и сохранения настроек, если выбрана опция сохранять при выходе

добавил возможность выбрать, останавливать-ли скрипт при ошибке чтения параметров чара

добавил строковые переменные
отныне символ '$' считается идентификатором строковой переменной
// set $s test string
// set $t test passed
// if lastmsg = $s or lastmsg <> $t.

добавил возможность отображать id и type, на панельке с параметрами чара, в hex формате

добавил определение кучи всякого полезного мусора
Target - вид курсора (0 - рука; 1 - прицел)
CoordZ - координата z чара (высота)
LastObjectType - тип последнего использованного объекта
LastObjectId - идентификатор последнего использованного объекта
LastTargetId - идентификатор последней цели
LastTargetX, LastTargetY, LastTargetZ - координаты последней цели
LastTargetKind - класс последней цели (1 - предмет; 2 - земля; 3 - статика или вода) (т.е. если вам нужно лопатой/киркой кликнуть на поверхность пещеры в заданные координаты, то необходимо указать '3'; если необходимо кликнуть через ласт таргет на предмет, то необходимо указать '1' и 'Id' предмета; ловя рыбку указываем координаты точки и клас '2')
LastLiftedId - идентификатор вещи, которая последней была тронута с места (передвинута, побывала в 'руке')
LastSkill - номер последнего скила который был использаван через меню Skills
LastSpell - номер последнего заклинания которое быле прокастовано через книгу
LastStaticType - тип последней статичной цели (дерево. )
могут использоваться практически в любых операторах и сочетаниях

исправлено несколько багов последней версии

зарезервированные переменные coordx, coordy, coordz, lastobject, lasttarget переименованы соответсвенно в charposx, charposy, charposz, lastobjectid, lasttargetid

добавил контекстное меню с именами всех зарезервированных переменных

исправил ошибку сохранения и использования таблиц ластобъектов в hex формате

добавил коментарии в таблицы ластобъектов
не рекомендуется использовать в них запятую ','

при двойном клике мышью на идентификаторе, в таблицах ластобъектов, значение соответствующей ячейки вставляется в скрипт

при двойном клике мышью на значениях последних параметров, они вставляется в скрипт

добавил возможность сохранения таблиц ластобъектов в файл

UoPilot больше не тормозит

добавил возможность изменения кучи всякого полезного мусора в UO.
set <параметр> <значение> // где <параметр> есть одно из следующего: target, lastobjectid, lastobjecttype, lasttargetid, lasttargetx, lasttargety, lasttargetz, lasttargetkind, lastliftedid, lastskill, lastspell, laststatictype

исправил ошибку, возникающую при переключении между работающими скриптами

изменен алгоритм обновления таблицы переменных