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.4.7523

Permalink one year ago

Bugfixes/Improvements

  • [BehaviorTrees] Fixed a problem with selection not being reset correctly in some cases #EA-589 v7464 by dutiful6005
  • [BehaviorTrees] Fixed a problem with node editor content not being updated properly in some cases
Release

1.4.7520

Permalink one year ago

Startup time improvements - may break things at first

This is the first out of 5 fixes towards performance/startup improvements planned for Q4. As always, such things bear high risks, so please report anything strange you may notice. Difference in startup time should not be very noticeable - it is approximately minus ~10%, so just 1-2 seconds less than it was before. But the most important part is that this fix opens up additional time-saving options which I will exploit in the nearest future.

Release

1.4.7491

Permalink 5 months ago

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

  • [UI] Немного усилены меры безопасности: очистка последних действий теперь должна работать надежнее, а также будет очищаться всё, что связано с родительской папкой, из которой запущен EyeAuras
  • [BehaviorTrees] При ручном запуске узла (из редактора) его выполнение будет автоматически отменяться, когда главное окно выводится на передний план — как и у аур
  • [UI] Несколько небольших исправлений ошибок в новом селекторе аур
Release

1.4.7483

Permalink one year ago

Prototype of new links editor

Releasing new version of editor which is shown any time you links something (AuraIsActive, Enabling Conditions, etc)

old version

The new one is much more flexible, so it will be easier to do any changes there. After current version will be stabilized, I'll add "Recent", "Favourites" and few other improvements I have in mind. Please report any issues you'll find or any improvements you think worth doing - the initial implementation may be buggy at first, but hopefully it will quickly get it to surpass the old variant.

new version

Bugfixes/Improvements

  • [BehaviorTrees] Fixed a problem with focus being lost when switching between BTs - this prevented Paste operation from working properly #EA-592 v7458 by oddessax
  • [UI] Fixed a problem with copy-paste not working in root folder #EA-591 v7458 by oddessax
Release

1.4.7477

Permalink one year ago

Bugfixes/Improvements

  • [BehaviorTrees] Fixed problem with BTs renaming
  • [Packs] Improved packing - packs are now include resources such as images/models/etc as a part of zip-archive
  • [UI] Fixed problem with UI not loading if the program is not able to retrieve list of logical drives #EA-588 WMI Logical drives v7349
  • [UI] Fixed crash which happened when the program is started without unpacking via WinRAR #EA-585 CreateFile WinRAR v7406
Release

1.4.7464

Permalink one year ago

Bugfixes/Improvements

  • [AuraTree] Items are no longer being selected automatically when you click on load/unload/remove
  • [BehaviorTrees] Fixed a problem with C# scripts not being editable
Release

1.4.7458

Permalink 5 months ago

Улучшение ImageSearch — добавлена опция "Include All Matches"

Добавлена новая опция "Include All Matches". Она предназначена для некоторых редких сценариев в скриптах.

По умолчанию ImageSearch находит лучшее возможное совпадение, а затем отслеживает его перемещение — это позволяет не сканировать всё изображение на каждом кадре. Новая опция отключает такие оптимизации, и изображение полностью пересканируется на каждом тике.

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

Чтобы получить доступ ко всем найденным объектам, используйте TemplateMatches, который возвращается как часть результата ImageSearchTrigger.Refresh.

public interface IImageSearchDetectionResult : ICaptureTriggerDetectionResult
{
...

    /// <summary>
    /// Contains an array of all successful template matches and their bounds/similarity
    /// Will contain more than 1 element only if Include All Matches is enabled in ImageSearchTrigger
    /// </summary>
    public ImmutableArray<TemplateMatchResult> TemplateMatches { get; init; }

...
}

Include all matches

Это крайне тяжёлая задача для CPU. На 1920x1080 при полном сканировании вы, скорее всего, получите максимум 2–3 FPS. Это огромная разница по сравнению с ML-поиском: на том же разрешении для той же задачи он может давать до 60 FPS. Поэтому если вам действительно нужно находить несколько экземпляров одного и того же объекта, настоятельно рекомендую посмотреть в сторону обучения Yolo-модели и использовать её вместо этого.

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

  • [BehaviorTrees] Немного оптимизирована работа BT с глубоко вложенными структурами, максимальная глубина увеличена с 64 до 1024 #EA-578 Nested tree v7444 by oddessax
Release

1.4.7448

Permalink 5 months ago

Улучшения MouseMove, KeyPress и TextSearch

Улучшения узлов MouseMove

В узлах MouseMove появилось много новых опций, доступных в макросах и деревьях поведения.

Как и в Send Sequence, теперь можно привязывать X и Y, связывать ауры и точно задавать, куда именно нажимать на найденном изображении или объекте.

Есть два режима редактирования: простой и расширенный.

MouseMove simple mode

Расширенный режим выглядит так (да, элементов управления тут многовато).

MouseMove advanced

Узел KeyPress теперь поддерживает клики мышью и прокрутку колеса

Сейчас за отправку ввода, связанного с мышью, тоже отвечает узел KeyPress.

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

KeyPress

C# scripting — улучшения TextSearch: добавлена сегментация

Триггер TextSearch теперь отдает текстовые сегменты и их координаты. Пока это доступно только через C# scripts, но уже позволяет кликать по конкретному слову.

Пример использования: https://wiki.eyeauras.net/scripting/examples/basic/click-on-text

В будущем похожая функциональность появится и в UI.

Folder Defaults — добавлен выбор Input Smoother

В свойствах папки теперь можно выбирать Input Smoother.

Input Smoother определяет, как именно курсор будет перемещаться из точки A в точку B и за сколько шагов это произойдет.

Как и остальные настройки, эта будет применяться ко всем элементам в папке: узлам, действиям, триггерам и т. д.

Input Smoother

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

  • [Macroses] Улучшен UX: drag'n'drop работает лучше, снижены задержки, исправлено несколько мелких проблем
  • [EventLog] Полоса прокрутки журнала событий теперь остается внизу даже после очистки лога
  • [BehaviorTrees] Исправлена проблема, из-за которой в некоторых случаях добавлялась лишняя связь
  • [Scripting] Исправлена ошибка в CancellableMethodStatementRewriter, из-за которой некоторые скрипты не компилировались
Release

1.4.7436

Permalink one year ago

New Alternative to Auras / Behavior Trees - Macroses (early-early alpha)

Right now, there are 3 methods of building custom logic:

1) Auras

Initially there were only auras, which consist of Triggers and Actions. Idea is simple - when some trigger activates, your actions are started.

This is still good for simple event-action situations like sending notifications to telegram or building automatic HP/MP potions. But for anything more complex such approach quickly becomes way hard to maintain, because you have to think about ALL possible events and reactions which may happen simultaneously.

2) C# scripts

To solve that problem I've added scripts, which give you 100% control over your bot and what it does. The only real problem here is that it requires a user to know C# and be able to code. Also, for some cases, writing the code is not the best solution, e.g. developing bot that does rotations in plain C# may be quite complex as you have to track cooldowns, assess priorities, etc. We needed some better tools for such cases.

3) Behavior Trees

BTs are another view onto modeling logic which has proven itself in game engines where they are used to model NPCs logic and everything. Also it solves the problem of having multiple events happening at the same time be running EVERY action in a sequential manner, i.e. it allows users to build priorities of actions which must be executed under any given set of conditions. For some cases this is just a perfect solution, e.g. building rotation logic using BTs is the best experience you can get nowadays. The only real problem with BTs is that they have quite steep learning curve, which, when multiplied on EA learning curve, made then unaccessible to a lot of users, especially non-programmers. Such users were left with a single option, which is using Auras with all their built-in problems.

Solution - Macroses

Welcome the new 4th option, which intends to become a new default starting point of your automations. The idea is simple - you have a bunch of commands running one after another. Those commands can check states of other auras, press buttons, run scripts, etc. They also allow you have cycles, conditions and everything you would expect.

Macroses are not reactive by default, i.e. they will never run by themselves, in contrast to Auras, which always do something. To run a macro you have to either bind it to a hotkey or configure some other Enabling Condition. When condition is met - macro will run either once, or will run periodically.

And the real power of such approach hides in the fact that you can combine ALL three logic-building methods this way - you can have auras tracking images/colors/doing neural network inference, check state of those auras via IfThenElse, if met - pass control to BehaviorTree or run some script.

For example, you want your character to farm mobs on the spot, if it died - you resurrect, restock resources in a town and go back to the spot. If you'll try to build that whole logic using BT, there will be some complexities involved, e.g. you'll have to always track whether you're on a farming spot or in a town. But with macroses you can have one large cycle, which will be running if bot is activated. In scope of that cycle you can easily check whether you're in a town - and then do restock, or, if you're on a farming spot, macro can start running farming behavior tree. In that case you won't have to worry about ALWAYS describing all possible conditions and can easily break your bot's logic in parts.

You can use macroses to just send sequences of keypresses Send sequence

or build full-blown rebuff/target/farm logic using conditions, cycles and scripts Rebuff

In contrast to BTs, this tool is quite simple and easy to understand - you basically build a program using small blocks. I think that will allow new users to build their automations in an easier way.

New node - Mouse Move

This node is available in both Macroses and Behavior Trees and is currently a very rough prototype of how it will look like. It will get some love in the nearest weeks.

There are two nodes, one for absolute mouse movement, one for relative (takes into consideration current position of the cursor).

Bugfixes/Improvements

  • [UI] Fixed problem with login - username was case-sensitive
  • [BehaviorTrees] Fixed a problem with BTs ticking once when enabling conditions are met even if program window is active
  • [BehaviorTrees] Fixed a problem with BTs - they were not respecting Enabling Conditions of a folder in which they reside
  • [UI] A lot of changes in Import/Export code - may break something, but now EA can have as many different item types (behavior trees, auras, macroses, folders, etc) as needed
  • [Capture] Fixed a problem with FPS showing incorrect values sometimes
  • [TetherScript] Added support for true relative mouse movement. Previous version of the driver was not supporting real mouse movement and quieried cursor position, which did not work at all for some cases, e.g. when a game "snaps" cursor positions at the center of the screen.
  • [Scripting] Fixed a problem with code rewriters not handling some combinations of method calls.
Release

1.4.7399

Permalink 5 months ago

Улучшения C#-скриптинга

Одна из ключевых возможностей EyeAuras — это движок C#-скриптов, который позволяет компилировать, загружать и выполнять ваш код в реальном времени. Он используется в действиях, триггерах и деревьях поведения.

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

В этой версии я добавил дополнительный механизм, который будет автоматически расширять и переписывать ваш код, чтобы уменьшить влияние некоторых распространённых ошибок. Например:

  • необработанные исключения в Task
  • использование Thread.Sleep вместо метода Sleep, встроенного в EyeAuras, который намного точнее и поддерживает отмену
  • бесконечные циклы вроде while(true){} вместо while(!cancellationToken.IsCancellationRequested){}

Теперь такие случаи, как и многие другие, будут анализироваться ещё до компиляции, а код — автоматически переписываться. Конечно, таким способом можно исправить только часть ошибок. Основная ответственность по-прежнему остаётся на вас как на авторе скрипта: именно вы должны писать рабочий код. Но этот механизм должен немного упростить жизнь.

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

Если заметите что-то странное — обязательно сообщите!

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

  • [Crash] Исправлен краш на Windows 10 Home (и N), связанный с отсутствием библиотек OpenCL
  • [Sublicenses] Сублицензии теперь отображаются в интерфейсе. Пока что вместо имени пака показывается только Id
  • [UI] Окно лицензионного соглашения EyeAuras теперь автоматически активируется при запуске. Это не затронет тех, кто уже когда-либо его принял
  • [UI] Переработан механизм импорта/экспорта — это должно исправить проблемы с заменой деревьев поведения и ещё несколько связанных моментов
  • [BehaviorTrees] Обновлён интерфейс: элементы управления немного перераспределены, изменены стили и т. д. Посмотрим, насколько удобной окажется новая версия
  • [BehaviorTrees] Добавлена визуализация ошибок — если в каком-либо узле возникнет ошибка, она теперь будет отображаться в UI так же, как ошибки в аурах
  • [Scripting] Выпущена новая версия EyeAuras.SDK