{v.2.41}Список изменений
- Добавил длл "lua5.1.dll" в ресурсы пилота. При запуске пилота проверяется ее наличие в папке, и если ее нет, то распаковываем.
- В клики мышкой добавил параметр "nooffset", который позволяет игнорировать смещение, указанное в переменных "clickoffsetxy". 'kleft 100 100 nooffset'
- Исправил вывод сообщения об ошибке при форматировании скрипта, если пилот располагался поверх всех окон.
- Исправил тип поиска 2 в 'findimage', сломанный пару билдов назад.
- Исправил клики мышкой с модификаторами.
- Исправил работу команды 'set windowpos', если не указан хендл рабочего окна.
- Расширил до 16к строку параметров передаваемую в команду 'prompt'.
- Исправил открытие формы параметров персонажа за пределами экрана, при наличии нескольких мониторов.
- Сделал автоматическое определение ширины окна команды 'prompt'.
- Заменил "Lua 5.1" на "LuaJIT 2.0.5". Убрал сторонний компонент для связи с луа.
- Сделал нажатие по коду клавиши в командах 'send*' и 'sendex*'. Коды указывается в качестве параметров в фигурных скобках. При указании нескольких клавиш, пробелы между скобками обязательны. "send {49} {112}".
- Исправил 'return' в 'for' и 'repeat' из двойного 'gosub'.
- Добавил вывод ошибки запуска скрипта Lua и несколько строк кода вокруг указанной.
- Все переменные пилота, которые были доступны из Lua (17 штук), в Lua теперь функции. Те, которые доступны для изменения (9 штук), в качестве параметра принимают новое значение, возвращают старое (включая 'workwindow()').
- Починил галочку "Отображать оставшееся время ожидания".
- При приостановке скрипта, текущая команда типа 'wait' прерывается.
- Во время задержек в скрипте, таймер на панели параметров персонажа продолжает обновляться.
- Добавил еще несколько параметров в команду 'hint (fontSize fontColor posX posY width height backColor fontStyle fontName (any text))'. Где
'backColor' - цвет фона;
'fontStyle' - "n" - normal, или комбинация следующих: "b" = bold, "i" = italic, "u" = underline, "s" = strikeout;
'fontName' - имя шрифта установленного в системе. - Добавил в меню по ПКМ того, чего там небыло.
- Возвращаемое значение функции 'color' изменено на целочисленное.
- Возвращаемое значение функции 'readmem' зависит от типа читаемого значения.
- Исправил сломанные команды прокрутки колеса мыши.
- Исправил 'hint' без указания параметров.
- Убрал сообщение "runtime error", вызванное прерыванием Lua скрипта.
- Добавил переключение закладок скриптов по Ctrl+Tab, Ctrl+Shift+Tab.
- Сделал функцию 'mouse_pos (["abs"])' в Lua. Возвращает два числа - x,y.
- Сделал принудительное закрытие VM Lua, при остановке скрипта.
- Исправил функции 'findcolor', 'findimage' в Lua.
- Добавил возврат "nil" и "LuaTable", как было в предыдущей версии Lua.
- При вставке в скрипт Lua из меню по пкм, к именам функций добавляются круглые скобки.
- При выводе сообщений в лог, символ '\n' дополняется до '\r\n'.
- Исправил 'clickoffsetx' и 'clickoffsety' в комамнде 'move'.
- В Lua добавил функцию 'get_script_text (номер_скрипта)'. Возвращает в таблицу скрипт с указанным номером, либо текущий, если номер не указан.
- Убрал все преобразования строки, выводимой в лог из Lua. Оставил только дополнение '\n' до '\r\n'.
- Исправил утечку памяти, появившуюся при смене Lua.
- Библиотека Lua загружается и инициализируется только при запуске скрипта на Lua.
- Добавил функцию получения приоритета процесса 'GetProcessPriority ([handle|PID])'. Если хендл не указан, возвращает приоритет пилота. Возвращаемые значения:
'-3' - Error;
'-2' - Idle priority;
'-1' - Below normal priority;
'0' - Normal priority;
'1' - Above normal priority;
'2' - High priority;
'3' - Realtime priority; - Добавил функцию установки приоритета процесса 'SetProcessPriority ([[handle|PID] priority=0])'. В случае успеха возвращает "0", иначе код ошибки. Если хендл не указан, устанавливает приоритет пилота. В качестве 'priority' используются теже значения, что возвращает 'GetProcessPriority'.
- В тестовом режиме добавил функцию установки маски ядер процессора для указанного процесса 'SetProcessAffinityMask ([[handle|PID] mask=0])'. В случае успеха возвращает "0", иначе код ошибки. Если хендл не указан, устанавливает приоритет пилота. В качестве 'mask' указывается "0" - все ядра, либо сумма следующих значений:
1 = CPU 0;
2 = CPU 1;
4 = CPU 2;
8 = CPU 3;
итд... - Исправил ошибку вывода первого сообщения из скрипта Lua, при ниразу не открывавшемся логе.
- Добавил вывод сообщения об ошибке, при ексепшене в скрипте Lua.
- Исправил функцию 'random()' в Lua, теперь возвращает число.
- Если картинка или цвет не найдены, то 'findimage' и 'findcolor' в Lua возвращают nil вместо пустой таблицы.
- Убрал сообщение 'Операция успешно завершена' выводившееся при остановке Lua скрипта.
- Массивы, возвращаемые функциями 'findimage' и 'findcolor' в Lua, теперь числовые.
- Исправил 'findwindow' при использовании из скрипта Lua. Если ничего не найдено, то возвращает "nil", а не пустую таблицу. При вызове без параметров, возвращает данные активного окна.
- Хендл, возвращаемый функцией 'findwindow' в Lua, теперь число.
- Размер сообщения, выводимого в лог, сейчас увеличен до 1к.
- Команда 'get clipboard' очищает принимающий массив.
- Убрал преобразование переменных в получаемом буфере обмена при использовании команды 'get clipboard %array'.
- Починил 'clipboard' в Lua.
'clipboard(text)' - один параметр, установка;
'string = clipboard()' - без параметров, получение одной строкой;
'array = clipboard(0,"string","word")' - больше одного параметра, разбивка в массив по словам, или по строкам, или по словам и по строкам. - Подправил передачу больших целых чисел из Lua. Больше не должны выводится в экспоненциальной форме.
- Исправил ошибку в командах 'set hotkeystart' и 'set hotkeypause'.
- Добавил в функцию 'findcolor' поиск цвета в загруженной области.
- Добавил проверку захвата изображения по хендлу, при нажатии Ctrl+A для привязки скрипта к рабочему окну. Включается галочкой "Check image capture by handle", находящейся рядом с кнопкой "F" на форме скрипта.
- Если изображение не может быть получено, или возвращен черный квадрат, то берется родительский хендл и снова проверяется пока не будет получено изображение.
- В результате проверки в лог выводится цепочка проверенных хендлов и заголовок окна, необходимого для правильного определения цвета, либо сообщение об ошибке.
- Добавил команду проверки захвата изображения по хендлу. Возвращает смещение по координатам и правильный хендл, либо 0.
'set #newhandle checkgetcolor (#x #y #handle)' // UoPilot, в переменные #x #y возвращает смещение.
'handle, offset_x, offset_y = checkgetcolor (handle)' -- lua - Исправил вывод в лог длинных сообщений.
- Галочку "Check image capture by handle" перенес в настройки\разное. Включена по умолчанию.
- Добавил функцию поиска значений в памяти 'findmemory (count value type %result accuracy workwindow)'.
Возвращает количество найденных элементов, либо код ошибки.
Параметры:
count - предельное количество, -1 - все;
value - искомое значение. если строка не сплошная, то в кавычках;
type - тип предыдущего аргумента, также как в командах чтения\записи в память;
%result - принимающий массив;
accuracy - точность поиска последовательности значений;
workwindow - хендл рабочего окна;
В 64х битных процессах пока сканирует только первые 32 бита. - Подправил обновление переменной 'workwindow' при нажатии Ctrl+A.
- Исправил функцию 'getwindow()' в Lua, теперь возвращает число.
- Дочинил. Хендл, возвращаемый функцией 'findwindow' в Lua, теперь число.
- Добавил в команды 'readmem' и 'writemem' чтение\запись по хендлу.
'readmem variable adress type size [handle] [modulename]'
'writemem variable adress type [handle] [ModuleName] [result]' - Добавил команды скрытия курсора мыши: 'mouse hide|show'. Уводит курсор в правый верхний угол экрана и держит его там. При закрытии пилота освобождает курсор.
- Исправил возврат таблицы значений в команде 'findimage' в Lua, при отсутствии результата или ошибке поиска.
- В команду 'findimage' добавил код ошибки '-7' - нечего искать, искомая картинка пустая.
- Исправил 'case:'.
- Сделал восстановление "текущего каталога" при сохраненях\загрузках.
- Исправил в функции 'findcolor' поиск цвета в загруженной области.
- Подправил команды 'Exec' и 'ExecAndWait'.
- Добавил переменную, возвращающую в массив версию пилота 'set %ver version'.
%ver[1 1] - 2.40 - номер версии;
%ver[1 2] - u - статус версии r-релиз, b-бета, u-нестабильная;
%ver[1 3] - 16 - номер беты;
%ver[1 4] - 8 - номер под-беты. - Исправил "get clipboard" с разбивкой по столбцам. Возвращало лишний пустой элемент.
- Исправил функцию 'windowfromcursor()' в Lua, теперь возвращает число.
- Починил 'set windowpos' в Lua. Теперь работает как функция 'windowpos (x, y, width, height [, handle])'. Не возвращает ничего.
- Убрал двойные скобки при вcтавке команд из меню по ПКМ в Lua, курсор устанавливается за скобками.
- Расставил запятые в скобках, при вcтавке команд из меню по ПКМ в Lua.
- При вcтавке команд из меню по ПКМ в Lua убираем признаки переменных.
- Слегка изменил алгоритм вставки команд в скрипт из контекстном меню. Обязательные параметры не убираем.
- Переделал подсветку синтаксиса в редакторе. Добавил возможность изменять категорию существующих ключевых слов и добавлять новые. Список слов указывается в секции "[Highlighter]" в конфигурационном файле пилота в параметрах оканчивающихся на " List" (появятся при сохранении настроек). Пример: "RW EndScript List=end_script,konec_skripta".
- В меню по ПКМ добавил раздел "Lua".
- Добавил возможность комбинировать скрипт пилота с Lua. '--lua' обозначает начало Lua скрипта, '--endlua' соответственно конец.
log start
--lua
log ("lua")
--endlua
log finish
end_script - Переделал алгоритм комментирования строк, в связи с предыдущим пунктом. Теоретически должно работать.
- Подправил возврат кода ошибки функциями 'findimage' и 'findcolor' в Lua, при неправильном указании параметров.
- Исправил в 'findimage' поиск запомненной картинки в загруженной области. Требовало размер области больше положенного.
- Переделал в Lua функции 'findimage' и 'findcolor' на новый синтаксис, все параметры передаются по одному, через запятую.
Путь к файлу и набор цветов пока передаются строкой в таблице (в фигурных скобках). Принимающий массив изъят из обращения. - По синтаксису Lua в пути необходимо удваивать символ обратный слеш "c:\\", либо указывать путь в двойных квадратных скобках [[c:\]].
- Функции возвращают массив (таблицу) найденных элементов и код ошибки.
Пример:--'arr, err = findimage(10, 20, 1020, 810, {"C:\\tmp\\image.bmp"}, 2)'
--'arr, err = findcolor(10, 20, 1040, 810, {"r(255)"}, 2, -1, "abs")' - Исправил эксепшен, возникающий при перезапуске Lua скриптов.
- Добавил "*.lua" в маску по умолчанию, в диалоги открытия\сохранения скриптов.
- Исправил галочку "Добавлять пробелы", слегка переделал алгоритм.
- Исправил 'dir' в Lua. Если ничего не найдено, то возвращает "nil", а не пустую таблицу.
- В хелп с Wiki, который вызывается по "F1" или по ПКМ на операторе в скрипте, добавил команды Lua. Какую справку показывать, Lua или обычную, определяется по предшествующему комментарию.
- В "Перекачать всё с Wiki" добавил скачивание Lua вариантов команд.
- Исправил эксепшен при использовании 'send' без параметров.
- Убрал зацикливание одинокого скрипта Lua без признака конца скрипта "--endlua".
- Добавил редактор "Подсветки синтаксиса" в меню "Настройки".
- Исправил ошибку "EConvertError '^xx'", где "хх" номер скрипта, иногда возникающую при выполнении процедур.
- Исправил присваивание 'workwindow' в процедурах. Присваивание срабатывало только на вызывающий скрипт.
- Убрал кусочек отладочной информации забытый недавно в финдколоре.
- В редакторе скриптов отключил горячую клавишу удаления текущей строки, и для функции Redo изменил на Ctrl+Y.
- Исправил минимальные размеры захватываемой картинки в команде 'getimage' при работе по хэндлу.
- Исправил исключение при работе по хэндлу в команде 'getimage', когда начальные координаты были больше конечных.
- Убрал напоминание о том, что не указано рабочее окно, при старте скрипта по горячей клавише.
- В подсветку синтаксиса добавил комментарии Lua "--".
- Добавил восстановление иконки в трэе, при перезапуске проводника.
- Слегка подправил вывод сообщений об ошибках Lua, теперь сообщает какое именно было исключение.
- Отключил генерацию исключения "деления на 0" и исключения "при ошибочных операциях" (иначе не работает), для совместимости с Lua.
- Допрятал вкладку ультимы в настройках, исправил связанный с ней эксепшен.
- Исправил возврат таблицы значений в команде 'scripts()' в Lua.
- Добавил восстановление позиции курсора в редакторе после остановки скрипта Lua.
- Добавил "всплытие" окна лога, при активации пилота.
- Подправил добавление пробелов в скрипте, при нажатии клавиши Enter.
Домашняя страница
скачать uopilot 2.41
скачать Lua 5.1
скачать AntiFrost
скачать AntiGate
пароль на архивы: uopilot.uokit.com
скачать UoPilot_2.41 + jit (gcc). Jit compiled by rinat84. Пароль: uopilot.uokit.com
скачать LuaJIT со статической компиляцией. Compiled by rinat84
Обсуждение справки по UOPilot(Wiki)
Пожелания (АРХИВ)
Ниже оставляйте предложения и замечания о неисправностях.