1.7.8305

May - 1.7

Новый релиз — 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 — проверяет текущее состояние указанной клавиши.
    -- IfThenElse — if..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.