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

Permalink one year ago

Aura Pack Revisions

From now on, the server will save all versions of your auras ever created/uploaded. This allows to download pack with some specific revision in case something is wrong with the new one.

Here is how it looks like ("Revisions" section at the bottom of the page) Example - Blum clicker pack

Bugfixes/Improvements

  • [UI] Fixed a problem with export on older versions of the program #EA-532 v6819 by DaDoro
  • [Crash] Fixed(?) a problem with crash related to TransformAsync #EA-526 v7265 by TheSerg12
  • [Packing] Added option to remove icon from packed executable
  • [UI] Fixed a problem with authentication not working properly under some circumstances ("Failed to login..." after reboot)
  • [Scripting] Improvements in how Scripts import assemblies and metadata - should make compilation faster a bit
  • [Website] Fixed on-demand aura pack removal
  • [Website] Implemented download/views counter which tracks how many users viewed/downloaded your pack. Visualization will come later
  • [Website] Pack pages UI improvements
Release

1.4.7265

Permalink one year ago

Bugfixes/Improvements

  • [Crash] Fixed crash in WindowSelector #EA-337
  • [Crash] Fixed crash in TransformAsync #EA-339
  • [Crash] Fixed crash in BTNodeEditorFooterMenu #EA-512 v7247 by oddessax
  • [AuraTree] Forbidden usage of invalid windows file name chars in aura names
  • [WinActivate] Fixed timeout in WinActivate not being saved properly #EA-500 v7215 by dutiful6005
Release

1.4.7247

Permalink one year ago

Bugfixes/Improvements

  • [BehaviorTree] Fixed a very nasty bug which lead to parts of the tree not being shown after certain sequences of actions
  • [UI] Aura Tree sorting is now properly updated after rename
  • [UI] A lot of changes in mechanism that is responsible for UI updates - may be buggy a bit at first, but will end up much more effective in the long term
  • [UI] Fixed a bug with Enter handling in numerical fields
  • [UI] Implemented prototype of mechanism which will allow to login via license key instead of username/password - should make things easier for new users
Release

1.4.7199

Permalink 3 months ago

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

  • [UI] Дерево аур теперь сортируется по схеме Тип => Имя; раньше в сортировке также учитывалось время последнего изменения
  • [UI] В отчёт об ошибке теперь можно включить все ваши ауры; по умолчанию эта опция отключена
  • [UI] Улучшена обработка ошибок, когда пользователь пытается импортировать share, которого не существует
Release

1.4.7191

Permalink one year ago

Bugfixes/Improvements

  • [VCS] Manual save now automatically commits config data to .git repository
  • [Scripting] Fixed a bug which lead to unexpected disposal of services rented by GetService method
  • [UI] Bugfixes related to absence of scrollbar in some cases, especially noticeable on smaller screens
Release

1.4.7183

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

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

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

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

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

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

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

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

1.4.7095

Permalink 3 months ago

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

Добавлены ссылки между аурами

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

Это позволяет один раз написать вспомогательные функции и затем использовать их везде, где они нужны. Для крупных проектов это должно почти свести copy-paste к нулю.

Изменение работает как для Auras, так и для Behavior Trees: если добавить ссылку на Aura из Behavior Tree, общий код станет доступен всем узлам этого дерева.

Чтобы связать ауры между собой, просто добавьте Reference, как показано на изображении ниже.

Code references

Чем это может быть полезно?

Например, в вашей Aura-"библиотеке" можно хранить набор классов для пользовательской конфигурации или логику, которая особым образом эмулирует ввод пользователя. Либо там можно разместить код для рисования на экране через OnScreenDisplay.

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

  • [Crash] Исправлен редкий вылет в TimerTrigger во время запуска
  • [Crash] Подавлен вылет, который происходил, если overlay уже был освобожден #EA-441 v7008 by n1katio
  • [BehaviorTrees] Переработан UI — стало больше места, Blackboard вынесен на отдельную вкладку
  • [BehaviorTrees] Добавлена возможность масштабировать весь элемент управления — это позволяет при необходимости уменьшить занимаемое боковыми панелями пространство
  • [BehaviorTrees] Улучшено Copy/Paste — теперь программа старается размещать вставленные узлы прямо в позиции курсора
  • [BehaviorTrees] Узлы Wait и Cooldown теперь позволяют настраивать случайные интервалы времени
  • [UI] Для новых пользователей система контроля версий конфигурации теперь включена по умолчанию
  • [Scripting] IBehaviorTreeAccessor теперь предоставляет метод Tick, который позволяет вручную управлять тиками дерева
  • [Scripting] IBehaviorTreeAccessor теперь позволяет удаленно получать доступ к Blackboard
  • [Scripting] Улучшена визуализация пользовательских исключений
  • [Scripting] ScriptVariable больше не стирает ранее сохраненные значения при несовпадении типов
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.