1.9.9740
Daily-driver build with the safest release cadence.
- Updated
- 4 days ago
- File Size
- 517.97 MB
- Release Notes
- Open notes
Stable is the recommended track for most users. Alpha gets you the newest capabilities first.
Daily-driver build with the safest release cadence.
Fastest release track with the newest features and experiments.
Every release stays linked here so you can inspect what changed before you switch versions.
В одном из последних изменений в версии 1.6 я внес баг, из-за которого переключение между BTs/макросами в некоторых случаях становилось мучительно медленным. Особенно это было заметно, если у вас было несколько макросов с большим количеством нод.
Этот патч исправляет проблему. Я буду внимательно следить за ситуацией.
Пожалуйста, сообщайте о любых случаях замедления UI, которые заметите.
Крупное пополнение нашей библиотеки инструментов. Подробнее здесь.
CheckForUpdates в Packs теперь по умолчанию отключен. При необходимости вы (автор) по-прежнему можете включить его.IEnumerator<NodeStatus> в BTsПо вашим отзывам в этом патче исправлена проблема, обнаруженная в системе автообновления: если была включена опция Security Measures, приложение обновлялось некорректно и после перезапуска откатывалось на предыдущую версию.
К сожалению, по очевидным причинам я не могу просто выпустить обновление, которое само это исправит. Есть два варианта решения:
Security Measures в Settings, обновить приложение, а затем включить опцию снова.Пожалуйста, продолжайте сообщать о найденных проблемах!
A lot of work went into making Behavior Trees and the entire scripting system more flexible. We can now finally build bots using only Macros and Behavior Trees, without needing to rely on Auras.
Combining two complex systems (Auras and BT) made the logic harder to follow, so the new nodes should make things much clearer. And this is not the end of it — more changes are coming soon, especially around preview-related functionality.
For many years, all Capture triggers (Image/Color/Text/ML) required the Target Window parameter — EyeAuras worked only with windows.
Starting with this version, we are trying a different approach:
Target Window is not specified, EA will capture the primary screen.Target Window field would effectively stop those triggers from working. Now it simply switches them to primary screen capture mode. I strongly recommend using Enabling Conditions to control capture. This is important! Check your old triggers to make sure there are no "test" or "forgotten" ones — they will start consuming CPU.Target Window is no longer required.IMPORTANT! Multi-monitor setups are not supported yet. Only the primary screen is captured. Support will be expanded in the future.

Running state.if..then..else as a BT node, useful for users who are just getting familiar with BTs.Ctrl+Z / Ctrl+Y.MouseMove can now use CvLastFoundRegion from CV searches..css, .js, .md, .dll) via IScriptFileProvider.[Keybind].[Dependency] or init properties for services such as SendInput.AppStarted, making it possible to automate processes without showing the EA UI.A programmable interface for Image Search, Pixel Search, ML Detection, and Text OCR with OSD overlay support. More details here.
Already cancelled).Min value.IBlazorWindow now has a new TitleBarViewType property, allowing complete replacement of the window title bar.Clear() method to MiniProfiler.WorldToWindow matrix to WindowImageProcessedEventArgs, making window coordinate calculations after Refresh() easier.string to WindowMatchExpression.Percentage struct for percentage values (for example, 0.1 = 10 %).Opacity.LoginWidget could behave incorrectly.AuraScript utilization).SendInput API has been moved from SendInputUnstableScriptingApi to SendInputScriptingApi — it has not changed in a year and is stable enough now.@Rowenor for catching it!IncludeTextSegments parameter was not saved in config.Move To Parent option in the aura tree.Non-authorized users are not allowed to update shares).Event Log.CodeEditor alignment in the maximized window..) in aura names has historically caused many problems, because EA saves auras to disk using those names, and a dot usually separates a file name from its extension. EA will now show an error if you try to set a name containing a dot, just like it does for other invalid characters.Новая опция пока доступна только в тех узлах, которые работают с захватом изображения: проверка цвета пикселя, ML, поиск изображения и т. д.
По смыслу она очень простая и полностью эквивалентна узлу Inverter, но встроена прямо в сам узел.
Причина в том, что BT обычно разрастаются очень-очень быстро, и уменьшение общего количества узлов помогает сохранять структуру дерева более понятной и аккуратной.

P.S. Да, последние несколько недель были довольно тихими. Внутри я работаю над новой крупной функцией, которая станет доступна публично позже в этом году. Буду держать вас в курсе.
Проделан огромный объём работы над внутренними механизмами программы — слишком большой, чтобы перечислять всё по пунктам. Такие изменения нередко приводят к цепочке мелких багов, поэтому, пожалуйста, обращайте внимание на любые странности в работе и сообщайте о них. Я буду внимательно следить за входящими сообщениями.
Писать скрипт в узле ExecuteScript, а потом случайно удалить его — то ещё удовольствие. Знакомая ситуация.
Теперь такие изменения можно быстро откатить прямо на месте. На данный момент Undo/Redo поддерживает только добавление и удаление узлов. Поддержка изменений других типов появится, как только механизм станет достаточно стабильным.

IBlazorWindow появилось новое свойство TitleBarViewType, которое позволяет полностью заменить заголовок окна на любой вариант по вашему выборуPreviously, there was a single way to make Trees and Macros "tick" and "run" (correspondigly).
If you wanted to make the tree run when/while some hotkey was pressed, you had to use a separate Aura with HotkeyIsActive trigger in it.
In the new version you can just add that same hotkey in the Tree/Macro straight away, reducing number of operations and complexity of configuration drastically.

In original HotkeyIsActive triggers, there is a functionality, which allows to restrict hotkeys to a specific window/application/etc.
This mechanism is directly responsible for enabling/disabling hotkeys handling at any given moment. By adding one or multiple auras you can specify exact set of conditions, which must be met before Trigger will start doing anything.
For example, by linking Aura which has WindowIsActive in it, you will make Trigger react only to keys which were pressed while game window is active.
In more complex cases, you can link the trigger to some in-game condition, for example, you when you click RMB(part of HotkeyIsActive configuration) AND some powerful skill is off-cooldown(linked condition), instead of casting whatever is usually on RMB, you'll simulate key press of a button which casts that skill. A good example would be automating cast of Vaal Skills on Path of Exile - you have the usual version of a skill bound to some button which you spam and whenever Vaal version got enough souls, it will be automatically release without you having to remember about it.
In BTs, the equivalent will be adding Enabling Condition on the tree itself - just like you did it before. The hotkey will be intercepted only if Enabling Condition is met. We'll see how that approach goes - please send your feedback.
Very important new node in BTs ecosystem - it allows to conditionally interrupt already running nodes.
Usually, when some node is Running (like Wait or Until Success), there is no chance to other nodes in the tree to do anything - EyeAuras just waits for the node to complete its work.
In contrast, Interrupter node, when executed, ALWAYS runs Condition(left) node, even if the Action(right) node is Running. Moreover, if Condition succeeds, instead of giving control to already Running Action, it will interrupt it from further activity.
This could be used to break long-running actions (e.g. Wait) or make some loop(like Until Success) stop on demand - the node is emmensely powerful given right conditions.
Very simple node, which checks the current state of the specific key. If it is pressed, the node returns Success.
Another node which is expected to be paired with long-running nodes such as Until Success - it allows you to put a maximum time which you "allow" the child node to Run. The first combination of nodes which comes to mind is something like this:
By combining Timeout -> Until Success -> Image Search you basically tell the tree Keep trying to find the image until you Succeed, but no longer than for 2 seconds.
Started to work on startup time improvements and, more specifically, "cold" (first) start.
Here are startup times for the latest pack for GTA5 by @linx - https://eyeauras.net/share/S202503032233289fPxqP4AA0N0
v8215 - 33.41s
v8224 - 28.89s
So the new version is approximately 15% faster on the first launch.
Subsequent launches:
v8215 - 29.38s
v8224 - 27.10s
~8% faster.
I will keep working on improving those stats.
Sometimes, you do not need ALL the functionality which is built into EyeAuras in your Packs. For example, if your pack does not use computer vision at all, it does not make much sense to load CV-related modules into the memory - this is waste of both CPU and RAM. With the new functionality around working with applications directly - such as reading memory - it is expected that there will be more and more cases where you just want to use EyeAuras as a platform for development and distribution own of your app.
This feature is intended to be used exactly for that purposes - you now can disable some parts of the application from loading. Those modules, which are blacklisted:
For now, we have two types of modules which could be excluded:
Blacklist is a part of Pack configuration. By default, everything is shipped, but you can disable two types of modules/

KeyLogin is a way to sign in using a one-time license key — no account creation required. This system is intended to be used along with Sublicenses to allow your users to access your cool Packs as quickly as humanly possible.
That is how the process looks right now
For end-user(the person who will be using the pack):
Download packThat is it. I think this is as simple as it could get and we'll stay in that state for some time and see how it goes.
For you(author, who is creating the pack):
Yeah... for authors the process is not as straightforward. I will streamline it this year.