1.9.9774
Daily-driver build with the safest release cadence.
- Updated
- 5 weeks ago
- File Size
- 515.39 MB
- Release Notes
- Open notes
Stable is the recommended track for most users. Alpha gets you the newest capabilities first.
Daily-driver build with the safest release cadence.
Fastest release track with the newest features and experiments.
Every release stays linked here so you can inspect what changed before you switch versions.
In one of the latest changes in 1.6 I've introduced a bug, which made switching between BTs/Macros excruciatingly slow in some cases. Especially if you had multiple macros with a large number of nodes in them.
This patch fixes this. I'll be closely monitoring the situation.
Please report any kind of UI slowness you notice.
Major addition to our library of tools. More details here.
По вашим отзывам в этом патче исправлена проблема, обнаруженная в системе автообновления: если была включена опция Security Measures, приложение обновлялось некорректно и после перезапуска откатывалось на предыдущую версию.
К сожалению, по очевидным причинам я не могу просто выпустить обновление, которое само это исправит. Есть два варианта решения:
Security Measures в Settings, обновить приложение, а затем включить опцию снова.Пожалуйста, продолжайте сообщать о найденных проблемах!
Была проделана большая работа, чтобы сделать Behavior Trees и всю систему скриптов более гибкими — теперь мы наконец можем создавать ботов, используя только Macros и Behavior Trees, без необходимости прибегать к Auras. Сочетание двух сложных систем (Auras и BT) усложняло понимание логики, добавленные ноды должны улучшить ситуацию.
Но, конечно, это ещё не все — в ближайшем будущем будет еще много изменений в новых нодах, особенно в часть предпросмотра.
На протяжении многих лет во всех триггерах типа Capture (Image/Color/Text/ML) требовался параметр Target Window — EyeAuras работала только с окнами.
Начиная с этой версии мы пробуем иной подход:
Target Window не указан, EA будет захватывать главный (Primary) экран.Target Window фактически прекращала работу триггеров. Теперь она лишь переключает режим на захват главного экрана. Я настоятельно рекомендую использовать Enabling Conditions, чтобы контролировать захват. Это важно! Проверьте старые триггеры, чтобы убедиться, что нет “тестовых” или “забытых” триггеров — они начнут потреблять CPU.Target Window не требуется.ВАЖНО! Конфигурации с несколькими мониторами пока не поддерживаются. Захватывается только главный экран. Поддержка будет расширена в будущем.

Крупные изменения в Macros: значительно расширена гибкость макросов.
Новые узлы на базе CV: узлы компьютерного зрения, являющиеся эквивалентами триггеров. Для простых ботов триггеры больше не нужны!
-- MLSearch в связке с MLFindClass — работает с ML-моделями и позволяет фильтровать результаты ML-поиска. В сочетании с улучшениями MouseMove можно за минуты собрать point-and-click-бота!
-- PixelSearch — находит пиксель заданного цвета.
-- ImageSearch — находит изображение.
-- ColorCheck — проверяет, соответствует ли цвет пикселя/области ожидаемому.
Новые узлы логики: позволяют управлять потоком выполнения
-- Interrupter — условное прерывание уже запущенных узлов.
-- Timeout — задаёт максимальное время, в течение которого дочерний узел может оставаться в состоянии Running.
-- CheckKeyState — проверяет текущее состояние указанной клавиши.
-- IfThenElse — if..then..else в форме узла BT — полезно для тех, кто только знакомится с BT-инфраструктурой.
Отмена/повтор в BT: теперь можно отменять/повторять добавление и удаление узлов с помощью Ctrl+Z / Ctrl+Y.
Активация по хоткею: BT и Macros можно запускать напрямую горячими клавишами.
Login Widget: простой виджет, который можно использовать в мини-приложениях для авторизации на базе EyeAuras.
PopOut View: всплывающее окно с BT/Macro в режиме «только чтение» для тестирования/отладки.
Поддержка BT-переменных: узлы вроде MouseMove могут использовать CvLastFoundRegion из CV-поисков.
.css, .js, .md, .dll) через IScriptFileProvider.[Keybind].[Dependency] или init-свойствам для сервисов вроде SendInput.AppStarted, позволяющие автоматизировать процессы без отображения UI EA.Программируемый интерфейс для Image Search, Pixel Search, ML Detection, Text OCR с OSD-оверлеем. Подробнее здесь.
IBlazorWindow появилось новое свойство TitleBarViewType, позволяющее полностью заменить заголовок окна.Clear() в MiniProfiler.WindowImageProcessedEventArgs добавлена матрица WorldToWindow, упрощающая вычисление координат в окне после Refresh().string в WindowMatchExpression.Percentage для обозначения процентных значений (например, 0.1 = 10 %).Opacity.LoginWidget.AuraScript).SendInput переведён из SendInputUnstableScriptingApi в SendInputScriptingApi — за год не менялся, достаточно стабилен.@Rowenor за находку!IncludeTextSegments не сохранялся в конфиге.Event Log.CodeEditor в развёрнутом окне.The new option is available only in those nodes which work with image capture right now - pixel color checks, ML, image search, etc. It is very simple and semantically equivalent to Inverter node, but built in. The reason is BTs tend to grow very-very quickly and reducing overall amount of nodes should help keeping them structured.

p.s. I know these have been quiet few weeks, internally I am working on a new large feature, which will be available to public later this year. I'll keep you posted.
Huge amount of work has been done on internals of the program, too many to list. All-in-all, such things tend to lead to a string of bugs, please, pay attention to any irregularities and report them, I will be closely monitoring the inbox.
Writing a script in ExecuteScript node and accidentally removing it is a pain. Been there, done that.
This feature will allow you to easily rollback such changes on the spot. For now, Undo/Redo supports only nodes addition/removal, other nodes modifications will be added as soon as the mechanism will become stable enough.

IBlazorWindow now has a new property TitleBarViewType` which allows to fully replace window title bar with whatever you wantРаньше для Trees и Macros был только один способ управлять тем, когда они начинают «тикать» и выполняться соответственно.
Если нужно было запускать дерево по нажатию горячей клавиши или пока клавиша удерживается, приходилось создавать отдельную Aura с триггером HotkeyIsActive.
В новой версии ту же горячую клавишу можно назначить прямо в Tree/Macro. Это заметно уменьшает количество действий и сильно упрощает настройку.

В обычных триггерах HotkeyIsActive есть механизм, который позволяет ограничить работу горячих клавиш конкретным окном, приложением и т. д.
Этот механизм напрямую отвечает за включение и отключение обработки горячих клавиш в каждый конкретный момент. Добавив одну или несколько аур, вы можете задать точный набор условий, которые должны выполняться до того, как Trigger вообще начнет что-либо делать.
Например, если привязать Aura с условием WindowIsActive, Trigger будет реагировать на нажатия только тогда, когда активно окно игры.
В более сложных сценариях Trigger можно связать с внутриигровым состоянием. Например: вы нажимаете RMB (это часть настройки HotkeyIsActive), И при этом мощный скилл уже вышел из кулдауна (linked condition). Вместо обычного действия на RMB будет сымитировано нажатие другой кнопки, которая кастует этот скилл. Хороший пример — автоматизация Vaal Skills в Path of Exile: у вас есть обычная версия умения на кнопке, которую вы постоянно жмете, и как только Vaal-версия накопит достаточно souls, она автоматически сработает без необходимости отслеживать это вручную.
В BT эквивалентом будет добавление Enabling Condition прямо на само дерево — так же, как и раньше. Горячая клавиша будет перехватываться только тогда, когда выполняется Enabling Condition.
Посмотрим, насколько удачным окажется такой подход — обязательно делитесь обратной связью.

Очень важный новый узел в экосистеме BT: он позволяет по условию прерывать узлы, которые уже находятся в состоянии выполнения.
Обычно, если какой-то узел находится в состоянии Running (например, Wait или Until Success), остальные узлы дерева ничего сделать не могут — EyeAuras просто ждет, пока этот узел завершит свою работу.
Interrupter работает иначе: при выполнении он всегда запускает узел Condition (слева), даже если узел Action (справа) уже находится в состоянии Running. Более того, если Condition завершается с Success, управление не возвращается к уже выполняющемуся Action — он будет прерван и больше не продолжит работу.
Это можно использовать, чтобы останавливать длительные действия (например, Wait) или по требованию завершать циклы вроде Until Success. При правильных условиях этот узел дает очень мощные возможности.

Очень простой узел: он проверяет текущее состояние выбранной клавиши. Если клавиша нажата, узел возвращает Success.

Еще один узел, который хорошо сочетается с длительно работающими узлами, такими как Until Success. Он позволяет задать максимальное время, в течение которого дочерний узел может оставаться в состоянии Running.
Первый пример комбинации, который приходит в голову, выглядит так:

Комбинация Timeout -> Until Success -> Image Search фактически говорит дереву: Продолжай искать изображение, пока не получишь Success, но не дольше 2 секунд.
Начал работу над улучшением времени запуска, особенно над «холодным» (первым) стартом.
Ниже — время запуска последнего пака для GTA5 от @linx: https://eyeauras.net/share/S202503032233289fPxqP4AA0N0
v8215 — 33.41s
v8224 — 28.89s
То есть новая версия работает примерно на 15% быстрее при первом запуске.
Повторные запуски:
v8215 — 29.38s
v8224 — 27.10s
Прирост скорости — около 8%.
Продолжу работать над дальнейшим улучшением этих показателей.
Иногда в ваших Packs не нужна вся функциональность, встроенная в EyeAuras.
Например, если ваш пак вообще не использует компьютерное зрение, нет большого смысла загружать в память модули, связанные с CV — это лишний расход CPU и RAM.
С появлением новых возможностей для прямой работы с приложениями, таких как чтение памяти, ожидается всё больше сценариев, где EyeAuras используется просто как платформа для разработки и распространения собственного приложения.
Именно для этого и предназначена эта функция: теперь вы можете отключать загрузку отдельных частей приложения.
Модули, которые добавлены в blacklist:
Сейчас можно исключать два типа модулей:
Примечание: HotkeyIsActive по-прежнему доступен.
Blacklist находится в конфигурации Pack. По умолчанию поставляется всё, но вы можете отключить два типа модулей.

KeyLogin — это способ входа по одноразовому лицензионному ключу, без создания аккаунта. Эта система рассчитана на использование вместе с сублицензиями, чтобы ваши пользователи могли получить доступ к вашим пакам максимально быстро и просто.
Сейчас процесс выглядит так.
Для конечного пользователя (того, кто будет использовать пак):
Download packВот и всё. По-моему, проще уже некуда, и какое-то время всё останется именно в таком виде — посмотрим, как это покажет себя на практике.
Для вас (автора, который создаёт пак):
Да... для авторов процесс пока не такой прямолинейный. В этом году я его упростлю.