Пожертвовать на дальнейшее развитие:
Рубли: R849464451336
Гривны: U145931779718
Доллары: Z353114408274410011422550405--v.2.40--
Вынес на форму настроек окошко для задания размера файла логов.
Добавил переменные, в которых содержится путь к текущему скрипту 'scriptPath' и имя скпирта 'scriptName'.
Добавил почти все переменные Ultima Online в Lua. Указывать со скобками, как функции.
Домашняя страницаскачать uopilot 2.40скачать Lua 5.1скачать AntiFrostскачать AntiGateпароль на архивы: uopilot.uokit.com
Findimage при поиске на скрине не доделан?
С 12й бетки (или 11, у меня её нет) не работает 2й тип поиска. Не находит картинки.
WKnight
17.11.2017, 11:40
build 1
Добавил длл "lua5.1.dll" в ресурсы пилота. При запуске пилота проверяется ее наличие в папке, и если ее нет, то распаковываем.
В клики мышкой добавил параметр "nooffset", который позволяет игнорировать смещение, указанное в переменных "clickoffsetxy". 'kleft 100 100 nooffset'
build 2
Исправил вывод сообщения об ошибке при форматировании скрипта, если пилот располагался поверх всех окон.
Исправил тип поиска 2 в 'findimage', сломанный пару билдов назад.
Добавь в первый пост ссылку на свою страницу. Не все же знают где она и где искать бетки.
Цитата
В клики мышкой добавил параметр "nooffset", который позволяет игнорировать смещение, указанное в переменных "clickoffsetxy". 'kleft 100 100 nooffset'
Для move эффект обратный.
Код
set Clickoffsetx 50
set Clickoffsety 50
move 0 0 // смещения нет
wait 100
log mousepos_x mousepos_y
move 0 0 nooffset // смещение есть
wait 100
log mousepos_x mousepos_y
end_script
Работал себе в версии 2.32, подумал пора переходить на новую. Через час мучений вернулся обратно.
Код
упорно не работает клик через шифт. Срабатывает простой клик.
Цитата
клик через шифт
Можно так попробовать:
Код
sendex ~ // зажать шифт
wait 30 // возможно без паузы будет работать
left 100 100 // клик в координаты 100 100
wait 30 // возможно без паузы будет работать
sendex // отпустить шифт
end_script
WKnight
29.11.2017, 15:41
build 3
Исправил клики мышкой с модификаторами.
Надеюсь колесики не отвалились.
Error while creating Lua virtual mashine. При запуске любого скрипта.
Скачал lua5.1.dll положил в папку пилота. Что не так?
Удалить lua5.1.dll. Скачать бета версию пилота:
http://uopilot.uokit.com/dlnight.php
Andrey1995
9.12.2017, 16:51
Есть какой-нибудь пилот, чтобы x-trap не блочил его? Обычно работал, а щас перестал...Либо сам пилот вылетает, либо игра при привязке к игре.
Код
set windowpos 100 100
End_script
В 2.38 работает.
В последующих версиях нужно указывать хендл.
Код
set windowpos 100 100 workwindow
End_script
Видимо когда в 2.39 правил:
Цитата
Исправил ошибку в команде 'set windowpos' с параметрами TOP и BOTTOM.
то, что-то сломал.
build 4
Исправил работу команды 'set windowpos', если не указан хендл рабочего окна.
Цитата(WKnight @ 29.11.2017, 14:41)
build 3
Исправил клики мышкой с модификаторами.
Надеюсь колесики не отвалились.
отвалились.
Код
wheel_up 597 263 2
wheel_up - (27): Ошибка! Проверьте правильность скрипта! EConvertError '' is not a valid integer value
wheel_up 597 263 2
Чо за переменные для Ultima и работают ли они для других игр??? просто я нуб и не понимаю для чего они нужны.
А чо еще нового в версии 2.40. В чем отличия от 2.39 хотелось бы узнать более полный список правок и нововведений.
Цитата
Чо за переменные для Ultima и работают ли они для других игр?
Только для ультимы.
Цитата
А чо еще нового в версии 2.40.
http://uopilot.uokit.com/index_rus.php
DarkMaster
25.12.2017, 11:47
Color бы переделать под способ забора изображения из findcolor. Как вариант сделать два опреатора, т.к. они дают зачастую разные координаты. Дело в том, что в связи с какими-то просто шедевральными изменениями findcolor больше не садит fps вообще. Сейчас приходится финдколор оборачивать в пользовательскую функцию либо использовать его напрямую (ну или по-стринке садим fps).
Так же выдает ошибку: set - Error while creating Lua virtual mashine при работе с findimage, if, while да и прочих командах. Проблема возникла в свежо-скачанной версии пилота 2.40.
Пробовал скачать lua5.1.dll в папку с пилотом - не помогло.
Как лечить болячку?
...
В UOpilot 2.40 b004 вроде фурычит
Цитата
В UOpilot 2.40 b004 вроде фурычит
Потому что в этой бетке длл запакована в екзешник, перед запуском пилота проверяется наличие lua.dll, если отсутствует, то распаковывается.
P.S. Кнайт, может уже стоит убрать ссылку на 2.40 и поставить ссылку на 2.40 b004.
На новой версии при запуске любого скрипта появляется ошибка:
"Error while creating lua virtual machine"
Длл и для 5.1 и просто луа.длл в папке есть(я даже в систем32 их скопировал.)
Так же перестал работать поиск картинки почему-то.
Запускаю один и тот же скрипт на 238 версии и на 240, 38-я всё находит, 40-я пишет что картинка не найдена.(потыкался с разными параметрами и картинками, вообще ни при каких условиях не ищет. Причём функция ошибок не возвращает - просто 0, тоесть картинок не найдено.
Винда 7-я pro со всеми обновлениями.
Вот код скрипта на котором я тестил если вдруг поможет:
Код
set #Result FindImage (0 0 800 800 (C:\Users\Владимир\Desktop\автокликер\images\test.bmp) %ResultArray 2 50 1 10)
if #Result > 0
msg Изображение найдено в координатах X= %ResultArray[1 1] Y= %ResultArray[1 2].
else
msg Изображение не найдено
msg ошибка #Result
end_if
wait 10s
http://uopilot.uokit.com/index_rus.php "Ночная" версия
Стабильная
12.12.2017 Build 004
В ней исправлены баги.
В новой версии продолжает появляться ошибка с луа. Однако поиск по картинке у меня начал работать нормально.
Цитата
В новой версии продолжает появляться ошибка с луа.
Удалить lua.dll.
в последней версии не работает wheel_up и wheel_down.
При попытке использования высегда выдает ошибку EConvertError " is not valid integer value.
Даже на коде:
Код
set #x 420
set #y 350
wheel_down #x #y abs 3
wait 10s
Независимо от привязки к окнам и задаю ли я координаты через переменные или прямо в функцию их числами записываю.
При этом на версии 2.38 все работает штатно. (винда стоит седьмая, если что
)
Пилот по прежнему косячит .ini ну или может что то еще сами судите..
Так вот.. в процессе разработки я периодически добавлял и убирал листы. Закрываю на крестик, автосейв при закрытии включен. Перезапускаю пилот - всё на своих местах, как должно быть. Привязываю окна к л2 запускую, и всё ок - играю... жму хоткеи для запуска скрипта 3, 4 и 6 и тут, на тебе ошибка в лог,
один хоткей не может быть назначен двум скриптам одновременно
. Смотрю скрипт 3 теперь не БД, а свс, жму открыть выбираю скрипт бд для 3 листа, всё опять на местах. Запуск - всё ок. проходит время, БАЦ! свс творит что-то не то, теперь лист 4 с свс внезапно стал c ЕЕ скриптом. Опять жму открыть - выбираю нужный скипт опять всё ок и работает как надо.
Проходит время и опять эта мешанина происходит с одним из листов 3,4 или 6, прям на ходу, ужасно бесит..
Удалить .ini и по новой настроить помогает.
Но стоит мне что-нибудь переделать приходится удалять .ini и настраивать по новой.
Надеюсь в новой версии проблему удастся устранить
Выкладываю архив с пилотом в котором этот баг регулярно выстреливает.
ТЫК!Кстати мой скрипт весьма крут и думаю будет востребован в мире л2, только там есть ошибка которую я не могу найти. Иногда.. оч редко.. хиллер промахивается по таргету и хилит не того. Если кто поймет в чём дело можно будет выложить в готовые скипты, а я буду благодарен.
DarkMaster
12.3.2018, 4:16
А теперь немного вкусностей из ночной кухни
Вышла новая ночная сборка хоть и из нестабильной ветки, но весьма достойная внимания.
Теперь мы полностью избавились от проклятого Crystal Lua с его багами и фантазиями разработчика.
В связи с чем полноценно заработал require.Теперь не будет проблем с подключением сторонних плагинов и расширений.
Так же мы перешли с чистого Lua, на LuaJIT. Что это такое и чем нам грозит? Переписывать скрипты не придется. Они полностью совместимы. Разница в динамической компиляции, благодаря которой LuaJIT показывает очень существенный прирост в производительности.
Так же несколько приятных плюшек:
Wknight сделал нажатие по коду клавиши в командах 'send*' и 'sendex*'. Коды указывается в качестве параметров в фигурных скобках. При указании нескольких клавиш, пробелы между скобками обязательны. "send {49} {112}"
В старом синтаксисе исправлен 'return' в 'for' и 'repeat' из двойного 'gosub'.
Поскольку работа кипит и сборка из нестабильной ветки есть и некоторые огрехи:
переменные пилота в луа пока не передаются.
Это конечно все здорово, но зачем новые фичи идут и в старый синтаксис ? Можно развернутый ответ ? Очень озадачен.
Скрипт даже не желает запускаться. Без ошибок. 0 реакции.
--build 5--
Расширил до 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' зависит от типа читаемого значения.
--build 6--
Исправил сломанные команды прокрутки колеса мыши.
Цитата(genocide @ 14.2.2018, 4:16)
Пилот по прежнему косячит .ini
Причина неизвестна, в результате поверхностного теста, воспроизвести что-либо подобное не удалось.
Попробуй для начала отключить "Отображать имена скриптов на закладках".
Код
--lua
while 1 do
wait (100)
end
При остановке скрипта сообщение: a runtime error. 100
Малевича разукрасил.
Ошибка 100 не воспроизводится.
DarkMaster
7.4.2018, 12:39
Код
--lua
while 1 == 1 do
local lastX = mousepos_x()
local lastY = mousepos_y
wait (100)
end
a runtime error.
2.2190437311978e-256
DarkMaster
7.4.2018, 13:33
Кнайт, а у тебя случаем пилот не перекрывает окна ошибок? А то я тоже не всегда их замечаю и не могу понять в чем дело) Вытащить бы их на поверхность, когда пилот поверх всех окон.
build 8
Убрал сообщение "runtime error", вызванное прерыванием Lua скрипта.
DarkMaster
8.4.2018, 7:58
Ты его подавил или lua код теперь тоже прерывается нормально?
Отфильтровал. Но эти две вещи не связаны. Как прервать чистый луа - пока вопрос открытый.
DarkMaster
9.4.2018, 7:37
всегда можно прибить нитку с машиной)
DarkMaster
9.4.2018, 9:53
Проблемы с подключением файлов через require:
Код
--lua
local serpent = require"serpent"
--log(serpent)
end_script()
build 9
Добавил переключение закладок скриптов по Ctrl+Tab, Ctrl+Shift+Tab.
Сделал функцию 'mouse_pos (["abs"])' в Lua. Возвращает два числа - x,y.
В нестабильной ночнушке от 06.05.2018 Build 009
Сделал принудительное закрытие VM Lua, при остановке скрипта.
DarkMaster
6.5.2018, 23:38
Это соседние скрипты не рушит?
Не проверял, но не должно, вм перезапускалась и раньше, сейчас просто принудительно прибивается. Мне это не особо нравится, но иного способа прервать скрипт на чистом Луа, я пока не нашел.
build 10
Сделал принудительное закрытие VM Lua, при остановке скрипта.
Исправил функции 'findcolor', 'findimage' в Lua.
Добавил возврат "nil" и "LuaTable", как было в предыдущей версии Lua.
DarkMaster
7.5.2018, 12:21
Хз можно ли снаружи принудительно в скрипте включить дебаг и пуш функции, но если это можно сделать, то включаем дебаг, включаем выполнение фукнции после каждого перехода строки, функцию делаем специально с ошибкой, чтобы скрипт выбило. Вывод ошибки подавляем. В луа нет встроенной функции выхода даже из самого кода. Предполагается, что выполнение закончится либо в конце скрипта либо через return снаружи функций. Беглый поиск ничего умного не дал, но этот костыль хотя бы относительно безопсный.
В версии 2.40d b010 от 19.05 криво работают следующие функции:
set Clickoffsetx
set Clickoffsety
Для команд Kleft и Kright они работают хорошо, но вот на команду Move влиять перестали
Цитата
но вот на команду Move влиять перестали
Пока не исправлено можно использовать баг:
Код
set Clickoffsetx 50
set Clickoffsety 30
move 100 200 nooffset // должно работать наоборот, т. е. игнорировать Clickoffset
wait 100
msg Координаты курсора: mouseposabs_x mouseposabs_y
end_script
MAXXIMUM
22.5.2018, 13:59
Цитата(cirus @ 22.5.2018, 1:53)
Пока не исправлено можно использовать баг:
Код
set Clickoffsetx 50
set Clickoffsety 30
move 100 200 nooffset // должно работать наоборот, т. е. игнорировать Clickoffset
wait 100
msg Координаты курсора: mouseposabs_x mouseposabs_y
end_script
Надеюсь скоро будет исправлено. У меня более 200 параметров Move в каждом скрипте из 8
Сегодняшняя нестабильная ночнушка.
Зачем save_array добавляет табуляцию в конец строки? Она нужна вообще?
DarkMaster
1.6.2018, 8:11
Может быть убрана. Просто когда пишешь сохранение, то так получается само по себе заачастую. В противном случае первый/последний виток цикла обрабатывать приходится индивидуально. Точно так же ты можешь наблюдать пустую строку в конце герерированных файлов (не только про пилот).
Оно мешает?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.