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.9980
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.6.8294

Permalink one year ago

Bugfixes/Improvements

  • [BT] Fixed a problem with Debounce node not saving properties
  • [Crash] Fixed Import-related crash which happenede when clipboard containted link to unsupported file
  • [UI] Fixed a problem with full-screen region selector - selection was off a bit
Release

1.6.8227

Permalink 5 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 one year ago

Performance - startup time improvements

Started to work on startup time improvements and, more specifically, "cold" (first) start.

Here are startup times for the latest pack for GTA5 by @linx - https://eyeauras.net/share/S202503032233289fPxqP4AA0N0 v8215 - 33.41s v8224 - 28.89s

So the new version is approximately 15% faster on the first launch.

Subsequent launches: v8215 - 29.38s v8224 - 27.10s ~8% faster.

I will keep working on improving those stats.


Bugfixes/Improvements

  • none this time
Release

1.6.8211

Permalink 5 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 5 months ago

KeyLogin

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

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

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

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

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


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

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

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

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


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

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

1.6.8202

Permalink one year ago

New Node - Color Check - Early prototype

Allows to check that the color of a specific pixel(or region) matches selected one. Probably one of the most useful nodes out there - fast, very easy to use and very flexible. ColorCheck

New Node - Image Search - Early prototype

Allows to find image somewhere on the screen/in a selected region. ImageSearch

New Node - IfThenElse

Added new node, which is intended to be used by those who are more comfortable with "classic" logic building. IfThenElse

Bugfixes/Improvements

  • [BT] Improved nodes removal UX
Release

1.6.8193

Permalink one year ago

New Node - MLSearch - prototype

MLSearchNode New node in BTs and Macros, which allows you to run ML search over a region of a screen/window. It is still missing a lot of options currently present in MLSearchTrigger such as Configende/IoU thresholds, inference method, number of threads etc - those will be added in the nearest future.

Note, that by itself this node does not do anything - you have to pair it with other nodes such as MLFindClass or MouseMove to get anything from it. By default, it will pick the very first object and make it available for click via MouseMove - for some very simple scenarios that will be enough, for more complex one - use MLFindClass

The node will return Success only if there is at least one found prediction.

New Node - MLFindClass - prototype

MLFindClass

This node must be used in pair with MLSearch and allows to pick some class(~object) from the output generated by MLSearch - you can set some filtering parameters such as class name(s), minimum confidence threshold, size restrictions, etc. Those predictions which do not match any of those, will be filtered out.

Out of those predictions which will be left after filtering, you can make the node pick exactly one of them - it could be the very first in the list or the one with the highest confidence or even the one that is currently closest to the cursor.

The node will return Success only if there is at least one found prediction that matches all the criteria.

Of course, both MLSearch and MLFindClass could be used in combination with all other nodes. Here is, for example, priority-based target selection PriorityTargetSelectionUsing

Bugfixes/Improvements

  • [BT] Fixed a problem with zero-timeout BTs - they ticked only once
Release

1.6.8185

Permalink 5 months ago

Новый узел — Pixel Search (ранний прототип)

В EyeAuras появился новый узел, доступный в Macros и BT.

Это первый узел из новой серии, ориентированной на компьютерное зрение. В будущем такие узлы станут прямой заменой триггеров, которые сейчас используются в Auras.

Переход займет много времени, и до полного соответствия возможностям текущих триггеров новые узлы, скорее всего, будут добираться еще несколько месяцев. Но постепенно мы к этому придем.

Обратите внимание: узлы не выполняются сами по себе. Захват изображения и анализ происходят ровно в тот момент, когда узел исполняется.
PixelSearch

Производительность

На старте производительность узлов может быть ниже, чем у прежних триггеров. Это связано с новыми механизмами, реализованными в Computer Vision API, на котором работают эти узлы.

Клики по найденным изображениям и пикселям в Macros и Behavior Trees

Новые узлы записывают результаты в Variables, которые доступны через Bindings.

Сейчас для этого используется одна переменная — CvLastFoundRegion. Она хранит последнюю найденную область. Это могут быть координаты найденного пикселя, координаты найденного изображения или ML-класс.
Variables

Узел MouseMove

В MouseMove появилась новая кнопка, которая позволяет быстро и удобно использовать эту переменную как источник координат.
MouseMove

Просто нажмите на кнопку, и при выполнении MouseMove попытается прочитать координаты из этой переменной.
Binding

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

  • [BT] Добавлена новая кнопка, позволяющая запускать BT/узел до остановки
  • [TextSearch] Исправлена проблема в TextSearch: IncludeTextSegments не сохранялся в конфигурации
Release

1.6.8184

Permalink one year ago

Computer Vision API improvements - Caching

Implementing a first prototype of the system which should allow to use CV API in BTs and Macros. The general idea is that now those methods which you call, be it ImageSearch/ColorSearch/etc, will cache underlying capture/processing mechanisms, which should make consequent similar calls from other parts of the program be much-much cheaper. We're talking seconds VS milliseconds here.

The mechanism tries to track which parts of the program use different parts of CV API and cache them accordingly. Monitor memory usage! Usually such systems tend to memory leak. A lot. Especially until properly tuned.

This API by itself is still very rough on edges and will be improved in upcoming releases.

WithoutCaching()

This method is now part of Computer Vision API and allows to entirely bypass caching mechanism if you do not need it - e.g. your entire program is a single C# script. In that case it does not make sense to rely on EA caching mechanisms and pay extra (yet small) price for it

Bugfixes/Improvements

  • [Crash] Fixed crash which happened in BTs after latest changes ("Already cancelled")
  • [Macros] Improved responsiveness of drag'n'drop in the tree
  • [Scripting] Added Clear() method to MiniProfiler
  • [Scripting] Optimized memory use a bit (AuraScript disposal)
  • [Scripting] In auras, fixed a bug which could've prevented Script execution if aura was deactivated too quickly
Release

1.6.8179

Permalink 5 months ago

Изменения в Macros — узлы BT в Macros временно отключены

В последней версии я включил узлы Cooldown / Selector / Sequence для использования в Macros. Предполагалось, что это упростит создание ротаций и заодно принесёт в Macros некоторые возможности из BT.

Первые тесты показали, что этой функциональности ещё нужно время на доработку: она вызывает слишком много вопросов, особенно вокруг drag'n'drop.

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

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

  • [Macros] Улучшена отзывчивость drag'n'drop в дереве