CLEO Redux v1.2.2









































-
31 August 2023cleo-redux-v1-2-2_1693510956_683963.zipPassword for the archive: libertycity
CLEO Redux — is a scripting environment for games of the GTA 3D era. It is a proud representative of the CLEO family and provides familiar features to everyone who has used the library for the classic GTA San Andreas or its re-implementations for other games. The main goal of CLEO is to provide an easy way to customize the game with countless custom scripts.
Update from 08/28/2023:
- Fixed an issue where commands that return multiple values (Char#storeClosestEntities, Game.GetCurrentResolution(), etc.) returned only one correct value.
Update from 08/13/2023:
- Andfixing an issue where importing the same file from different folders led to code duplication;
- Fixed an error in Memory.Fn methods that return 8-bit or 16-bit results;
- Fixed a bug with the rendering of the crown, when only one crown was visible.
SDK AND PLUGINS
- Dylib 2.0: the plugin has been rewritten to provide behavior identical to LOAD_DYNAMIC_LIBRARY from CLEO4. Now the return value is the address of the loaded module in memory.
- Increased the minimum required versions of command definitions.
Update from 06/19/2023: - Added support for GTA The Trilogy — The Definitive Edition v1.0.17.39540 (Epic Games Store);
- Fixed an error where commands for derived classes returned incorrect values (Heli.Create, Boat.Create, etc.);
- Fixed an error where the library could not read the host version if the path to the executable file contained non-ASCII characters;
- Improved the log: now it is serialized with all properties, and not just [object Object].
Update from 02/21/2023:
- Added support for GTA The Trilogy — The Definitive Edition v1.0.17.39540 (Rockstar Games Launcher).
Update from 02/18/2023:
- Added support for GTA Trilogy — (Steam) — v1.0.17.39540;
- Updated the default tsconfig.json to solve problems with importing JSON files. Delete your tsconfig.json if you want to recreate it with new parameters.
Update from 02/14/2023:
- Added support for GTA 4 (version 1.2.0.59).
Update from 01/27/2023:
- Added a new CLEO.hostVersion property that returns the version of the current host. Currently available only if the current exe file has version information (e.g. GTA IV or GTA Trilogy);
- Fixed a crash in GTA IV when loading a script with a syntax error;
- Fixed an issue in GTA IV where some commands always returned the same value (e.g. GET_CURRENT_CHAR_WEAPON).
Critical changes:
- Increased the minimum required versions of command definitions;
- CLEO.version and CLEO.apiVersion incorrectly returned empty strings for missing parts of the version string. Now undefined is returned instead.
- Log(CLEO.apiVersion.patch); // was "", now undefined
- Log(CLEO.apiVersion.pre); // was "", now undefined
- Log(CLEO.apiVersion.build); // was "", now undefined
Update from 01/11/2023:
- New built-in functions for addEventListener and dispatchEvent;
- Added setTimeout, setInterval, clearTimeout, clearInterval;
- Added .cs, .js, .ts to the list of allowed file extensions for CLEO.runScript;
- Fixed a bug that caused scripts to stop by timeout;
- Fixed a bug that caused scripts to crash after a reboot;
- Fixed an error where Bully commands returned incorrect values.
SDK AND PLUGINS:
- Added a new SDK TriggerEvent method to trigger custom events with some payload. The SDK version is now 7;
- Added a new Events plugin that adds several events to react to in JS\/TS code: OnVehicleCreate, OnPedCreate, OnObjectCreate, OnVehicleDelete, OnPedDelete, OnObjectDelete;
- IdeLoader 1.3: generates ide_loader.d.ts for better intellisense in TS scripts;
- xtLoader 1.1: generates txt_loader.d.ts for a better understanding of the meaning in TS scripts.
Also increased the minimum required versions of command definitions.
Update from 12/15/2022:
- Added TypeScript support;
- Added support for commands using SCM global variables (e.g. counters or timers);
- Removed the previously deprecated GAME variable. Use HOST instead;
- Updated the script monitoring tool: changing .mjs files in the scripts directory or any subdirectories causes the script to reload;
- With FxtStore you can make global FXT keys work by setting the last argument in FxtStore.insert and FxtStore.delete to true.
SDK AND PLUGINS:
- IdeLoader 1.2: fixed a parser error that prevented .ide files with the 2dfx section from loading;
- Frontend 1.1: reduced the timeout when checking for updates to 10 seconds;
- ImGuiRedux (by Grinch_): more commands.
CRITICAL CHANGES:
- Increased the minimum required versions of command definitions.
Update from 11/22/2022:
- Added experimental support for asynchronous functions;
- Added a new CLEO.runScript method for scripts;
- Added FXT support for GTA 4;
- Fixed a crash with GTA 3 and GTA 4;
- Changed the minimum required command definition versions for GTA 4.
Update from 11/03/2022:
- Added support for the latest GTA Trilogy 1.04.5 patch;
- Added methods: Memory.ReadUtf8, Memory.WriteUtf8, Memory.ReadUtf16, Memory.WriteUtf16;
- ONMISSION settings allow you to use 00D9 STORE_CAR_CHAR_IS_IN or 00D8 MISSION_HAS_FINISHED;
- New SDK methods;
- Now the code displaying the CLEO version in the main menu is moved to a separate plugin — frontend.cleo.
Update from 09/09/2022:
- Added javascript support in 64-bit versions of re3 and reVC;
- The "Check for updates" option is disabled by default;
- 64-bit version (SDK AND PLUGINS);
- Fixed an error when installing ASI Loader in GTA 4;
- Added an additional option when installing cleo for re3 and reVC (selection of 32-bit or 64-bit).
Update from 08/19/2022:
- Added support for Bully: Scholarship Edition (v1.2 PC);
- Fixed Gxt Hook error;
- Fixed an error with non-working scripts after reboot.
Update from 07/01/2022
- Added initial support for GTA 4 (The Complete Edition);
All parts of GTA now use composite definitions (a combination of the main JSON file and the JSON file for an unknown host from the Sanny Builder library);- Fixed an issue where CLEO stopped loading FXT files after detecting non-UTF8 characters;
- Added the CLEO.apiVersion property;
- SDK and plugins.
Update from 03/04/2022:
- Added support for The Definitive Edition Title Update 1.04 (GTA III DE 1.0.0.15284, VC DE 1.0.0.15399, SA DE 1.0.0.15483);
- Fixed errors in commands (San Andreas);
- Fixed an error with non-working scripts.
Update from 02/22/2022:
- Added an SDK for developing custom commands in C++ and Rust.
- Added support for erroneous commands in JS (also known as IF and SET commands in SCM scripts), they return an undefined value on failure, e.g. DynamicLibrary.Load or Char.IsInAnySearchlight);
- Two new plugins that add commands for working with DLL (dylib.cleo) and INI files (IniFiles.cleo) in all supported games;
- Added the __dirname variable in JS scripts, which is added to the directory of the current file;
- Added a new built-in function that calls a script command by name;
- Fixed an issue with rounding floating point numbers in GTA 3;
- Fixed an issue with non-working imports in JS when the CLEO folder is in the AppData directory;
- Fixed an error that caused the showTextBox command in San Andreas to display junk text;
- Fixed a conversion error when the showTextBox command gives an integer argument;
- Fixed an issue with script permissions that were not checked for JS scripts;
- Fixed an issue where the object returned as a result of some commands (Object.GrabEntityOnRope(), Heli.GrabEntityOnWinch(), etc.) did not have the corresponding fields wrapped in a class instance.
Update:
- Added support for JS scripts in GTA III: The Definitive Edition (v1.0.0.14718) and Vice City: The Definitive Edition (v1.0.0.14718);
- Added support for modern ES6+ syntax;
- Added support for importing other scripts and JSON files;
- Now you can call game functions with floating point arguments;
- New command \"Memory.CallFunctionReturnFloat\", similar to the previous one, Memory.CallFunctionReturn, but used for functions that return a floating point number;
- New convenient method \"Memory.Fn.X64Float\", which can be used for functions that return a floating point number.
Update from 12/17/2021:
For San Andreas: The Definitive Edition:
- Added new operation codes: 0C06 WRITE_MEMORY and 0C07 READ_MEMORY, as well as the corresponding javascript commands: Memory.Write and Memory.Read;
- Fixed an issue with opcodes 0C01, 0C02, 0C03, 0C04.
- CLEO Redux for San Andreas: The Definitive Edition now uses sa_unreal.json (https:\/\/github.com\/sannybuilder\/library).
For other games:
- Improved the stability of JS scripts;
- Fixed an issue where script permissions were not checked for CLEO scripts.
Update from 12/08/2021:
- Fixed a critical error in the CS script scheduler, causing abnormal behavior (usually causing slow execution);
- Fixed a bug that caused crowns (light source textures) not to be displayed in CS scripts.
Update from 12/04/2021:
- CLEO now uses the AppData directory if the current game directory does not have write permissions;
- Added support for method chaining for constructible files;
- Fixed a bug that allowed the script to run in the menu.
Installation:
- Download and install Ultimate ASI Loader x64 from ThirteenAG (rename to version.dll or any compatible name and copy to the GTA San Andreas — Definitive EditionGamefaceBinariesWin64 directory);
- Copy cleo_redux64.asi to the same directory.
First setup:
During the first launch of the game, a noticeable delay may be observed, as CLEO Redux loads the files required to support javascript. This will not happen on subsequent launches.
When the game is first launched, the folder CLEOwill appear in the GTA San Andreas — Definitive EditionGamefaceBinariesWin64 directory. Move all your scripts there.
Compatibility with The Trilogy: The Definitive Edition
At the moment, CLEO Redux only supports San Andreas: The Definitive Edition 1.0.0.14296, 1.0.0.14388, 1.0.0.14718 (Title Update v1.03). There are several key differences from other games:
- Requires Ultimate ASI Loader x64 from ThirteenAG;
- The CLEO version is not displayed in the main menu;
- The showTextBox function does not work in JS scripts;
- Operation codes for custom commands are different, only some are supported:
0C00 IS_KEY_PRESSED
0C01 INT_ADD
0C02 INT_SUB
0C03 INT_MUL
0C04 INT_DIV
0C05 TERMINATE_THIS_CUSTOM_SCRIPT
Sanny Builder does not yet support these new operation codes. To enable the new operation codes in CS scripts, add the following lines above the script:
{$O 0C00=1, is_key_pressed %1d% }
{$O 0C01=3,%3d% = %1d% + %2d% }
{$O 0C02=3,%3d% = %1d% — %2d% }
{$O 0C03=3,%3d% = %1d% * %2d% }
{$O 0C04=3,%3d% = %1d% \/ %2d% }
{$O 0C05=0,terminate_this_custom_script }
Use SA Mobile mode to compile CLEO scripts for San Andreas: The Definitive Edition.
Removal:
- Remove cleo_redux64.asi.
- Remove the CLEO folder (optional).
- Remove cleo_redux.log (optional).
Password: libertycity
CLEO Redux — это среда выполнения сценариев для игр эпохи GTA 3D. Является гордым представителем семейства CLEO и предоставляет знакомые возможности всем, кто использовал библиотеку для классической GTA San Andreas или ее повторных реализаций для других игр. Основная цель CLEO — предоставить возможность легко настраивать игру с помощью бесчисленных пользовательских скриптов.
Обновление от 28.08.2023:
- Исправлена проблема, когда команды, возвращающие несколько значений (Char#storeClosestEntities, Game.GetCurrentResolution() и т.д.), возвращали только одно правильное значение.
Обновление от 13.08.2023:
- Исправление проблемы, когда импорт одного и того же файла из разных папок приводил к дублированию кода;
- Исправление ошибки в методах Memory.Fn, возвращающих 8-битные или 16-битные результаты;
- Исправлена ошибка с рендерингом короны, когда была видна только одна корона.
SDK И ПЛАГИНЫ
- Dylib 2.0: плагин переписан для обеспечения поведения, идентичного LOAD_DYNAMIC_LIBRARY из CLEO4. Теперь возвращаемое значение — это адрес загруженного модуля в памяти.
- Увеличены минимально необходимые версии определений команд.
Обновление от 19.06.2023: - Добавлена поддержка GTA The Trilogy — The Definitive Edition v1.0.17.39540 (Epic Games Store);
- Исправлена ошибка, когда команды для производных классов возвращали неверные значения (Heli.Create, Boat.Create и т.д.);
- Исправлена ошибка, когда библиотека не могла прочитать версию хоста, если путь к исполняемому файлу содержал символы, отличные от ASCII;
- Улучшен журнал: теперь он сериализуется со всеми свойствами, а не только [object Object].
Обновление от 21.02.2023:
- Добавлена поддержка GTA The Trilogy — The Definitive Edition v1.0.17.39540 (Rockstar Games Launcher).
Обновление от 18.02.2023:
- Добавлена поддержка GTA Trilogy — (Steam) — v1.0.17.39540;
- Обновлен tsconfig.json по умолчанию, чтобы решить проблемы с импортом JSON-файлов. Удалите свой tsconfig.json, если вы хотите создать его заново с новыми параметрами.
Обновление от 14.02.2023:
- Добавлена поддержка GTA 4 (версия 1.2.0.59).
Обновление от 27.01.2023:
- Добавлено новое свойство CLEO.hostVersion, которое возвращает версию текущего хоста. В настоящее время доступно, только если текущий exe-файл имеет информацию о версии (например, GTA IV или GTA Trilogy);
- Исправление сбоя в GTA IV при загрузке скрипта с синтаксической ошибкой;
- Исправление проблемы в GTA IV, когда некоторые команды всегда возвращали одно и то же значение (например, GET_CURRENT_CHAR_WEAPON).
Критические изменения:
- Увеличены минимально необходимые версии определений команд;
- CLEO.version и CLEO.apiVersion некорректно возвращали пустые строки для отсутствующих частей строки версии. Теперь вместо них возвращается undefined.
- Log(CLEO.apiVersion.patch); // раньше было "", теперь undefined
- Log(CLEO.apiVersion.pre); // раньше было "", теперь undefined
- Log(CLEO.apiVersion.build); // было "", теперь undefined
Обновление от 11.01.2023:
- Новые встроенные функции для addEventListener и dispatchEvent;
- Добавлены setTimeout, setInterval, clearTimeout, clearInterval;
- Добавлено .cs, .js, .ts в список разрешенных расширений файлов для CLEO.runScript;
- Исправлена ошибка, приводившая к остановке скриптов по таймауту;
- Исправление ошибки, приводившей к сбоям в работе скриптов после перезагрузки;
- Исправление ошибки, когда команды Bully возвращали неверные значения.
SDK AND PLUGINS:
- Добавлен новый метод SDK TriggerEvent для запуска пользовательских событий с некоторой полезной нагрузкой. Версия SDK теперь 7;
- Добавлен новый плагин Events, который добавляет несколько событий для реакции на них в JS/TS-коде: OnVehicleCreate, OnPedCreate, OnObjectCreate, OnVehicleDelete, OnPedDelete, OnObjectDelete;
- IdeLoader 1.3: генерирует ide_loader.d.ts для лучшего intellisense в скриптах TS;
- xtLoader 1.1: генерируется txt_loader.d.ts для лучшего понимания смысла в скриптах TS.
Также увеличены минимально необходимые версии определений команд.
Обновление от 15.12.2022:
- Добавлена поддержка TypeScript;
- Добавлено поддержку команд, использующих глобальные переменные SCM (например, счетчики или таймеры);
- Удалено ранее устаревшую переменную GAME. Вместо нее используйте HOST;
- Обновлено средство наблюдения за сценариями: изменение файлов .mjs в каталоге сценариев или любых вложенных каталогах вызывает перезагрузку сценария;
- С помощью FxtStore можно заставить работать глобальные FXT-ключи, установив последний аргумент в FxtStore.insert и FxtStore.delete в true.
SDK И ПЛАГИНЫ:
- IdeLoader 1.2: исправлена ошибка парсера, из-за которой не загружались файлы .ide с секцией 2dfx;
- Frontend 1.1: уменьшен таймаут при проверке обновлений до 10 секунд;
- ImGuiRedux (by Grinch_): больше команд.
КРИТИЧНЫЕ ИЗМЕНЕНИЯ:
- Увеличены минимально необходимые версии определений команд.
Обновление от 22.11.2022:
- Добавлена экспериментальная поддержка асинхронных функций;
- Добавлен новый метод CLEO.runScript для скриптов;
- Добавлена поддержка FXT для GTA 4;
- Исправлен вылет с GTA 3 и GTA 4;
- Изменены минимальные требуемые версии определений команд для GTA 4.
Обновление от 03.11.2022:
- Добавлена поддержка для последнего патча GTA Trilogy 1.04.5;
- Добавлены методы: Memory.ReadUtf8, Memory.WriteUtf8, Memory.ReadUtf16, Memory.WriteUtf16;
- Настройки ONMISSION позволяют использовать 00D9 STORE_CAR_CHAR_IS_IN or 00D8 MISSION_HAS_FINISHED;
- Новые методы SDK;
- Теперь код, отображающий версию CLEO в главном меню, вынесен в отдельный плагин — frontend.cleo.
Обновление от 09.09.2022:
- Добавлена поддержка javascript в 64-битных версиях re3 и reVC;
- Параметр «Проверить обновления» отключен по умолчанию;
- 64-bit версия (SDK AND PLUGINS);
- Исправлена ошибка при установке ASI Loader в GTA 4;
- Добавлена дополнительная опция при установке клео для re3 и reVC (выбор 32-битную или 64-битную).
Обновление от 19.08.2022:
- Добавлена поддержка Bully: Scholarship Edition (v1.2 PC);
- Исправлена ошибка Gxt Hook;
- Исправлена ошибка с неработающими скриптами после перезагрузки.
Обновление от 01.07.2022
- Добавлена начальная поддержка GTA 4 (The Complete Edition);
Все части GTA теперь используют составные определения (комбинация основного файла JSON и файла JSON для неизвестного хоста из библиотеки Sanny Builder);- Исправлена проблема, когда CLEO переставала загружать файлы FXT после обнаружения символов, отличных от UTF8;
- Добавлено свойство CLEO.apiVersion;
- SDK и плагины.
Обновление от 04.03.2022:
- Добавлена поддержка The Definitive Edition Title Update 1.04 (GTA III DE 1.0.0.15284, VC DE 1.0.0.15399, SA DE 1.0.0.15483);
- Исправлены ошибки в командах (San Andreas);
- Исправлена ошибка из нерабочими скриптами.
Обновление от 22.02.2022:
- Добавлен SDK для разработки пользовательский команд на C++ и Rust.
- Добавлена поддержка ошибочных команд в JS (также известных как команды IF и SET в сценариях SCM), они возвращают неопределенное значение при сбое, например. DynamicLibrary.Load или Char.IsInAnySearchlight);
- Два новых плагина, добавляющих команды для работы с DLL (dylib.cleo) и INI файлами (IniFiles.cleo) во всех поддерживаемых играх;
- Добавлена переменная __dirname в сценарии JS, которая добавляется в каталог текущего файла;
- Добавлена новая встроенная функция, которая вызывает команду сценария по имени;
- Исправлена проблема с округлением чисел с плавающей запятой в GTA 3;
- Исправлена проблема с неработающим импортом в JS, когда папка CLEO находится в каталоге AppData;
- Исправлена ошибка, из-за которой команда showTextBox в San Andreas отображала мусорный текст;
- Исправлена ошибка преобразования, когда команде showTextBox дает целочисленный аргумент;
- Исправлена проблема с разрешениями сценариев, которые не проверялись для сценариев JS;
- Исправлена проблема, когда объект, возвращаемый в результате некоторых команд (Object.GrabEntityOnRope(), Heli.GrabEntityOnWinch() и т.п.), не имел соответствующих полей, завернутых в экземпляр класса.
Обновление:
- Добавлена поддержка JS-скриптов в GTA III: The Definitive Edition (v1.0.0.14718) и Vice City: The Definitive Edition (v1.0.0.14718);
- Добавлена поддержка современного синтаксиса ES6+;
- Добавлена поддержка импорта других скриптов и файлов JSON;
- Теперь вы можете вызывать игровые функции с аргументами с плавающей запятой;
- Новая команда "Memory.CallFunctionReturnFloat", аналогичная предыдущей, Memory.CallFunctionReturnно используемая для функций, возвращающих число с плавающей запятой;
- Новый удобный метод "Memory.Fn.X64Float", который можно использовать для функций, возвращающих число с плавающей запятой.
Обновление от 17.12.2021:
Для San Andreas: The Definitive Edition:
- Добавлены новые коды операций: 0C06 WRITE_MEMORY и 0C07 READ_MEMORY, а также соответствующие команды javascript: Memory.Write и Memory.Read;
- Исправлена проблема с опкодами 0C01, 0C02, 0C03, 0C04.
- CLEO Redux для San Andreas: The Definitive издание теперь использует sa_unreal.json (https://github.com/sannybuilder/library).
Для остальных игр:
- Улучшена стабильность JS скриптов;
- Исправлена проблема, когда разрешения скриптов не проверялись для скриптов CLEO.
Обновление от 08.12.2021:
- Исправлена критическая ошибка в планировщике сценариев CS, вызывающая ненормальное поведение (обычно вызывающее медленное выполнение);
- Исправлена ошибка, из-за которой короны (текстуры источников света) не отображались в сценариях CS.
Обновление от 04.12.2021:
- CLEO теперь использует каталог AppData, если в текущем каталоге игры нет прав на запись;
- Добавлена поддержка цепочки методов для конструируемых файлов;
- Исправлена ошибка, из-за которой скрипт мог запускаться в меню.
Установка:
- Загрузите и установите Ultimate ASI Loader x64 от ThirteenAG (переименуйте в version.dll или любое совместимое имя и скопируйте в GTA San Andreas — Definitive EditionGamefaceBinariesWin64 каталог);
- Скопируйте cleo_redux64.asi в тот же каталог.
Первая настройка:
Во время первого запуска игры может наблюдаться заметная задержка, поскольку CLEO Redux загружает файлы, необходимые для поддержки javascript. При последующих запусках этого не произойдет.
При первом запуске игры, в директории GTA San Andreas — Definitive EditionGamefaceBinariesWin64 появится папка CLEO. Туда и переносите все свои скрипты.
Совместимость с The Trilogy: The Definitive Edition
На данный момент CLEO Redux поддерживает только San Andreas: The Definitive издание 1.0.0.14296, 1.0.0.14388, 1.0.0.14718 (Title Update v1.03). Есть несколько ключевых отличий от других игр:
- Требуется Ultimate ASI Loader x64 от ThirteenAG;
- В главном меню не отображается версия CLEO;
- Функция showTextBox не работает в JS скриптах;
- Коды операций для пользовательских команд разные, поддерживаются только некоторые:
0C00 IS_KEY_PRESSED
0C01 INT_ADD
0C02 INT_SUB
0C03 INT_MUL
0C04 INT_DIV
0C05 TERMINATE_THIS_CUSTOM_SCRIPT
Sanny Builder пока не поддерживает эти новые коды операций. Чтобы включить новые коды операций в сценариях CS, добавьте следующие строки поверх сценария:
{$O 0C00=1, is_key_pressed %1d% }
{$O 0C01=3,%3d% = %1d% + %2d% }
{$O 0C02=3,%3d% = %1d% — %2d% }
{$O 0C03=3,%3d% = %1d% * %2d% }
{$O 0C04=3,%3d% = %1d% / %2d% }
{$O 0C05=0,terminate_this_custom_script }
Используйте режим SA Mobile для компиляции CLEO-скриптов для San Andreas: The Definitive Edition.
Удаление:
- Удалить cleo_redux64.asi.
- Удалите CLEO папку (необязательно).
- Удалите cleo_redux.log (необязательно).
Пароль: libertycity