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.
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.
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
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:
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.
Adding two new nodes which should help to create better and smarter Macros!
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 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#
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.
Added a series of articles in Russian/English about programming using EyeAuras Blazor Windows API
Added a whole bunch of articles about Behavior Tree / Macro nodes. Note that most of these articles are available in both Russian and English.
C# Scripts
WaitFor
action now behaves exactly as Delay
if it does not have any links in itTesseract (numbers)
not initializing properlyLocalProcess
memory-reader breaking after multiple sequential reloadsTesseract (eng)
or Windows (rus)
ISharedResourceRentController
: IObservable<AnnotatedBoolean> IsRented
=> IObservable<AnnotatedBoolean> WhenRented
+ bool IsRented
.sln
filesFor 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.
Tesseract (eng)
or Windows (rus)
ISharedResourceRentController
: IObservable<AnnotatedBoolean> IsRented
=> IObservable<AnnotatedBoolean> WhenRented
+ bool IsRented
Tesseract (numbers)
not initializing properly.sln
filesAdded 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
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:
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.
Adding two new nodes which should help to create better and smarter Macros!
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 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#
Added a series of articles in Russian/English about programming using EyeAuras Blazor Windows API
Added a whole bunch of articles about Behavior Tree / Macro nodes. Note that most of these articles are available in both Russian and English.