Builds

Available downloads

Stable is the recommended track for most users. Alpha gets you the newest capabilities first.

Stable 1.9.9774 Alpha 1.9.9801
Windows 10/11 x64 Administrator rights
Release Notes

Track recent changes

Every release stays linked here so you can inspect what changed before you switch versions.

Release

1.7.8335

Permalink one year ago

BTs/Macros - Performance bugfix

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.

C# Scripting in BTs - IEnumerator

Major addition to our library of tools. More details here.

Bugfixes/Improvements

  • [UI] Fixed vertical scrollbar in Macros
  • [BehaviorTrees] Optimized BTs load times
  • [BehaviorTrees] Fixed non-critical(recoverable) crash which happened if you quickly switch between multiple BTs/Macros
  • [Scripting] Optimized dependency resolution - should consume less memory and be overall faster
  • [Packs] Made is so CheckForUpdates is now disabled by default in Packs. You(author) can still enable it if needed.
  • [BehaviorTrees] Added IEnumerator support in BTs
Release

1.7.8326

Permalink 3 months ago

Патч первого дня для 1.7

По вашим отзывам в этом патче исправлена проблема, обнаруженная в системе автообновления: если была включена опция Security Measures, приложение обновлялось некорректно и после перезапуска откатывалось на предыдущую версию.

К сожалению, по очевидным причинам я не могу просто выпустить обновление, которое само это исправит. Есть два варианта решения:

  1. Временно отключить Security Measures в Settings, обновить приложение, а затем включить опцию снова.
  2. Перейти в Downloads, скачать установщик и запустить его. Не переживайте, все ваши настройки сохранятся.

Пожалуйста, продолжайте сообщать о найденных проблемах!

Исправления и улучшения

  • [UI] Исправлено автообновление — теперь оно должно корректно работать во всех 4 режимах: standalone, portable, а также с включёнными и выключенными security measures.
Release

1.7.8305

Permalink one year ago

Новый релиз — 1.7 (RU/EN)

Была проделана большая работа, чтобы сделать Behavior Trees и всю систему скриптов более гибкими — теперь мы наконец можем создавать ботов, используя только Macros и Behavior Trees, без необходимости прибегать к Auras. Сочетание двух сложных систем (Auras и BT) усложняло понимание логики, добавленные ноды должны улучшить ситуацию.
Но, конечно, это ещё не все — в ближайшем будущем будет еще много изменений в новых нодах, особенно в часть предпросмотра.


Захват экрана — BREAKING CHANGE

На протяжении многих лет во всех триггерах типа Capture (Image/Color/Text/ML) требовался параметр Target Window — EyeAuras работала только с окнами.
Начиная с этой версии мы пробуем иной подход:

  • Если Target Window не указан, EA будет захватывать главный (Primary) экран.

Что это означает на практике?

  • Раньше очистка поля Target Window фактически прекращала работу триггеров. Теперь она лишь переключает режим на захват главного экрана. Я настоятельно рекомендую использовать Enabling Conditions, чтобы контролировать захват. Это важно! Проверьте старые триггеры, чтобы убедиться, что нет “тестовых” или “забытых” триггеров — они начнут потреблять CPU.
  • Минус один лишний шаг, если вы настраиваете что-то для личного пользования: во многих играх, запущенных в режиме Borderless Windowed или других, где игра занимает весь экран, указывать Target Window не требуется.
  • Как только мы убираем привязку к окну, работа с координатами мыши упрощается — каждая координата становится абсолютной.
  • Всё, что связано с кликами по объектам на экране, продолжит работать как прежде. Если заметите проблемы — сообщайте.

ВАЖНО! Конфигурации с несколькими мониторами пока не поддерживаются. Захватывается только главный экран. Поддержка будет расширена в будущем.

UI


🧰 Улучшения Behavior Trees & Macros

  • Крупные изменения в Macros: значительно расширена гибкость макросов.

  • Новые узлы на базе CV: узлы компьютерного зрения, являющиеся эквивалентами триггеров. Для простых ботов триггеры больше не нужны!
    -- MLSearch в связке с MLFindClass — работает с ML-моделями и позволяет фильтровать результаты ML-поиска. В сочетании с улучшениями MouseMove можно за минуты собрать point-and-click-бота!
    -- PixelSearch — находит пиксель заданного цвета.
    -- ImageSearch — находит изображение.
    -- ColorCheck — проверяет, соответствует ли цвет пикселя/области ожидаемому.

  • Новые узлы логики: позволяют управлять потоком выполнения
    -- Interrupter — условное прерывание уже запущенных узлов.
    -- Timeout — задаёт максимальное время, в течение которого дочерний узел может оставаться в состоянии Running.
    -- CheckKeyState — проверяет текущее состояние указанной клавиши.
    -- IfThenElseif..then..else в форме узла BT — полезно для тех, кто только знакомится с BT-инфраструктурой.

  • Отмена/повтор в BT: теперь можно отменять/повторять добавление и удаление узлов с помощью Ctrl+Z / Ctrl+Y.

  • Активация по хоткею: BT и Macros можно запускать напрямую горячими клавишами.

  • Login Widget: простой виджет, который можно использовать в мини-приложениях для авторизации на базе EyeAuras.

  • PopOut View: всплывающее окно с BT/Macro в режиме «только чтение» для тестирования/отладки.

  • Поддержка BT-переменных: узлы вроде MouseMove могут использовать CvLastFoundRegion из CV-поисков.


🧠 Система скриптов C#

  • Предкомпиляция и сохранение скриптов: скрипты компилируются заранее, сокращая задержки в рантайме. Можно хранить скомпилированные бинарники, чтобы избежать перекомпиляции после перезапуска.
  • API File Provider: скрипты могут внедрять и загружать дополнительные файлы (.css, .js, .md, .dll) через IScriptFileProvider.
  • Поддержка NuGet-паков: паки автоматически подтягивают и упаковывают необходимые NuGet-пакеты для лучшего офлайн-и стартап-опыта.
  • Атрибуты Keybind: скрипты могут привязывать методы к горячим клавишам через [Keybind].
  • Улучшения Dependency Injection: чище структура скриптов благодаря [Dependency] или init-свойствам для сервисов вроде SendInput.

Улучшения триггеров

  • Lifecycle Events Trigger: добавлены триггеры вроде AppStarted, позволяющие автоматизировать процессы без отображения UI EA.
  • ML Search: теперь некоторые базовые модели можно скачать прямо из UI (в будущем на той же системе будут распространяться «стандартные» модели, например, детекция HP-баров).

🔐 Упаковка и распространение


🧠 API компьютерного зрения (экспериментально)

Программируемый интерфейс для Image Search, Pixel Search, ML Detection, Text OCR с OSD-оверлеем. Подробнее здесь.


🔐 Аутентификация и лицензирование


🏎️ Производительность и оптимизации


Исправления / улучшения

  • [Crash] Исправлен сбой в BT, появившийся после последних изменений («Already cancelled»).
  • [Crash] Исправлен сбой импорта, возникавший, если в буфере обмена была ссылка на неподдерживаемый файл.
  • [BT] Добавлена новая кнопка, позволяющая запускать BT/узел «пока не остановите».
  • [BT] Исправлена ошибка, при которой можно было удалить узел, соединив его вывод с его же входом…
  • [BT] Исправлена ошибка, приводившая к множеству сообщений об ошибке при массовом удалении узлов.
  • [BT] Исправлена проблема, из-за которой узел Debounce не сохранял свойства.
  • [BT] Улучшен UX удаления узлов.
  • [BTs] Макросы теперь корректно останавливаются, когда активируется главное окно программы.
  • [Capture] Исправлена работа селектора FPS — он неправильно работал и показывал Range-селектор даже без значения «Min».
  • [Capture] Исправлена выбор области в окне Preview при применённых эффектах Resize/Rescale.
  • [ColorSearch] Небольшая оптимизация — меньше потребление памяти и примерно на 2–3 % быстрее.
  • [Macros] Повышена отзывчивость drag-and-drop в дереве.
  • [Macros] Повышена отзывчивость drag-and-drop в дереве.
  • [Macros] Узел Comment больше не выбрасывает исключение при выполнении — это сводило на нет его назначение.
  • [OSD] Исправлена неверная раскладка цветов прямоугольников OSD — каналы R и G были перепутаны.
  • [Scripting] В IBlazorWindow появилось новое свойство TitleBarViewType, позволяющее полностью заменить заголовок окна.
  • [Scripting] Добавлен метод Clear() в MiniProfiler.
  • [Scripting] В WindowImageProcessedEventArgs добавлена матрица WorldToWindow, упрощающая вычисление координат в окне после Refresh().
  • [Scripting] Добавлено неявное преобразование из string в WindowMatchExpression.
  • [Scripting] Добавлена структура Percentage для обозначения процентных значений (например, 0.1 = 10 %).
  • [Scripting] Все OSD-объекты теперь имеют Opacity.
  • [Scripting] Номера строк ошибок теперь правильно подсвечиваются/отображаются при ошибках компиляции.
  • [Scripting] (Вроде бы) исправлена проблема с некорректной работой LoginWidget.
  • [Scripting] Немного улучшена производительность первого запуска скриптов (3–5 %).
  • [Scripting] В аурах исправлена ошибка, которая могла помешать выполнению скрипта, если аура была слишком быстро отключена.
  • [Scripting] Чуть оптимизировано использование памяти (утилизация AuraScript).
  • [Scripting] API SendInput переведён из SendInputUnstableScriptingApi в SendInputScriptingApi — за год не менялся, достаточно стабилен.
  • [SendInput] Исправлена проблема, при которой взаимное чередование Delays/SendInputs могло блокировать друг друга (ошибка последней версии).
  • [SendSequence] Исправлена проблема, из-за которой последовательности нажатий клавиш могли прерываться раньше времени; отправлялась лишь часть последовательности. Спасибо @Rowenor за находку!
  • [SendText] Исправлено неверное размер поля ввода текста.
  • [TextSearch] Исправлена ошибка: параметр IncludeTextSegments не сохранялся в конфиге.
  • [UI] Добавлена опция «Move To Parent» в дереве аур.
  • [UI] Исправлен сбой при установке недопустимого имени ауры.
  • [UI] Исправлена серьёзная проблема с аутентификацией — в ряде случаев даже автор паков не мог публиковать обновление («Non-authorized users are not allowed to update shares»).
  • [UI] Исправлена проблема с манифестом приложения, из-за которой требовался перезапуск для получения прав администратора (нужно протестировать на разных версиях ОС).
  • [UI] Исправлено смещение выделения в полноэкранном селекторе областей.
  • [UI] Исправлена чувствительность логина к точности системных часов пользователя.
  • [UI] Исправлена проблема с пакетами — закрытие окна лицензионного соглашения приводило к завершению приложения (только при первом запуске).
  • [UI] Исправлена работа Overlays в предкомпилированных пакетах.
  • [UI] Исправлено дублирование сообщений скрипта в Event Log.
  • [UI] Исправлена работа опции Start Minimized в некоторых условиях.
  • [UI] Исправлено выравнивание CodeEditor в развёрнутом окне.
  • [UI] Исправлена ошибка, из-за которой импорт-ссылки с AuraLibrary могли не работать в некоторых случаях.
  • [UI] Рефактор окна лицензионного соглашения — должно открываться быстрее.
  • [UI] Мелкие исправления PopOut-функционала, добавленного в прошлом релизе.
  • [UI] Доработана поддержка полу-офлайн режима — улучшён алгоритм обновления токена.
  • [UI] Использование точки («.») в именах аур исторически приводило к множеству проблем, так как EA сохраняет ауры на диск под этими именами, а точка обычно разделяет имя и расширение. Теперь EA выдаёт ошибку, если попытаться задать имя с точкой — как и при других недопустимых символах.
  • [Web] Исправлены ссылки на странице Aura Library — отсутствовал hostname.
Release

1.6.8304

Permalink one year ago

Behavior Trees - added Invert option to some of the nodes

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.

Invert

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.

Bugfixes/Improvements

  • [BT] Fixed a bug which lead to showing a bunch of errors whenever you've removed multiple nodes in a bulk
Release

1.6.8297

Permalink one year ago

Performance improvements - please report any issues you may notice

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.

Behavior Trees - implemented Undo(CTRL+Z)/Redo(CTRL+Y) support

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.

BT

Bugfixes/Improvements

  • [BT] Fixed a bug in BTs where you could remove the node by linking its output to its input...
  • [UI] Semi-Offline mode support improvements - improved token update algorithm, should make things smoother
  • [Scripting] IBlazorWindow now has a new property TitleBarViewType` which allows to fully replace window title bar with whatever you want
Release

1.6.8294

Permalink 3 months ago

Исправления и улучшения

  • [BT] Исправлена проблема, из-за которой узел Debounce не сохранял свои свойства
  • [Crash] Исправлен сбой при импорте, который возникал, если в буфере обмена была ссылка на неподдерживаемый файл
  • [UI] Исправлена проблема с полноэкранным выбором области — выделение было немного смещено
Release

1.6.8227

Permalink 3 months ago

Behavior Trees / Macros — условия активации — горячие клавиши

Раньше для Trees и Macros был только один способ управлять тем, когда они начинают «тикать» и выполняться соответственно.
Если нужно было запускать дерево по нажатию горячей клавиши или пока клавиша удерживается, приходилось создавать отдельную Aura с триггером HotkeyIsActive.

В новой версии ту же горячую клавишу можно назначить прямо в Tree/Macro. Это заметно уменьшает количество действий и сильно упрощает настройку.

Hotkey activation

Условия перехвата

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

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

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

В BT эквивалентом будет добавление Enabling Condition прямо на само дерево — так же, как и раньше. Горячая клавиша будет перехватываться только тогда, когда выполняется Enabling Condition.

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

Новый узел — Interrupter

Interrupter

Очень важный новый узел в экосистеме BT: он позволяет по условию прерывать узлы, которые уже находятся в состоянии выполнения.

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

Interrupter работает иначе: при выполнении он всегда запускает узел Condition (слева), даже если узел Action (справа) уже находится в состоянии Running. Более того, если Condition завершается с Success, управление не возвращается к уже выполняющемуся Action — он будет прерван и больше не продолжит работу.

Это можно использовать, чтобы останавливать длительные действия (например, Wait) или по требованию завершать циклы вроде Until Success. При правильных условиях этот узел дает очень мощные возможности.

Новый узел — Check Key State

CheckKeyState

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

Новый узел — Timeout

Timeout

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

Первый пример комбинации, который приходит в голову, выглядит так:

Timeout example

Комбинация Timeout -> Until Success -> Image Search фактически говорит дереву: Продолжай искать изображение, пока не получишь Success, но не дольше 2 секунд.


Исправления/улучшения

  • в этот раз без изменений
Release

1.6.8224

Permalink 3 months ago

Производительность — улучшения времени запуска

Начал работу над улучшением времени запуска, особенно над «холодным» (первым) стартом.

Ниже — время запуска последнего пака для GTA5 от @linx: https://eyeauras.net/share/S202503032233289fPxqP4AA0N0

v821533.41s
v822428.89s

То есть новая версия работает примерно на 15% быстрее при первом запуске.

Повторные запуски:

v821529.38s
v822427.10s

Прирост скорости — около 8%.

Продолжу работать над дальнейшим улучшением этих показателей.


Исправления/улучшения

  • в этот раз нет
Release

1.6.8211

Permalink 3 months ago

Packs — возможность отключать загрузку модулей

Иногда в ваших Packs не нужна вся функциональность, встроенная в EyeAuras.

Например, если ваш пак вообще не использует компьютерное зрение, нет большого смысла загружать в память модули, связанные с CV — это лишний расход CPU и RAM.
С появлением новых возможностей для прямой работы с приложениями, таких как чтение памяти, ожидается всё больше сценариев, где EyeAuras используется просто как платформа для разработки и распространения собственного приложения.

Именно для этого и предназначена эта функция: теперь вы можете отключать загрузку отдельных частей приложения.

Модули, которые добавлены в blacklist:

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

Сейчас можно исключать два типа модулей:

  • Computer Vision — вся функциональность, связанная с захватом и распознаванием (Image/Color/ML Searchers и т. д.)
  • Input Simulation — Send Sequence/KeyPress/MouseMove и все остальные действия, связанные с эмуляцией ввода

Примечание: HotkeyIsActive по-прежнему доступен.

Сколько это экономит?

  • Computer Vision — самый тяжёлый модуль; может сэкономить около 300MB RAM и 3–5 секунд времени запуска
  • Input Simulation — сам по себе заметно легче, но важнее другое: если не загружать библиотеки, связанные с вводом, приложение будет выглядеть более легитимно для внешних наблюдателей. Это может быть особенно важно, если вы распространяете свой пак не как инструмент автоматизации, а как помощник на базе computer vision

Как это настроить?

Blacklist находится в конфигурации Pack. По умолчанию поставляется всё, но вы можете отключить два типа модулей.

Pack config


Исправления/улучшения

  • в этот раз нет
Release

1.6.8207

Permalink 3 months ago

KeyLogin

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

Сейчас процесс выглядит так.

Для конечного пользователя (того, кто будет использовать пак):

  • купить ключ для вашего пака на стороннем сайте
  • перейти на страницу пака и нажать Download pack
  • войти с помощью ключа и начать пользоваться паком

Вот и всё. По-моему, проще уже некуда, и какое-то время всё останется именно в таком виде — посмотрим, как это покажет себя на практике.


Для вас (автора, который создаёт пак):

  • создать что-то крутое
  • экспортировать это и получить URL (например, такой или такой, либо любой другой пак из Aura Library)
  • добавить на страницу описание, изображения и всё остальное
  • добавить ауру, которая проверяет лицензию — код уже готов для copy-paste
  • включить защиту скриптов — это сильно усложняет обход механизма лицензирования
  • связаться со мной (Xab3r) в Discord, и я сгенерирую для вас ключи
  • вы (автор) распространяете эти ключи через FunPay или любые другие сайты, где можно продавать ключи

Да... для авторов процесс пока не такой прямолинейный. В этом году я его упростлю.

EN-версия статьи здесь


Исправления/улучшения

  • [UI] Исправлена проблема, из-за которой вход был слишком чувствителен к точности часов на устройстве пользователя