UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
WKnight
Пожертвовать на дальнейшее развитие:

Рубли: R849464451336
Гривны: U145931779718
Доллары: Z353114408274


410011422550405


--v.2.39--

Исправил установку размеров в команде 'log open', при первом открытии окна лога.

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

Добавил команду перезапуска скриптов 'restart_script [number | filename | all | allex]'. Сначала останавливает все указанные, потом запускает все указанные, и потом перезапускает свой скрипт, если нужно.

Исправил команду 'log close', открывавшую закрытый лог.

Исправил ошибку, возникающую, при указании комментария в описании процедуры. "proc test // comment".

Исправил показ хелпа с Wiki для составных команд типа 'set clipboard'.

При открытии Wiki страницы по ПКМ на команде в скрипте, фокус устанавливается на саму статью, а не на выпадающий список.

Исправил копирование примеров с Wiki в пилот.

Исправил ошибку в команде 'set windowpos' с параметрами TOP и BOTTOM.

Добавил возможность перезагрузки указанного плагина. 'pluginload [filename]', 'pluginreload [filename]', 'pluginunload [filename]'.

Добавил функцию плавного перемещения курсора, синтаксис как у команды 'move'. 'move_smooth <х> <у> [+х +у [-х -у]] [abs|handle]'.

В форматирование добавил форматирование подпрограмм от ":метки" до "return" находящихся на одном уровне вложенности.

Команда 'repeat'. Исправил вход в цикл при указанном количестве повторов <= 0.

Исправил ошибку "-4" в команде 'findimage', возникающую, если координата и путь к файлу не разделены пробелом.

Подправил функцию чтения памяти клиента.

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

Добавил ключ командной строки, изменяющий рабочую папку пилота. "UoPilot.exe /hC:\Temp\".

Добавил функцию запоминания части экранной области 'GetImage (StartX StartY EndX EndY [type|handle] [abs])'. Возвращает строку в виде "Адрес в памяти|Ширина|Высота|Длина строки в байтах/", либо код ошибки.

Добавил функцию удаления запомненной части экранной области 'DeleteImage (address)'. Возвращает "0" или "1", либо код ошибки.

Переделал функцию 'findimage'. В качестве типа поиска принимает адрес из функции 'GetImage'. Координаты в функции 'findimage' указываются относительно части экрана, сохраненной в функции 'GetImage', но возвращаются относительно привязанного окна\экрана.
set %a GetImage ( 100 100 1000 1000 )
set #v %a [1 1]
set $a findimage ( 51 51 1403 1403 (C:\test.bmp) %arr #v 80 1)
set $b DeleteImage ( %a [1 1] )

Отключил по-умолчанию галочку "Возвращать курсор мыши после кликов".

Вынес 'findcolor' из потока пилота, теперь оно меньше подтормаживает сам пилот.

Исправил функцию 'findwindow'. Ничего не находила при нажатых клавишах "Alt+Tab".

Команду 'Exec' переделал по типу 'ExecAndWait'. Теперь переменная 'errorlevel' содержит PID запущенного процесса.

Добавил возможность задавать зарезервированные переменные, читаемые из памяти клиента. Имя переменной и цепочка адресов задается в файле конфигурации, в секции "[CustomVariables]" в формате "имя=адрес,тип читаемых данных;прибавляемое значение,тип читаемых данных;".
Пример: wow=0xB4B2BC,d;0x65B8,d;0x40,f;
Скрипт: set wow wow + 1

Добавил описание изменений "ночной сборки" во встроенную справу в пилоте.

Добавил функцию загрузки изображения из файла 'LoadImage (filename)'. Возвращает строку в виде "Адрес в памяти|Ширина|Высота|Длина строки в байтах/", либо код ошибки.

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

Добавил присваивание строке массива строки вида '3|7/3|8/4|7/4|8/'.

Добавил функцию сохранения изображения в файл 'SaveImage (Address filename)'. Поддерживаются форматы ".bmp", ".jpg", ".png" (определяется по расширению).

Исправил ошибку в разборе строки диапазонов цветов, указанных в 'findcolor', когда лишние пробелы вокруг "-" приводили к недопониманию.

Исправил вычисления с отрицательными числами.

Исправил присваивание строковых переменных в параллельных скриптах, при указании индекса скрипта переменной.

Исправил команду 'sort_array', сломанную после 2.38.

После выполнения команды 'Exec' переменная 'errorlevel' содержит PID запущенного процесса либо код ошибки.

Добавил команды блокировки функций клавиатуры и мыши: 'keyboard <enable|disable>', 'mouse <enable|disable>'. Команды эмуляции 'sendex' и 'kleft' также блокируются, 'send' и 'left' работают.

Добавил функцию 'GetFocus', возвращает хэндл окна, имеющего фокус ввода.

Добавил горячую клавишу для разблокировки функций клавиатуры и мыши, заблокированных командами 'keyboard disable', 'mouse disable'. По-умолчанию "Alt+Home".

Добавил поддержку '.lnk' в команды 'Exec' и 'ExecAndWait'.

Исправил команды 'Exec' и 'ExecAndWait' на предмет ошибки 267. Актуально для файлов '.com', '.exe', '.cmd', '.bat', '.lnk'.

Исправил ошибку в команде 'set %arr findwindow (caption)', возникающую при наличии в найденных "caption" символов '|' и '/'.

Исправил 'break' при использовании вложенных 'switch'.

Прикрутил корявенький поиск на форму Wiki.

Исправил ошибку, возникающую при отсутствии пробела перед скобкой в команде 'prompt'.

Добавил возможность переходить по ссылкам с Wiki справки. Открываются в браузере.

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

Исправил параметр '#result' в команде 'get windowpos'.

Исправил размер и цвет шрифта "по-умолчанию" в команде 'hint'.

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

Добавил возможность "Сохранить настройки как..." и "Загрузить настройки...".

Добавил чтение содержимого бакпака для клиента UO версии 2.0.3, с помощью функции 'set %arr backpack'. Сохраняет в массив по столбцам "ID", "itemType", "count", "color", "posX", "posY".

Поменял местами 'lengthdir_x' и 'lengthdir_y', были перепутаны.

Исправил задание адресов для "War\Hidden", "AlwaysRun", "ConsoleUnicodeText" при выборе "Custom Client".

Добавил "Backpack" в "Custom Client".

Добавил возможность выполнения скриптов "Lua". Пока только версии 5.1, 5.2.
Признаком того, что скрипт на языке луа, является "--lua" в первой строке скрипта.
Скрипт пилотом не обрабатывается, а передается сразу интерпретатору Lua.
По завершении выполнения скрипт не перезапускается сначала, т.е. выполняется однократно.
Для многократного выполнения используйте циклы\операторы перехода.
В Lua отсутствует нормальная возможность прервать выполнения скрипта из вне.
Поэтому, при остановке скрипта пилотом, глобальная переменная "terminate" устанавливается в "true".
И ее необходимо проверять с вкрипте Lua.
Кроме того, после установки "terminate" в "true", все вызываемые функции пилота игнорируюся.
Из скрипта Lua доступны некоторые переменные пилота, доступные для изменения: 'workwindow', 'delimiter', 'clickoffsetx', 'clickoffsety', 'findoffsetx', 'findoffsety', 'sendexdelay', 'mouseclickdelay', 'promptpos_x', 'promptpos_y'.
И несколько доступных только для чтения: 'errorlevel', 'terminated', 'current_script', 'workwindowpid', 'homepath', 'exefilename'.
Остальные переменные вызываются как функции 'windowhandle()'. Т.е. наличие скобок обязательно.
Параметры всех функций заключаются в скобки, даже если в синтаксисе пилота они скобок не имеют.
Все текстовые строки заключаются в двойные кавычки 'sendex ("test")'.
Возвращаемые значения некоторых функций слегка изменены, например 'findwindow' всегда возвращает массив.
--lua
while terminated ~= true do
as3 = findwindow ("Блокнот")
log (as3[1][1], as3[1][2])
wait (1500)
end

Добавил возможность закомментировать строку нажатием ЛКМ по её номеру, и раскомментировать повторным нажатием ЛКМ по номеру.

Подправил вычисления с большими числами.

Добавил функции для работы с датой и временем. "Date", "Date1", "Date2" может быть датой и\или временем, или таймштампом. Дату или время следует указывать полностью. "Years", "Months", "Days", "Hours", "Minutes", "Seconds" обычное число. Все функции сложения и вычитания возвращают таймштамп.
AddDate(Date1 Date2) : складывает даты;
AddYears(Date Years) : добавляет несколько лет;
AddMonths(Date Months) : добавляет несколько месяцев;
AddDays(Date Days) : добавляет несколько дней;
AddHours(Date Hours) : добавляет несколько часов;
AddMinutes(Date Minutes) : добавляет несколько минут;
AddSeconds(Date Seconds) : добавляет несколько секунд;
SubDate(Date1 Date2) : вычитает даты;
SubYears(Date Years) : вычитает несколько лет;
SubMonths(Date Months) : вычитает несколько месяцев;
SubDays(Date Days) : вычитает несколько дней;
SubHours(Date Hours) : вычитает несколько часов;
SubMinutes(Date Minutes) : вычитает несколько минут;
SubSeconds(Date Seconds) : вычитает несколько секунд;
YearFromDate(Date) : Возвращает год;
MonthFromDate(Date) : Возвращает месяц;
DayFromDate(Date) : Возвращает день;
HourFromDate(Date) : Возвращает часы;
MinuteFromDate(Date) : Возвращает минуты;
SecondFromDate(Date) : Возвращает секунды;
DateNow: возвращает текущую дату 29.11.2016;
TimeNow: возвращает текущее время 10:30:25;
TimeStamp (Date): преобразует таймштамп в человеческий вид и обратно.

В форматирование добавил форматирование цикла 'repeat'.

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

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




скачать uopilot 2.39

скачать Lua 5.1

скачать AntiFrost
скачать AntiGate
пароль на архивы: uopilot.uokit.com
Вверх
DarkMaster
Ура! Дождались! Кнайт... только сейчас боюсь надо будет много хотфиксов по луа...

Таймштамп текущего момента как получить?
Вверх
Cockney
Чудо

Добавить возможность комментить блок кода путем выделения строк + нажатие на любой номер строки выделенного блока.
Вверх
cirus
Код
move_smooth 100 100
move_smooth 101 100
end_script

В меню ПКМ post не активно.
Нажмите для просмотра прикрепленного файла
Добавить в меню ПКМ:
GetImage и прочее.
GetFocus.
Функции для работы с датой и временем.
keyboard <enable|disable> и mouse <enable|disable>


Вверх
DarkMaster
Цитата
Чудо

Потому что кнайт приколист. lua.dll скачайте сами. Ну собственно либо скачайте сами, либо "баааабушка"(ералаш).

Кстати к моему удивлению твой скрипт нормально отработал. Я думал log() тебя обматерит за то, что ты передаешь в него несколько параметров либо просто проигнорирует втрое значение, ан нет - сожрал. Я предполагал, что в данном случае будет правильной конструкция:
log(as3[1][1] .. as3[1][2])
Тем не менее форматирование различалось и в твоем варианте присутствовал пробел, что может быть, как удобно, так не очень.
Выводы:
528124 Безымянный — Блокнот // Твой
528124Безымянный — Блокнот // Мой
Вверх
WKnight
Там в принципе много фиксов надо, так что особой разницы нет.

TimeStamp (DateNow TimeNow)

post сейчас временно отключена, можно конечно совсем убрать, просто надеялся быстро закончить.
Много надо и в меню добавлять и в подсветку. Както совсем забыл про это.
Впрочем как и про длл. Добавил ссылку.

log примет до 20 параметров. При слиянии разделяются пробелом.
Вверх
FREEON
Ого новую версию запилили, так-то еще старую до конца не изучил
Вверх
cirus
Напишите что lua.dll должен быть рядом с exe пилота, а то я по привычке как плагин закинул в папку плагины, а оно не работает
Пример с поиском блокнота не самый удачный. Если блокнот не открыт, то будет ошибка.
Вверх
Cockney
Теперь результат каждой функции нужно проверять. Примерно так :

Код
while terminated ~= true do
as3 = findwindow ("Блокнот")
if (#as3 ~= 0) then
    log (as3[1][1], as3[1][2])
else
    log ("Не найдено")
end
wait (1500)
end

Вверх
DarkMaster
os.clock() не ресетится после остановки скрипта. Я так понимаю там что-то не завершается до конца и продолжает работать.
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.