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

Permalink 2 years ago

New feature - server-side packing

From now on, any shared pack of auras could be downloaded as a separate portable application which can be running in parallel with the main EyeAuras. This should drastically reduce complexity of onboarding of new users - to them, your pack of auras will look just like a usual program, which they can download, unzip and run. This is especially powerful in combination with Custom UI - you can basically create entirely new program and then distribute it as a portable app, which will have multiple layers of anti-cheat protection, almost dozen different input simulators, high-performance image capture and ML-capabilities.

This is still in early stages and will be the recommended way of distributing your work to other users, even those who are already using a program themselves - portable format guarantees that the program will keep working even if the main version of EyeAuras was updated in some breaking way.

Download pack

P.S. Client-side packing will be enabled a bit later

Bugfixes/Improvements

  • [UI] Changed folder editor UI - now there are two tabs, one for Synchronization, one for everything else
  • [Capture] Increased default MaxFramesPerSecond from 30 to 144
  • [Scripting] Added Execute and ExecuteAsync to IAuraAccessor
  • [Scripting] Sleep with under-10ms values now is much-much-much more accurate than before
  • [Packs] A lot of improvements in packing and
  • [UI] Decreased min window size to 1200x620
Release

1.4.7137

Permalink 5 months ago

Изменения в интерфейсе Behavior Tree

  • Панель с узлами теперь можно сворачивать, а внешний вид самих узлов был обновлён — теперь они занимают заметно меньше места
  • Исправлены проблемы, из-за которых иконки некоторых узлов отображались некорректно
  • Улучшен UX при одновременной работе с несколькими (>3) BT

Добавлен раздел "About" — благодарности

EyeAuras включает почти две сотни библиотек, которые покрывают разные части его функциональности, и я хочу поблагодарить их авторов.
About

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

  • [Crash] Более безопасное переключение overlay #EA-451 by n1katio
  • [TimerTrigger] Исправлена проблема, из-за которой триггер активировался некорректно
  • [Pack] Добавлены две новые опции упаковки — теперь можно включать в пакет и свою личную конфигурацию
  • [Crash] Исправлен сбой в PropertyEditor #EA-454 y madscream
  • [Crash] Изменена процедура инициализации #EA-453 by dutiful6005
Release

1.4.7098

Permalink 5 months ago

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

Добавлена возможность писать собственные сглаживатели ввода мыши — подробнее здесь

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

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

Следующий шаг, который я планирую добавить, — возможность полностью реализовывать симулятор ввода в коде. Это позволит, например, сделать собственный метод отправки ввода в фоновое окно. Я и сам хочу добавить такой вариант, но постоянно появляются новые задачи, поэтому этим изменением я хотя бы разблокирую тех, кто может реализовать это самостоятельно.

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

  • [Capture] Вернул часть утраченной функциональности, которая позволяла захватывать весь экран. Пока это доступно только в методе CopyFromScreen, поддержку для более производительных методов добавлю позже.
  • [Pack] Исправлена ошибка в алгоритме Packing, связанная с созданием новой директории.
Release

1.4.7095

Permalink 2 years ago

Scripting improvements

Added cross-aura references

Long-awaited change that allows you to link mutiple auras, that contain some C# code together and re-use methods, classes and everything else as if it would be a single script. This allows you to write some utility functions once and then use them whenever you need. From now on, amount of copy-paste required for large programs hopefully will be close to 0. The change affects both Auras and Behavior Trees - by referencing Aura from Behavior Tree you will make shared code available across all nodes of that tree.

To link auras together just add Reference like on the picture below Code references

How is it useful to me ?

For example, in your "library" Aura you can store a bunch of classes which will be used for storing user configuration or will simulate user input in some specific way. Or maybe you want to draw something on the screen using OnScreenDisplay.

Bugfixes/Improvements

  • [Crash] Fixed crash which rarely occurred in TimerTrigger during startup
  • [Crash] Muted crash which happened if overlay is already disposed #EA-441 v7008 by n1katio
  • [BehaviorTrees] UI refactoring - more space, moved blackboard to separate tab
  • [BehaviorTrees] Made it possible to zoom in/zoom out the whole control - that way you can make side panels occupy less space if needed
  • [BehaviorTrees] Improved Copy/Paste experience - the program will now try to position pasted nodes right where your mouse is
  • [BehaviorTrees] Wait and Cooldown nodes now allow to configure randomized time spans
  • [UI] Enabled config Version Control System by default for new users
  • [Scripting] IBehaviorTreeAccessor now offers Tick method which allows to manually control ticks of the tree
  • [Scripting] IBehaviorTreeAccessor now allows to remotely access Blackboard
  • [Scripting] Improved user-level exceptions visualization
  • [Scripting] ScriptVariable now does not erase previously stored values in case of type mismatch
Release

1.4.7060

Permalink 2 years ago

Улучшения скриптинга и исправления ошибок

Первое и самое важное

Ранее, когда скрипт делал что-то действительно не так, что для обычной "классической" программы привело бы к крашу, глаз следовал той же схеме. То есть, если вы допустили ошибку в скрипте, программа сразу же вылетала, показывая окно отчета об ошибке и предлагая ее отправить мне. Это вроде как имело смысл, но в какой-то момент я начал получать ОЧЕНЬ много отчетов об ошибках, которые я никак не могу исправить, так как их нужно фиксить на стороне скрипта.

В принципе, у меня есть 3 варианта:

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

  • b) запускать скрипты в изолированной среде, по сути, создавать маленькие отдельные исполняемые файлы, которые взаимодействуют с "главной" программой через какой-то шустрый транспорт Лучший вариант, но с технической точки зрения чрезвычайно сложный, особенно учитывая, что эта "маленькая" программа должна будет общаться с главной с очень низкими задержками, иначе это просто не будет работать для реальных применений. В какой-то момент это станет моей целью, но я оцениваю стоимость разработки в 3-4 месяца как минимум, что делает ее одной из самых дорогих потенциальных новых функций.

  • c) учитывая, что EyeAuras полностью контролирует исходный код и управление процессом выполнения, попытаться сделать весь процесс скриптинга максимально надежным и защищенным от ошибок Это вариант, который мы попробуем сейчас. Я разработал тестовое решение, которое пытается перехватить все ошибки, возникающие в пользовательских скриптах, и вместо того, чтобы крашить приложение, пытается их обрабатывать, восстанавливать состояние (если возможно) и продолжать работу. Также я начну писать автоматические улучшения кода, которые будут применяться к пользовательскому коду во время компиляции - например, добавление правильной обработки исключений там, где это отсутствует (например, обработчики нажатий кнопок) или обработка исключений, выбрасываемых задачами. Посмотрим, как это пойдет.

Еще несколько исправлений и улучшений в этом релизе:

  • [Исправление ошибки] Ранее внутренняя система, которая освобождает службы, созданные GetService<T>, могла случайно освободить (то есть "убить") некоторые важные службы EyeAuras...
  • [Улучшение] Время компиляции должно стать короче, особенно для первой компиляции после запуска
  • [Улучшение] Механизм, запускающий скрипты, теперь имеет гораздо меньшую внутреннюю задержку, что означает, что ваши скрипты могут запускаться гораздо чаще - эта оптимизация была сделана в первую очередь для Behavior Trees, так как там может быть десятки маленьких узлов скриптов, выполняемых в одном цикле

Проверка MouseMove теперь отключена

В течение нескольких лет EyeAuras использовал механизм, который проверял результаты каждого перемещения мыши - он удостоверялся, что курсор действительно переместился в нужное место. Исторически основной причиной для этого были аппаратные эмуляторы ввода, такие как Usb2Kbd и пользовательские устройства на базе Arduino. Для них это имело смысл, так как они не всегда мгновенно выполняют перемещение, что означает, что если у вас два ввода подряд (MouseMove + Click), есть шанс, что мышь не будет в нужной позиции, когда будет выполнен клик. Теперь инструменты для отправки вводов стали гораздо мощнее - SendSequence, BehaviorTrees, Scripts, и этот механизм кажется приносит больше проблем, чем пользы.

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

Улучшения Aura Tree - копирование/вставка

Добавлена полная поддержка Ctrl+C/Ctrl+V - ранее Ctrl+C был чем-то вроде механизма экспорта, что означало, что вы не могли просто скопировать элемент и вставить его в другую папку, так как это приводило к конфликтам. Теперь вы можете копировать и вставлять элементы повсюду так же, как вы это делаете в проводнике Windows. Также схема именования для клонированных элементов теперь следует той, что используется в Windows, например, если вы копируете "Aura", первый клон будет назван "Aura - Copy", второй "Aura - Copy(2)" и так далее.

Обратите внимание, что копирование-вставка элементов между несколькими экземплярами EyeAuras не работает! Для этого пока нужно использовать Export и Import.

Release

1.4.7036

Permalink 2 years ago

Enabling Conditions rework

A lot of internal changes were made to the system that manages enabling conditions. Some of them fix bugs, while others improve the overall user experience.

  • If a trigger is disabled because its enabling conditions are not met, its header will now show orange text, as shown in the screenshot below.
  • If you hover over that text, you will see very detailed information that helps you figure out exactly what is affecting the trigger. Right now this block is still quite technical, but it clearly shows which elements caused the disabled state.
  • If an aura is selected and the main window is currently focused, all enabling conditions are ignored.
  • Similar logic now applies when a folder is selected: all enabling conditions for its child elements are ignored.
  • Fixed a bug that could sometimes happen on application startup and disable auras even when their enabling conditions were actually satisfied.

Enabling conditions DISABLED preview

Triggers, Actions, and Overlays can now be minimized

This state is saved as part of the element configuration, which means it will stay that way until you change it again.

Triggers/Actions/Overlays are now minimizable

HotkeyIsActive improvements

New HotkeyIsActive

UI improvements:

  • Added tooltips
  • Improved the aura-linking mechanism inside the trigger: Interception conditions, explained in more detail below

Interception conditions

This feature has actually existed for years, but never got much public attention, even though it can be extremely useful in some cases.

In general, this mechanism is responsible for enabling or disabling hotkey processing. By adding one or more auras, you can define the exact set of conditions that must be met before HotkeyIsActive starts intercepting and processing events.

For example, if you link an aura that contains WindowIsActive, the trigger will only react to key presses while the game window is active.

In more advanced setups, you can link the trigger to some in-game condition. For example, when you press RMB (= part of HotkeyIsActive) AND some powerful skill is ready to use (= linked condition), instead of doing whatever RMB normally does, you can simulate pressing the key that casts that skill. A good example would be automatic Vaal Skill usage in Path of Exile: you have the normal version of the skill bound to a button you already press, and once the Vaal version has enough souls, it will be used automatically. You do not even need to remember it yourself.

To better explain the next two settings, here is an example based on the screenshot above:

There is a HotkeyIsActive trigger that watches for F3 in Toggle mode. That means the first time I press F3, the trigger is activated, and to deactivate it, I need to press it a second time. This is simple and very useful for enabling or disabling more complex auras, such as auto-flasks. I also enabled Suppress Key, which prevents F3 from reaching the game window at all, so the game does not react to whatever is bound to F3.

The problem with this setup is that if I leave it as-is, F3 will be blocked in every application, not just in my game, which is not very convenient.

To fix that, I can add Interception conditions with WindowIsActive, which limits F3 interception to a single game window.

This works, but it introduces two more issues:

Interception conditions - Ignore if Hotkey is set

Problem:
To disable HotkeyIsActive, the game window must be focused. So if I want to turn off something bound to F3, I first have to switch back to the game window. If F3 enabled some aggressive clicker, bringing your window back to the foreground may not be easy.

Solution:
Enable this option, and now you can require the game window to be active only when enabling the trigger, while still allowing disabling it from anywhere. Forgot to turn off your clicker before alt-tabbing away? No problem, just press F3 again and the trigger will be disabled.

Note that this option only applies while the toggle is currently active.

Interception conditions - Automatically deactivate Trigger

Problem:
There is no quick way to disable HotkeyIsActive without pressing the button again. In some cases this is inconvenient, because you need to remember that some automation is still running. For example, you switch to your browser and forget that some script is active. Then, unexpectedly, one of the trigger conditions becomes true and you start doing something in the game. This can cause problems.

Solution:
Just enable this new option. Now, if the trigger's interception condition is no longer met, the trigger will deactivate automatically. In our example, if I switch away from the game window, all functionality controlled by F3 will be deactivated. Note that you will need to activate it again after switching back to the game. With this option enabled, the whole setup becomes much more resistant to human error.

Image Capture Triggers UX improvements

Historically, when editing Image Capture Trigger settings (Image/Text/Color/ML), the preview window updated using the exact same Capture rate you configured, or lower if the trigger could not reach that FPS. In most cases this is fine, but it becomes inconvenient once you start working with very low FPS values, such as a trigger updating once every 10 seconds, or even 0 FPS triggers used together with C# scripts and Behavior Trees.

Previously, you had to click the Refresh button manually to force a redraw, which was not very convenient. Now you can set a minimum preview FPS for the entire application, and it will be used instead of the trigger's Capture Rate.

Minimum Preview FPS only applies while preview is enabled. It does not affect FPS outside of preview mode and is not exported as part of the trigger configuration.

Trigger UI improvement: status display

From now on, you can hover over a trigger state to better understand why it has that value. For example, if enabling conditions are not met, the trigger state description will say exactly that. If a trigger is misconfigured, it will tell you what is missing. Coverage is still far from complete right now, but we will get there over time.

HotkeyIsActive state Image Search state Image Search state#2

Bugfixes/Improvements

  • [UI] Fixed a crash that could happen on startup and cause EventViewer to appear on top of the splash screen
  • [Pack] Packaging improvements: packed versions no longer react to eyeauras:// links, unlike the main version
  • [UI] Unload All / Load All now also affect Behavior Trees
Release

1.4.7017

Permalink 5 months ago

Улучшения триггера HotkeyIsActive

Добавлена новая опция, которая сбрасывает состояние триггера (деактивирует его), когда связанные ауры становятся неактивными.

Наиболее практичное применение этой функции — связанная аура с триггером WindowIsActive. По умолчанию поведение такое:

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

Если включить новую опцию (Reset trigger state when linked auras are not active), поведение меняется:

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

Это позволяет очень легко настроить клавишу, которая активирует нужную функциональность только при активной игре и автоматически отключается, если вы alt-tab'нулись или свернули игру.

HotkeyIsActive

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

  • [Overlays] Исправлена давняя проблема, из-за которой оверлеи иногда отправлялись на задний план. Исправление затрагивает все оверлеи в программе, включая OSD.
  • [Crash] Исправлен сбой, который возникал при копировании и вставке конфигурации на другой компьютер. В ближайшем будущем также будут предприняты дополнительные шаги для улучшения переносимости программы.
  • [Scripting] В Search Triggers добавлены свойства для управления OnScreenDisplay, чтобы их можно было переключать через код.
Release

1.4.7008

Permalink 2 years ago

Publish/Subscribe

This is an enhanced version of the aura import mechanism. By providing a link to a pack (for example, the clicker for the crypto-game Blum), you can start receiving update notifications as soon as the author releases a new version. Additionally, there is an integrated system for "merging" your settings with the author's pack settings (details below).

The essence of this mechanism is to make it easier and more convenient for authors to distribute updated versions of aura packs, and for users to update them. In the foreseeable future, pack settings will also include the ability to specify the program version recommended by the author, and the update mechanism will be able to download and install it. Telegram

Permissions

Currently, only those who initially published the pack can update it. There is an ownership mechanism which will allow you to have multiple people to "own" the pack, but it is not ready yet.

How to establish subscription to a pack of auras

In the current alpha, to establish subscription, you have to right-click on any folder and select Publish/Syncronize

Then just paste the link to a pack you'd want to subscribe to OR leave the field empty to create a new pack (export + subscribe) Publish/Synchronize window

Merging Settings

For example, you subscribed to an aura that activates a specified window when you press F4, which is a combination of the HotkeyIsActive trigger and the WinActivate action. In version 1, the author specified the hotkey F4 and the window name MyGame. You subscribed and downloaded this pack. However, F4 is inconvenient for you, so you decided to change it to F3. The author updates their pack and adds an additional action (which doesn't matter to us). You get a notification in the program that an update is available.

When you click the Update button, the merging mechanism will analyze what has changed. In this case, it will see the following: Local (your) changes: HotkeyIsActive: hotkey F4 changed to F3 Remote (author's) changes: new action added

These changes do not conflict, so the mechanism can create a unique intermediate version that includes both the author's changes (new action) and retains your changes (hotkey F3).

There could also be a situation where the author decides to change the hotkey as well (F4 => F2). In this case, the system will detect conflicting settings. Currently, the decision is always to prioritize the author's settings.

On the Changes tab, you can press the Download button at any time to see how your local settings differ from the current author's pack—no changes will be made, this is purely a preview. Changes

Activity Log

Bugfixes/Improvements

  • [Scripting] Added new method ToScreenPoint, which can help to reduce amount of code you need to write to click on someting
  • [UI] Improvements in AuraTree - previously it stuttered a bit during removal of large folders
  • [UI]
  • [UI] Fixed crash which happened when login server was not available during login procedure
  • [UI] Fixed bug which crashed Event Viewer
  • [UI] Fixed a crash which occurred when something bad (like disconnect) happened while you were trying to login (error "Edit Form")
Release

1.4.6884

Permalink 5 months ago

Дальнейшие улучшения сайта

Теперь, когда вы вставляете ссылки на сайт EyeAuras (https://eyeauras.net/) или даже на конкретные ауры (https://eyeauras.net/share/S20240426185158EYI4GEqRm2vh), будет показываться небольшое превью.

Это работает в большинстве современных мессенджеров: Twitter, Discord, Telegram и т. д.

Telegram

Улучшена скорость загрузки и скачивания аур

Теперь при экспорте и импорте ауры маленькая часть (JSON) и большие данные (binary, images, models и т. д.) обрабатываются отдельно и скачиваются из разных источников.

Что это дает для вас как для пользователя:

  • окно предпросмотра импорта будет открываться и работать заметно быстрее, особенно для больших паков аур
  • синхронизация станет эффективнее — программе больше не нужно будет скачивать весь пак аур размером 100+ MB, чтобы просто выполнить diff
  • и самое важное, хотя это еще не внедрено: это позволит решить проблему с очень долгим открытием Aura Library. Эти изменения появятся позже в этом месяце

Особенно заметно это должно быть для пользователей, подключенных к EU Eye Hub. Позже я также добавлю отдельный файловый хаб и для RU-региона.

Settings

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

  • [UI] Исправлен вылет, который происходил, если во время входа что-то шло не так (например, разрыв соединения) — ошибка "Edit Form"
Release

1.4.6862

Permalink 2 years ago

New website

Done some face-lifting on EyeAuras website (and EU Mirror).

  • Actualized screenshots, added some videos, etc
  • Download section is not right there on the main page and you can see when it was released
  • Pricing details are also available from the get go This is not the final state, most work was done on the front page because it was looking and feeling really old. Next thing that I will be focusing on is Aura Library

Bugfixes/Improvements

  • [UI] Added masking to password-protected folders