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.
В этой версии — больше десятка различных улучшений и оптимизаций производительности, которые я готовил уже довольно давно.
В ближайшие пару недель возможны нестабильности, но для большинства сценариев, особенно для скриптинга в EyePad, разница должна быть просто колоссальной.
Проверил улучшения на боте на базе ImGui — теперь можно выходить на диапазон в 2k fps. И это С УЧЁТОМ чтения памяти и разбора всех необходимых игровых структур! По сути, bot-loop теперь работает примерно на ~2k тиков в секунду — до этих исправлений FPS был в районе 400–500.

Следующая цель — стабилизировать FPS и сделать его более плавным, потому что сейчас он довольно «скачущий». Пару месяцев назад я уже писал про адаптацию new prototype-GC в changelog для 1.7.8559 — это как раз должно помочь с этой задачей.
Пожалуйста, сообщайте обо всём, что заметите!
.csprojAdded 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.
Добавлены два новых флага для сценария, когда вам нужно проигрывать длинную последовательность действий, но при этом иметь возможность прервать её в любой момент.
Например, у вас есть последовательность скиллов, которая кастуется внутри блока WhileActive. Теперь вы хотите уметь остановить её в любой момент — например, переключив hotkey в состояние Off. Раньше без Behavior Trees или Macros сделать это было нельзя. Теперь же для этого достаточно буквально пары кликов.
Can Be InterruptedКак и следует из названия, этот флаг меняет поведение action: если по любой причине Aura деактивируется, действие будет остановлено, даже если последовательность ещё не дошла до конца.
Но резко обрывать последовательность ввода чаще всего не лучшая идея. Например, если action уже нажал какую-то кнопку, но ещё не успел её отпустить, то после прерывания эта кнопка так и останется зажатой, что почти наверняка что-нибудь сломает.
Именно для этого нужен второй флаг:
Restore Keyboard StateЭтот флаг запоминает клавиши, нажатые последовательностью, и автоматически отпускает их в конце действия. Поэтому даже если action будет прерван прямо посреди выполнения, «залипших» клавиш не останется.
Return / BreakДобавлены два новых узла, которые помогут делать Macros умнее и удобнее.
ReturnУзел Return позволяет выйти из макроса в любой момент — даже прямо посреди какой-то последовательности операций.
Например, если персонаж умер, продолжать выполнять основной цикл уже не имеет особого смысла.
Эквивалент операции return в C#.
BreakBreak — более нишевый узел. Он позволяет выйти из текущего scope (но не из всего макроса). Например, если вы находитесь внутри цикла Repeat, при необходимости можно сразу выйти из него.
Эквивалент операции break в C#.
Последние несколько месяцев я работал над внутренними улучшениями namespace EyeAuras.Memory. Цель — расширить возможности и добавить поддержку внедрения DLL и хуков во внешние процессы.
Пока публикуется только небольшая часть всех этих улучшений: у LocalProcess появился метод InjectDll, который использует простое внедрение на базе CreateRemoteThread.
Это не поможет в проектах, защищённых kernel anti-cheat. Мы уже тестируем решение на базе kernel-driver, которое должно обходить это ограничение — держу в курсе.
DLL injection открывает много интересных и мощных возможностей. Тема довольно нишевая и техническая, но в ближайшие 6–12 месяцев я постараюсь сделать её доступной для всех, у кого есть базовые навыки C#, даже без глубокого понимания внутренних механизмов.
Добавлена серия статей на русском и английском по разработке с использованием EyeAuras Blazor Windows API:
Добавлено много новых статей по узлам Behavior Tree / Macro.
Обратите внимание: большинство из них доступны и на русском, и на английском.
At least one работал некорректноC# ScriptsWaitFor ведёт себя точно так же, как Delay, если у него нет ни одной ссылкиTesseract (numbers)LocalProcess ломался после нескольких последовательных reloadColorCheckNode добавлен GetCurrentColorTesseract (eng) или Windows (rus)ISharedResourceRentController: IObservable<AnnotatedBoolean> IsRented => IObservable<AnnotatedBoolean> WhenRented + bool IsRented.sln файловПоследние пару месяцев я работал над внутренними улучшениями пространства имён EyeAuras.Memory. Цель — расширить его возможности и добавить поддержку инъекции DLL и хукинга внешних процессов.
Пока что из всего набора изменений я выпускаю только одну часть: у LocalProcess появился метод InjectDll, который использует простую инъекцию на базе CreateRemoteThread.
Для проектов, защищённых kernel anti-cheat, это не поможет. Мы уже тестируем решение на базе kernel-драйвера, которое позволяет обойти это ограничение — буду держать вас в курсе.
Инъекция DLL открывает много интересных и мощных возможностей. Тема довольно нишевая и технически сложная, но в ближайшие 6–12 месяцев я постараюсь сделать её доступной для всех, у кого есть базовые навыки C#, даже без глубокого понимания внутренних механизмов.
ColorCheckNode добавлен GetCurrentColorTextSearch в CV API добавлен EngineId — теперь можно указывать, какой OCR-движок использовать, например Tesseract (eng) или Windows (rus)ISharedResourceRentController: IObservable<AnnotatedBoolean> IsRented => IObservable<AnnotatedBoolean> WhenRented + bool IsRentedTesseract (numbers).sln