Builds

Available downloads

Stable is the recommended track for most users. Alpha gets you the newest capabilities first.

Stable 1.9.9740 Alpha 1.9.9740
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.8.9001

Permalink 5 months ago

Bugfixes/Improvements

  • [SendInput] Fixed a problem with TetherScript driver - on some resolutions/DPI, mouse clicks also slightly moved the cursor (+-1px). Another thing to note - please ensure that you're using compatible version of the driver to ensure everything works as expected - HVDK 2.1, more info on this page
Release

1.8.8909

Permalink 6 months ago

Bugfixes/Improvements

  • [Scripting] Добавил IPerformanceMetricsProvider - теперь можно выводить в режиме реального времени данные о памяти / CPU
  • [Scripting] Значительно ускорил работу с NuGet пакетами - особенно заметно на больших скриптах
Release

1.8.8873

Permalink one month ago

ALPHA! Улучшения производительности

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

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

Проверил улучшения на боте на базе ImGui — теперь можно выходить на диапазон в 2k fps. И это С УЧЁТОМ чтения памяти и разбора всех необходимых игровых структур! По сути, bot-loop теперь работает примерно на ~2k тиков в секунду — до этих исправлений FPS был в районе 400–500.
2k fps demo

Следующая цель — стабилизировать FPS и сделать его более плавным, потому что сейчас он довольно «скачущий». Пару месяцев назад я уже писал про адаптацию new prototype-GC в changelog для 1.7.8559 — это как раз должно помочь с этой задачей.

Пожалуйста, сообщайте обо всём, что заметите!

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

  • [Scripting] Улучшено освобождение памяти скриптов — даже если пользовательский скрипт содержит висящие ссылки, EyeAuras постарается очистить их после остановки скрипта
  • [BehaviorTree] Улучшена производительность BT
Release

1.8.8856

Permalink 7 months ago

Bugfixes/Improvements

  • [Scripting] Embedded Resources fixes - made Script FileProvider more flexible (now understands more formats of paths)
  • [Scripting] Fixed bug in Live Import - now should property detect changes in .csproj
  • [EyePad] Recents are now ordered by date(desc)
  • [BehaviorTree] Added new node - SetVariable, it is still in very early phase, but I decided to drop it earlier just to test it out
Release

1.8.8842

Permalink 7 months ago

Bugfixes/Improvements

  • [Behavior Tree] Fixed a problem with circular references - it lead to UI showing connections which are not really there
Release

1.8.8841

Permalink 7 months ago

Wiki

C# Scripting - IDE Integration

  • IDE Ingegration - details about integration with IDEs (Rider/Visual Studio) via LiveImport

Bugfixes/Improvements

  • [Crash] Fixed a problem with License window crashing on startup
  • [Scripting] Added new button "Open in IDE", which allows to edit the script in Rider/Visual Studio and see them reflected in EyeAuras in real-time - more here...
Release

1.8.8836

Permalink 7 months ago

C# Scripting - Embedded Resources - alpha

Added new very powerful tool into our toolkit - now you can embed arbitrary files, be it images, videos, text files or even DLL/EXE files right into your script. And then, from that very script you can do whatever you want with them just like if they would be right there on the disk. This opens up a lot of new possibilities - embedding guiding materials into scripts, bringing your own assemblies which contain some custom code or even entire installers of tools which your script might use.

Moreover, with use of C# Script protection it is possible to protect those resources with encryption, making it much harder to extract and re-use outside the script. I'll announce separately when that part of functionality will be publicly available.

Add existing file

More details...

Please report any issues you'll find in that part of the system!

C# Scripting - Variables improvements

Improved EyeAuras resiliency around script variables management - now none of default methods (accessing variable value or listening for its changes) are throwing exceptions, making it easier for new users to pick up and use.

General idea is to bring things closer to Python/JavaScript as usually in scripting you want as much flexibility as possible. At the same time, C# is strongly-typed language, thus striking the balance is not easy. This is the second iteration of variables, so we'll see how it goes.

More details...

Wiki

C# Scripting

C# Scripting - ImGui

Bugfixes/Improvements

  • [UI] Minor fixes in how behavior trees are loaded
Release

1.8.8808

Permalink one month ago

Изменения в SendSequence

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

Например, у вас есть последовательность скиллов, которая кастуется внутри блока WhileActive. Теперь вы хотите уметь остановить её в любой момент — например, переключив hotkey в состояние Off. Раньше без Behavior Trees или Macros сделать это было нельзя. Теперь же для этого достаточно буквально пары кликов.

Can Be Interrupted

Как и следует из названия, этот флаг меняет поведение action: если по любой причине Aura деактивируется, действие будет остановлено, даже если последовательность ещё не дошла до конца.

Но резко обрывать последовательность ввода чаще всего не лучшая идея. Например, если action уже нажал какую-то кнопку, но ещё не успел её отпустить, то после прерывания эта кнопка так и останется зажатой, что почти наверняка что-нибудь сломает.

Именно для этого нужен второй флаг:

Restore Keyboard State

Этот флаг запоминает клавиши, нажатые последовательностью, и автоматически отпускает их в конце действия. Поэтому даже если action будет прерван прямо посреди выполнения, «залипших» клавиш не останется.

Macros — узлы Return / Break

Добавлены два новых узла, которые помогут делать Macros умнее и удобнее.

Return

Узел Return позволяет выйти из макроса в любой момент — даже прямо посреди какой-то последовательности операций.

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

Эквивалент операции return в C#.

Break

Break — более нишевый узел. Он позволяет выйти из текущего scope (но не из всего макроса). Например, если вы находитесь внутри цикла Repeat, при необходимости можно сразу выйти из него.

Эквивалент операции break в C#.

C# Scripting — внедрение DLL

Последние несколько месяцев я работал над внутренними улучшениями namespace EyeAuras.Memory. Цель — расширить возможности и добавить поддержку внедрения DLL и хуков во внешние процессы.

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

Это не поможет в проектах, защищённых kernel anti-cheat. Мы уже тестируем решение на базе kernel-driver, которое должно обходить это ограничение — держу в курсе.

DLL injection открывает много интересных и мощных возможностей. Тема довольно нишевая и техническая, но в ближайшие 6–12 месяцев я постараюсь сделать её доступной для всех, у кого есть базовые навыки C#, даже без глубокого понимания внутренних механизмов.

Wiki

C# Scripting — Blazor Windows

Добавлена серия статей на русском и английском по разработке с использованием EyeAuras Blazor Windows API:

Behavior Tree / Macro

Добавлено много новых статей по узлам Behavior Tree / Macro.

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

  • IsActive — проверяет, активен ли сейчас родительский Tree/Macro
  • Interrupter — (продвинутый) узел, который позволяет прервать выполнение Behavior Tree при выполнении определённого условия
  • Return — позволяет остановить макрос
  • Break — позволяет выйти из цикла или блока кода
  • MouseMove Abs — перемещает курсор в указанную точку на экране (или к чему-то)
  • MouseMove Rel — перемещает курсор относительно его текущей позиции
  • CheckKeyState — проверяет, удерживается ли сейчас указанная клавиша
  • KeyPress — симулирует нажатия клавиш
  • Send Text — вводит текст либо через вставку из буфера обмена, либо посимвольно

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

  • [Crash] Исправлен краш, связанный с шаблонами ColorSearch (disposal race) #EA-1146 by @ganya
  • [Crash] Исправлен краш BT Node Position NaN
  • [Crash] Исправлен краш, возникавший, если окно Export закрывалось слишком быстро
  • [Core] Исправлен режим активации Trigger — At least one работал некорректно
  • [Core] Исправлен баг, из-за которого Auras могли загружаться с некорректным начальным состоянием, например Triggers были Inactive, а Aura — Active. Если снова заметите такую проблему, пожалуйста, сообщите об этом
  • [UI] Улучшено отображение ошибок в C# Scripts
  • [UI] Исправлен soft-crash текстового редактора, возникавший в некоторых случаях
  • [UI] Исправлен краш jobs scheduler #EA-1121
  • [UI] Исправлена проблема, из-за которой у элементов интерфейса иногда не появлялся scroll
  • [UI] Отключена анимация Cogs
  • [UI] Исправлена проблема с color picker в ColorCheck/PixelSearch
  • [WaitFor] Теперь action WaitFor ведёт себя точно так же, как Delay, если у него нет ни одной ссылки
  • [TextSearch] Исправлена инициализация Tesseract (numbers)
  • [SendSequence] Добавлен Random Offset (как в узлах MouseMove)
  • [SendSequence] Исправлена проблема, из-за которой Restore Mouse position в некоторых случаях работал не так, как ожидалось
  • [SendSequence] В TetherScript добавлено время ожидания 1ms — это должно исправить проблему, когда драйвер TetherScript не успевал достаточно быстро читать запросы
  • [BehaviorTree] Исправлен серьёзный визуальный баг, из-за которого иногда из дерева удалялось сразу несколько узлов вместо выбранного
  • [CheckIsActive] Исправлено некорректное перерисовывание узла
  • [Scripting] Появилась возможность реализовать механизм аутентификации на базе EA прямо в своём коде — то есть теперь можно написать собственную процедуру входа, которая будет опираться на EyeAuras Sublicenses
  • [Scripting] Исправлена проблема, из-за которой memory-reader у LocalProcess ломался после нескольких последовательных reload
  • [Scripting] Улучшения в системе скриптов — добавлен AdditionalPath resolution для Managed assemblies в NuGet packages
  • [Scripting] Улучшено качество обфускации скриптов
  • [Scripting] В ColorCheckNode добавлен GetCurrentColor
  • [Scripting] В CV API для TextSearch добавлен EngineId — теперь можно указать, какой OCR engine использовать, например Tesseract (eng) или Windows (rus)
  • [Scripting] Breaking change: ISharedResourceRentController: IObservable<AnnotatedBoolean> IsRented => IObservable<AnnotatedBoolean> WhenRented + bool IsRented
  • [EyePad] Существенно улучшена скорость загрузки больших .sln файлов
  • [EyePad] Добавлены Recent files
Release

1.8.8793

Permalink one month ago

C#-скриптинг — инъекция DLL

Последние пару месяцев я работал над внутренними улучшениями пространства имён EyeAuras.Memory. Цель — расширить его возможности и добавить поддержку инъекции DLL и хукинга внешних процессов.

Пока что из всего набора изменений я выпускаю только одну часть: у LocalProcess появился метод InjectDll, который использует простую инъекцию на базе CreateRemoteThread.
Для проектов, защищённых kernel anti-cheat, это не поможет. Мы уже тестируем решение на базе kernel-драйвера, которое позволяет обойти это ограничение — буду держать вас в курсе.

Инъекция DLL открывает много интересных и мощных возможностей. Тема довольно нишевая и технически сложная, но в ближайшие 6–12 месяцев я постараюсь сделать её доступной для всех, у кого есть базовые навыки C#, даже без глубокого понимания внутренних механизмов.

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

  • [Crash] Исправлен краш, связанный с шаблонами ColorSearch (disposal race) #EA-1146 by @ganya
  • [UI] Отключена анимация шестерёнок
  • [UI] Исправлена проблема с color picker в ColorCheck/PixelSearch
  • [Scripting] В ColorCheckNode добавлен GetCurrentColor
  • [Scripting] В TextSearch в CV API добавлен EngineId — теперь можно указывать, какой OCR-движок использовать, например Tesseract (eng) или Windows (rus)
  • [Scripting] Ломающее изменение: ISharedResourceRentController: IObservable<AnnotatedBoolean> IsRented => IObservable<AnnotatedBoolean> WhenRented + bool IsRented
  • [TextSearch] Исправлена некорректная инициализация Tesseract (numbers)
  • [EyePad] Существенно улучшена скорость загрузки больших файлов .sln
Release

1.8.8736

Permalink 8 months ago

Bugfixes/Improvements

  • [Crash] Fixed BT Node Position NaN crash
  • [UI] Fixed jobs scheduler crash #EA-1121
  • [UI] Fixed a problem with UI elements sometimes not showing scroll
  • [SendSequence] Added chill time 1ms to TetherScript - this should fix a problem with TetherScript driver not being able to read requests fast enough
  • [Scripting] Improvements in scripting system - added AdditionalPath resolution for Managed assemblies in NuGet packages
  • [Scripting] Improved script obfuscation quality
  • [EyePad] Added Recent files