Download

Stable Alpha
Version 1.8.8808 1.8.8920
Requirements Windows 10/11 x64, Administrative privileges
Updated 4 weeks ago 4 days ago
Release Notes notes notes
File Size 588.731904 MB 589.4016 MB

1.8.8808

29 days 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