CLEO Redux - это экспериментальная среда выполнения JavaScript для всех 3D игр GTA. На этой странице представлена последняя версия CLEO Redux 0.9.4 для GTA San Andreas The Definitive Edition. CLEO Redux является продолжением развития всем известной библиотеки CLEO, которая позволяет улучшить игровой процесс с помощью бесчисленного количества пользовательских мини-скриптов (*.cs).
Стоит отметить, что эта версия работает во всех трех играх GTA The Trilogy, но не в классических. Разница в том, что здесь представлена 64-битная версия CLEO Redux специально для Трилогии, тогда как классические игры построены на 32-битной платформе.
CLEO Redux для GTA SA Definitive Edition представлена в виде ASI плагина cleo_redux64.asi, для работы которого потребуется ASI Loader. Для вашего удобства мы уже добавили его в архив с модом и вам не потребуется скачивать и устанавливать его отдельно. Дополнительно мы включили в архив следующие CLEO плагины: Dylib, IniFiles, TextLoader, ImGuiRedux. Также мы следим за актуальной версией CLEO Redux и обновляем файлы на этой странице по мере выхода новых версий.
Обновление CLEO Redux 0.9.4 от 12 мая 2022:
- добавлена поддержка пользовательских загрузчиков файлов, позволяющих импортировать файлы различных форматов;
- добавлены новые привязки, доступные в JS-коде: статический объект CLEO и константное __filename;
- добавлена новая опция конфигурации DisplayMenuInfo, чтобы контролировать, должен ли CLEO Redux отображать информацию о версии в главном меню (поддерживается в GTA III/VC/SA);
- исправлена ошибку преобразования в некоторых командах, когда вместо логического значения дается целое число.
SDK и плагины
- при вызове RuntimeNextTick с обнулением обоих аргументов (RuntimeNextTick(0, 0)) CLEO вычисляет правильные значения для current_time и time_step как время, прошедшее с момента последнего вызова RuntimeInit, и дельту времени между двумя тиками соответственно;
- добавлены параметры в установщик для загрузки SilentPatch в качестве зависимости от плагина ImGuiRedux;
- новые методы RegisterLoader, AllocMem, FreeMem (см. руководство);
- новые загрузчики файлов для текстовых файлов (любой хост) и файлов IDE (GTA3, VC, SA).
ОСНОВНЫЕ ИЗМЕНЕНИЯ
- параметр конфигурации LogOpcodes больше не применяется к сценариям JS. Чтобы начать отслеживать выполняемые команды в JS-скрипте, используйте CLEO.debug.trace(true). Чтобы отключить трассировку, используйте CLEO.debug.trace(false);
- __dirname теперь константа и не может быть изменена;
- статические методы были исключены из интерфейса Fluent (не могут быть связаны с другими методами).
CLEO можно встроить и запустить на неизвестных хостах в режиме самообслуживания Посмотреть демо;
новый установщик, который автоматически загружает дополнительные зависимости, такие как Ultimate ASI Loader и плагины (dylib, IniFiles или ImGuiRedux);
поддержка организации скриптов и их зависимостей в подкаталогах внутри папки CLEO;
автоматическая загрузка последних файлов enums.js из библиотеки Sanny Builder вместе с определениями команд. Вы можете импортировать перечисления в JS с помощью import * as enums из './.config/enums';
операции доступа к памяти могут выполняться на неизвестном хосте (ранее они зависели от команды op, которая сама по себе могла выполняться только в играх GTA);
Memory.CallFunctionReturnFloat и Memory.CallMethodReturnFloat теперь доступны для 32-разрядных хостов. CallFunctionReturnFloat ранее был добавлен для 64-битных хостов;
SDK и плагины
Метод SDK ResolvePath теперь разрешает пути, начинающиеся с ./ или .\ относительно каталога сценария. Вы можете использовать их в таких командах, как READ_INT_FROM_INI_FILE или LOAD_DYNAMIC_LIBRARY;
новые методы SDK GetHostName, SetHostName, RuntimeInit, RuntimeNextTick. Версия SDK теперь 2;
Плагин IniFiles обновлен до версии 1.2: увеличена максимальная длина пути к файлу INI;
Плагин Dylib обновлен до версии 1.1: увеличена максимальная длина пути к файлу DLL;
ОСНОВНЫЕ ИЗМЕНЕНИЯ
удалена ранее устаревшая команда op. Вместо этого используйте родной;
переименована переменная GAME в HOST (GAME по-прежнему доступна для использования, но рекомендуется обновить старые скрипты).
Обновление CLEO Redux 0.9.2 от 04 марта 2022:
добавлена поддержка обновления The Definitive Edition 1.04 (GTA III DE 1.0.0.15284, VC DE 1.0.0.15399, SA DE 1.0.0.15483);
исправлена проблема со строковыми аргументами в командах вызова памяти в GTA San Andreas (#36);
исправлена проблема с неработающими скриптами, если путь к папке с игрой заключен в квадратные скобки [, ].
Обновление CLEO Redux 0.9.1 от 22 февраля 2022:
добавлен SDK для разработки пользовательских команд на C++ и Rust;
добавлена поддержка ошибочных команд в JS (также известных как команды IF и SET в сценариях SCM), они возвращают неопределенное значение при сбое, например. DynamicLibrary.Load или Char.IsInAnySearchlight);
два новых плагина, добавляющих команды для работы с DLL (dylib.cleo) и INI файлами (IniFiles.cleo) во всех поддерживаемых играх;
добавлена переменная __dirname в сценарии JS, которая разрешается в каталог текущего файла;
добавлена новая встроенная функция, которая вызывает команду сценария по имени (аналогично op);
исправлена проблема с округлением чисел с плавающей запятой в GTA 3;
исправлена проблема с неработающим импортом в JS, когда папка CLEO находится в каталоге AppData;
исправлена ошибка, из-за которой команда showTextBox в San Andreas отображала мусорный текст;
исправлена ошибка преобразования, когда команде showTextBox дается целочисленный аргумент;
исправлена проблема с разрешениями сценариев, которые не проверялись для сценариев JS;
исправлена проблема, когда объект, возвращаемый в результате некоторых команд (Object.GrabEntityOnRope(), Heli.GrabEntityOnWinch() и т.п.), не имел соответствующих полей, завернутых в экземпляр класса.
Обновление CLEO Redux 0.9.0 от 23 января 2022:
добавлена поддержка JS-скриптов в GTA III: The Definitive Edition (v1.0.0.14718) и Vice City: The Definitive Edition (v1.0.0.14718) (применяются некоторые ограничения, подробности см. в разделе Поддержка функций);
добавлена поддержка современного синтаксиса ES6+ (стрелочные функции, const/let, классы, дополнительные методы в стандартной библиотеке и т. д.), см. пример скрипта Mines Drop;
добавлена поддержка импорта других скриптов и файлов JSON.
Для 64-битных игр (The Trilogy):
теперь вы можете вызывать игровые функции с аргументами с плавающей запятой - благодаря @ThirteenAG;
новая команда Memory.CallFunctionReturnFloat, похожая на Memory.CallFunctionReturn, но используемая для функций, возвращающих число с плавающей запятой;
новый удобный метод Memory.Fn.X64Float, который можно использовать для функций, возвращающих число с плавающей запятой.
Обновление CLEO Redux 0.8.6 от 12 января 2022:
добавлена поддержка статических файлов FXT в папке CLEO_TEXT (демо: https://youtu.be/ctsKy7WnY9o );
добавлена поддержка частного хранилища FXT в каждый скрипт JS (демо: https://youtu.be/FLyYyrGz1Xg );
исправлена проблема, когда права доступа не проверялись для CLEO-скриптов;
исправлена проблема, когда игра могла вылететь при перезагрузке скрипта;
исправлена проблема с неработающим отрисовкой текста в GTA San Andreas;
исправлена проблема в сборках CLEO dev, из-за которой игра вылетала при запуске при проверке обновлений;
минимальная требуемая версия sa_unreal.json — 0.209.
Обновление CLEO Redux 0.8.5 от 2 января 2022:
добавлены команды CALL_FUNCTION и CALL_FUNCTION_RETURN в San Andreas: The Definitive Edition;
добавлены удобные методы Memory.Fn.X64 для вызова функций из JavaScript на платформе x64;
showTextBox теперь работает в San Andreas: The Definitive Edition;
исправлена ошибка, из-за которой объект FxtStore не отображался в автозаполнении VS Code;
пользовательские опкоды CLEO (0C00-0C07) теперь можно использовать в main.scm в San Andreas: DE.
Обновление CLEO Redux 0.8.4 от 17 декабря 2021:
новые опкоды 0C06 WRITE_MEMORY и 0C07 READ_MEMORY, а также соответствующие команды JavaScript: Memory.Write и Memory.Read;
исправлена проблема с опкодами 0C01, 0C02, 0C03, 0C04, приводившими к сбою игры;
CLEO Redux для San Andreas: The Definitive Edition теперь использует sa_unreal.json из репозитория https://github.com/sannybuilder/library. Вы можете вручную удалить CLEO\.config\sa.json, который больше не используется.
Обновление CLEO Redux 0.8.3 от 9 декабря 2021:
исправлена критическая ошибка в планировщике сценариев CS, вызывающая ненормальное поведение (в основном приводящее к медленному выполнению);
исправлена проблема, из-за которой короны, созданные в скриптах CLEO, не отображались.
Обновление CLEO Redux 0.8.2 от 5 декабря 2021:
CLEO теперь использует каталог AppData, если в текущем каталоге игры нет прав на запись (см. Примечание о первоначальной настройке);
добавлена поддержка цепочки методов для конструируемых сущностей;
исправлена проблема, когда скрипт мог запускаться во время паузы в игре (когда игровое меню активно).
Обновление CLEO Redux 0.8.1 от 1 декабря 2021:
добавлена поддержка San Andreas: The Definitive Edition v1.0.0.14718 (Title Update 1.03).
Обновление CLEO Redux 0.8.0 от 26 ноября 2021:
новая 64-битная версия CLEO Redux (cleo_redux64.asi), которая предназначена для работы только с GTA The Definitive Edition;
реализована поддержка San Andreas: The Definitive Edition v1.0.0.14296 and v1.0.0.14388;
исправлена проблема, когда скрипты могли не перезагружаться после загрузки игры из файла сохранения.
Во время первого запуска игры может наблюдаться заметная задержка, поскольку CLEO Redux загружает файлы, необходимые для поддержки Javascript. При последующих запусках этого не произойдет. При первом запуске игры, в директории с игрой GTA San Andreas — Definitive Edition по пути: \Gameface\Binaries\Win64\ появится папка CLEO.
После установки CLEO Redux все скриптовые модификации (скрипты) следует устанавливать по следующему пути: [папка с игрой]\Gameface\Binaries\Win64\CLEO\
Вы можете скачать CLEO Redux v0.9.4 для GTA San Andreas Definitive Edition по ссылкам ниже на этой странице. Установка автоматическая или вручную.
Путь установки: [папка с игрой]\Gameface\Binaries\Win64\.
Помощь по установке.
Если вы скачали CLEO Redux не с этой страницы, видите в архиве два файла cleo_redux.asi и cleo_redux64.asi, то не копируйте в папку с вашей игрой оба файла вместе - работать не будет!
Для классических версий GTA следует выбрать файл cleo_redux.asi (32-битная платформа).
Для GTA The Trilogy Definitive Edition вам подойдет файл cleo_redux64.asi (64-битная платформа).