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.10036
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.6.8304

Permalink 6 months ago

Деревья поведения — в некоторые узлы добавлена опция Invert

Новая опция пока доступна только в тех узлах, которые работают с захватом изображения: проверка цвета пикселя, ML, поиск изображения и т. д.

По смыслу она очень простая и полностью эквивалентна узлу Inverter, но встроена прямо в сам узел.

Причина в том, что BT обычно разрастаются очень-очень быстро, и уменьшение общего количества узлов помогает сохранять структуру дерева более понятной и аккуратной.

Invert

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

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

  • [BT] Исправлена ошибка, из-за которой при массовом удалении нескольких узлов отображалось множество ошибок
Release

1.6.8297

Permalink 6 months ago

Улучшения производительности — пожалуйста, сообщайте о любых замеченных проблемах

Проделан огромный объём работы над внутренними механизмами программы — слишком большой, чтобы перечислять всё по пунктам. Такие изменения нередко приводят к цепочке мелких багов, поэтому, пожалуйста, обращайте внимание на любые странности в работе и сообщайте о них. Я буду внимательно следить за входящими сообщениями.

Поведенческие деревья — добавлена поддержка Undo (CTRL+Z) / Redo (CTRL+Y)

Писать скрипт в узле ExecuteScript, а потом случайно удалить его — то ещё удовольствие. Знакомая ситуация.

Теперь такие изменения можно быстро откатить прямо на месте. На данный момент Undo/Redo поддерживает только добавление и удаление узлов. Поддержка изменений других типов появится, как только механизм станет достаточно стабильным.

BT

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

  • [BT] Исправлена ошибка в BT, из-за которой можно было удалить узел, соединив его выход с его же входом...
  • [UI] Улучшена поддержка Semi-Offline mode — доработан алгоритм обновления токена, теперь всё должно работать плавнее
  • [Scripting] У IBlazorWindow появилось новое свойство TitleBarViewType, которое позволяет полностью заменить заголовок окна на любой вариант по вашему выбору
Release

1.6.8294

Permalink one year ago

Bugfixes/Improvements

  • [BT] Fixed a problem with Debounce node not saving properties
  • [Crash] Fixed Import-related crash which happenede when clipboard containted link to unsupported file
  • [UI] Fixed a problem with full-screen region selector - selection was off a bit
Release

1.6.8227

Permalink 6 months ago

Behavior Trees / Macros — условия активации — горячие клавиши

Раньше для Trees и Macros был только один способ управлять тем, когда они начинают «тикать» и выполняться соответственно.
Если нужно было запускать дерево по нажатию горячей клавиши или пока клавиша удерживается, приходилось создавать отдельную Aura с триггером HotkeyIsActive.

В новой версии ту же горячую клавишу можно назначить прямо в Tree/Macro. Это заметно уменьшает количество действий и сильно упрощает настройку.

Hotkey activation

Условия перехвата

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

Этот механизм напрямую отвечает за включение и отключение обработки горячих клавиш в каждый конкретный момент. Добавив одну или несколько аур, вы можете задать точный набор условий, которые должны выполняться до того, как Trigger вообще начнет что-либо делать.

Например, если привязать Aura с условием WindowIsActive, Trigger будет реагировать на нажатия только тогда, когда активно окно игры.
В более сложных сценариях Trigger можно связать с внутриигровым состоянием. Например: вы нажимаете RMB (это часть настройки HotkeyIsActive), И при этом мощный скилл уже вышел из кулдауна (linked condition). Вместо обычного действия на RMB будет сымитировано нажатие другой кнопки, которая кастует этот скилл. Хороший пример — автоматизация Vaal Skills в Path of Exile: у вас есть обычная версия умения на кнопке, которую вы постоянно жмете, и как только Vaal-версия накопит достаточно souls, она автоматически сработает без необходимости отслеживать это вручную.

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

Посмотрим, насколько удачным окажется такой подход — обязательно делитесь обратной связью.

Новый узел — Interrupter

Interrupter

Очень важный новый узел в экосистеме BT: он позволяет по условию прерывать узлы, которые уже находятся в состоянии выполнения.

Обычно, если какой-то узел находится в состоянии Running (например, Wait или Until Success), остальные узлы дерева ничего сделать не могут — EyeAuras просто ждет, пока этот узел завершит свою работу.

Interrupter работает иначе: при выполнении он всегда запускает узел Condition (слева), даже если узел Action (справа) уже находится в состоянии Running. Более того, если Condition завершается с Success, управление не возвращается к уже выполняющемуся Action — он будет прерван и больше не продолжит работу.

Это можно использовать, чтобы останавливать длительные действия (например, Wait) или по требованию завершать циклы вроде Until Success. При правильных условиях этот узел дает очень мощные возможности.

Новый узел — Check Key State

CheckKeyState

Очень простой узел: он проверяет текущее состояние выбранной клавиши. Если клавиша нажата, узел возвращает Success.

Новый узел — Timeout

Timeout

Еще один узел, который хорошо сочетается с длительно работающими узлами, такими как Until Success. Он позволяет задать максимальное время, в течение которого дочерний узел может оставаться в состоянии Running.

Первый пример комбинации, который приходит в голову, выглядит так:

Timeout example

Комбинация Timeout -> Until Success -> Image Search фактически говорит дереву: Продолжай искать изображение, пока не получишь Success, но не дольше 2 секунд.


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

  • в этот раз без изменений
Release

1.6.8224

Permalink one year ago

Performance - startup time improvements

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.


Bugfixes/Improvements

  • none this time
Release

1.6.8211

Permalink 6 months ago

Packs — возможность отключать загрузку модулей

Иногда в ваших Packs не нужна вся функциональность, встроенная в EyeAuras.

Например, если ваш пак вообще не использует компьютерное зрение, нет большого смысла загружать в память модули, связанные с CV — это лишний расход CPU и RAM.
С появлением новых возможностей для прямой работы с приложениями, таких как чтение памяти, ожидается всё больше сценариев, где EyeAuras используется просто как платформа для разработки и распространения собственного приложения.

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

Модули, которые добавлены в blacklist:

  • никогда не будут загружены в память
  • не будут загружать свои зависимости
  • даже не будут расшифрованы, а значит, их нельзя будет просканировать или пометить, так как они не покидают зашифрованный blob данных, в котором поставляются по умолчанию

Сейчас можно исключать два типа модулей:

  • Computer Vision — вся функциональность, связанная с захватом и распознаванием (Image/Color/ML Searchers и т. д.)
  • Input Simulation — Send Sequence/KeyPress/MouseMove и все остальные действия, связанные с эмуляцией ввода

Примечание: HotkeyIsActive по-прежнему доступен.

Сколько это экономит?

  • Computer Vision — самый тяжёлый модуль; может сэкономить около 300MB RAM и 3–5 секунд времени запуска
  • Input Simulation — сам по себе заметно легче, но важнее другое: если не загружать библиотеки, связанные с вводом, приложение будет выглядеть более легитимно для внешних наблюдателей. Это может быть особенно важно, если вы распространяете свой пак не как инструмент автоматизации, а как помощник на базе computer vision

Как это настроить?

Blacklist находится в конфигурации Pack. По умолчанию поставляется всё, но вы можете отключить два типа модулей.

Pack config


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

  • в этот раз нет
Release

1.6.8207

Permalink 6 months ago

KeyLogin

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

Сейчас процесс выглядит так.

Для конечного пользователя (того, кто будет использовать пак):

  • купить ключ для вашего пака на стороннем сайте
  • перейти на страницу пака и нажать Download pack
  • войти с помощью ключа и начать пользоваться паком

Вот и всё. По-моему, проще уже некуда, и какое-то время всё останется именно в таком виде — посмотрим, как это покажет себя на практике.


Для вас (автора, который создаёт пак):

  • создать что-то крутое
  • экспортировать это и получить URL (например, такой или такой, либо любой другой пак из Aura Library)
  • добавить на страницу описание, изображения и всё остальное
  • добавить ауру, которая проверяет лицензию — код уже готов для copy-paste
  • включить защиту скриптов — это сильно усложняет обход механизма лицензирования
  • связаться со мной (Xab3r) в Discord, и я сгенерирую для вас ключи
  • вы (автор) распространяете эти ключи через FunPay или любые другие сайты, где можно продавать ключи

Да... для авторов процесс пока не такой прямолинейный. В этом году я его упростлю.

EN-версия статьи здесь


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

  • [UI] Исправлена проблема, из-за которой вход был слишком чувствителен к точности часов на устройстве пользователя
Release

1.6.8202

Permalink 6 months ago

Новый узел — Color Check — ранний прототип

Позволяет проверять, совпадает ли цвет выбранного пикселя (или области) с заданным.

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

ColorCheck

Позволяет искать изображение на экране или в выбранной области.

ImageSearch

Новый узел — IfThenElse

Добавлен новый узел для тех, кому удобнее строить логику в более «классическом» стиле.

IfThenElse

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

  • [BT] Улучшен UX удаления узлов
Release

1.6.8193

Permalink one year ago

New Node - MLSearch - prototype

MLSearchNode New node in BTs and Macros, which allows you to run ML search over a region of a screen/window. It is still missing a lot of options currently present in MLSearchTrigger such as Configende/IoU thresholds, inference method, number of threads etc - those will be added in the nearest future.

Note, that by itself this node does not do anything - you have to pair it with other nodes such as MLFindClass or MouseMove to get anything from it. By default, it will pick the very first object and make it available for click via MouseMove - for some very simple scenarios that will be enough, for more complex one - use MLFindClass

The node will return Success only if there is at least one found prediction.

New Node - MLFindClass - prototype

MLFindClass

This node must be used in pair with MLSearch and allows to pick some class(~object) from the output generated by MLSearch - you can set some filtering parameters such as class name(s), minimum confidence threshold, size restrictions, etc. Those predictions which do not match any of those, will be filtered out.

Out of those predictions which will be left after filtering, you can make the node pick exactly one of them - it could be the very first in the list or the one with the highest confidence or even the one that is currently closest to the cursor.

The node will return Success only if there is at least one found prediction that matches all the criteria.

Of course, both MLSearch and MLFindClass could be used in combination with all other nodes. Here is, for example, priority-based target selection PriorityTargetSelectionUsing

Bugfixes/Improvements

  • [BT] Fixed a problem with zero-timeout BTs - they ticked only once
Release

1.6.8185

Permalink one year ago

New Node - Pixel Search - Early prototype

Let's welcome a new node which is accessible in Macros and BTs. It is the first one in the batch of nodes coming soon, nodes, focusing on computer-vision. Those nodes will be a direct replacement of triggers, which you're currently using in Auras. Migration process will take a lot of time and probably new Nodes will reach feature parity with corresponding Triggers only months from now, but eventually we'll get there.

Note, that Nodes DO NOT tick on their own. Image capture and analysis happens exactly at the same moment when the node gets executed. PixelSearch

Performance

Initially, performance of nodes could be worse than those that we had in Triggers - this is due to new mechanisms which were implemented for Computer Vision API which powers those new nodes.

Clicking on found Images/Pixels in Macros and Behavior Trees

New Nodes will be writing their results to Variables which are available via Bindings. For now, there is a single variable CvLastFoundRegion which will contain the last found region. This could be coordinates of a found pixel. Or coordinates of found image. Or ML class. Variables

MouseMove Node

In MouseMove, there is now a new button, which allows to very quickly and easily use that variable as a source of coordinates. MouseMove

Just click on the button, and, when executed, MouseMove will try to read coordinates from that variable. Binding

Bugfixes/Improvements

  • [BT] Added new button which allows to run BT/node until stopped
  • [TextSearch] Fixed a problem in TextSearch - IncludeTextSegments was not saved into config