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

Permalink 3 months ago

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

  • [SendInput] Исправлена проблема с драйвером TetherScript: на некоторых разрешениях/DPI клики мышью также немного сдвигали курсор (примерно на +-1px). Также обратите внимание: чтобы всё работало корректно, используйте совместимую версию драйвера — HVDK 2.1. Подробнее см. на этой странице.
Release

1.8.8909

Permalink 3 months ago

Bugfixes/Improvements

  • [Scripting] Added IPerformanceMetricsProvider — you can now display real-time memory and CPU usage data
  • [Scripting] Significantly improved NuGet package performance — especially noticeable in large scripts
Release

1.8.8873

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

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

  • [Scripting] Исправлены Embedded Resources — Script FileProvider стал гибче и теперь понимает больше форматов путей
  • [Scripting] Исправлена ошибка в Live Import — теперь изменения в .csproj должны определяться корректно
  • [EyePad] Раздел Recent теперь сортируется по дате в порядке убывания
  • [BehaviorTree] Добавлен новый узел — SetVariable. Он пока находится на очень ранней стадии, но я решил выпустить его раньше, чтобы собрать первые отзывы
Release

1.8.8842

Permalink 3 months ago

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

  • [Behavior Tree] Исправлена проблема с циклическими ссылками — из-за неё в интерфейсе отображались соединения, которых на самом деле не было.
Release

1.8.8841

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

SendSequence changes

Added two new flags, which target the scenario when you want to play some long-long sequence of actions, but at the same time you want to make it possible that it could be interrupted at any given moment.

E.g. you have a sequence of skills, which are cast inside WhileActive block. Now you want to be able to interrupt it at any given moment (e.g. by toggling hotkey to "Off" state). Previously it was not possible to do so without using Behavior Trees or Macros. But now, with these two new options, it is just a couple of clicks

Can Be Interrupted

As stated in the name, it changes behavior of the action - if, for any reason, Aura gets deactivated, the action will be stopped, even if the sequence has not been completed yet.

But abruptly stopping sequences of inputs is not really a great idea most of the time - if, for example, action has pressed some button and NOT released it yet, if it will be interrupted, the button will stay pressed, probably breaking something.

That is where the second flag comes in handy:

Restore Keyboard State

This flag remembers keys, pressed by the sequence and will release them automatically at the end of the action. So even if the action was interrupted in the very middle, there will be no "stuck" keys.

Macros - Return/Break nodes

Adding two new nodes which should help to create better and smarter Macros!

Return

Return node allows you to exit the macro whenever you want to, even right in the middle of some sequence of operations. E.g. if character has died it does not make much sense to continue running the main loop. Equivalent of return operation in C#

Break

Break is more niche - it allows you to exit the current scope (not the macro!), e.g. if you're inside some Repeat loop, you can jump out of it if needed. Equivalent of break operation in C#

C# Scripting - DLL injection

For the last couple of months I've been working on internal improvements of EyeAuras.Memory namespace. The goal is to extend capabilities and to support DLL injection and hooking of external processes. For now, I am releasing only one bit of the entire set of improvements - LocalProcess now has InjectDll method which uses naive CreateRemoteThread based injection. This will not help with kernel anti-cheat protected projects. We're already testing kernel-driver based solution which allows to counteract that inconvenience - I'll keep you posted.

DLL injection brings a lot of interesting and powerful things to the table - the topic is very niche and technical, but in the next 6-12 months I'll be trying to make it accessible to anyone with some C# skills, without deep understanding of internals.

Wiki

C# Scripting - Blazor Windows

Added a series of articles in Russian/English about programming using EyeAuras Blazor Windows API

Behavior Tree / Macro

Added a whole bunch of articles about Behavior Tree / Macro nodes. Note that most of these articles are available in both Russian and English.

  • IsActive - checks whether parent Tree/Macro is currently Active
  • Interrupter - (advanced) node, that allows to break execution of Behavior Tree if some condition is met
  • Return - allows to stop the macro
  • Break - allows to Break from the loop or code block
  • MouseMove Abs - moves cursor somewhere on the screen (or to something)
  • MouseMove Rel - moves cursor relatively to its current position
  • CheckKeyState - checks whether some key is currently being held
  • KeyPress - simulate keypresses
  • Send Text - inputs text either via copy-pasting it or inputting each character individually

Bugfixes/Improvements

  • [Crash] Fixed ColorSearch template-related crash (disposal race) #EA-1146 by @ganya
  • [Crash] Fixed BT Node Position NaN crash
  • [Crash] Fixed crash which happened when Export window was closed too quickly
  • [Core] Fixed Trigger activation mode - "At least one" as not working properly
  • [Core] Fixed bug which made it so Auras were loaded with invalid initial state, e.g. Triggers are Inactive, yet Aura is Active. Please report if you'll notice that problem again.
  • [UI] Improved error display in C# Scripts
  • [UI] Fixed text editor soft-crash which happened in some cases
  • [UI] Fixed jobs scheduler crash #EA-1121
  • [UI] Fixed a problem with UI elements sometimes not showing scroll
  • [UI] Disabled Cogs animation
  • [UI] Fixed a problem with color picker in ColorCheck/PixelSearch
  • [WaitFor] WaitFor action now behaves exactly as Delay if it does not have any links in it
  • [TextSearch] Fixed Tesseract (numbers) not initializing properly
  • [SendSequence] Added Random Offset (like in MouseMove nodes)
  • [SendSequence] Fixed a problem with Restore Mouse position not working as expected in some cases
  • [SendSequence] Added chill time 1ms to TetherScript - this should fix a problem with TetherScript driver not being able to read requests fast enough
  • [BehaviorTree] Fixed a major visual bug which sometimes removed multiple nodes from the tree instead of a selected one
  • [CheckIsActive] Fixed node not being properly redrawn
  • [Scripting] Made it possible to implement EA-based authentication mechanism right in your code, meaning you can code your own login procedure which will be relying on EyeAuras Sublicenses
  • [Scripting] Fixed an issue with LocalProcess memory-reader breaking after multiple sequential reloads
  • [Scripting] Improvements in scripting system - added AdditionalPath resolution for Managed assemblies in NuGet packages
  • [Scripting] Improved script obfuscation quality
  • [Scripting] Added GetCurrentColor in ColorCheckNode
  • [Scripting] Added EngineId to TextSearch in CV API - now you can specify which OCR engine to use, e.g. Tesseract (eng) or Windows (rus)
  • [Scripting] Breaking change: ISharedResourceRentController: IObservable<AnnotatedBoolean> IsRented => IObservable<AnnotatedBoolean> WhenRented + bool IsRented
  • [EyePad] Greatly improved loading performance for larger .sln files
  • [EyePad] Added Recent files
Release

1.8.8793

Permalink 3 months 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 10 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