CLEO 4 Library (4.3.16)



































-
depositfiles.comDownload
The new CLEO 4 library from March 19, 2014
Scripts
With CLEO, you can add new scripts to the game, written in Sanny Builder or another script editor, without the need to start a new game. All you need to do to add such a script to the game is place it in the CLEO folder. The script will start running after the game begins. To remove a script from the game, simply delete the corresponding file.
All scripts are created by fans of the game and are not related to the developers of CLEO. While the CLEO library itself should work with various versions of the game, individual scripts may have their own limitations and requirements regarding game files. For questions about the functionality of a specific script, please contact its author.
Opcodes
CLEO 4 adds 100 new script commands to the game, allowing interaction with external files, modification of game memory data, invocation of game functions with custom parameters, and much more.
The fourth version introduces new commands for working with sounds and strings, as well as the ability to display text on the screen without using external files (.gxt, .fxt). To appreciate the new features and utilize them in your scripts, install the latest version of the CLEO 4 library.
Plugins
CLEO plugins are standard DLL files, but with a .CLEO extension. Upon launch, the CLEO library searches for files with this extension in the CLEO folder and attempts to load them. If the plugin loads successfully, it begins to operate and perform the functions for which it was created.
CLEO 4 allows the creation of new opcodes using the source codes from the CLEO SDK. The library's starter kit includes three examples of such plugins.
Plugins are installed and removed just like scripts. A list of available plugins can be found on this page.
Installation
CLEO 4 is distributed as an automatic installer. To install the library, run the installer and follow its instructions.
CLEO 4.3 supports three versions of the GTA San Andreas game: 1.0, 1.01, 3.0 (steam).
CLEO requires the installation of ASI Loader, which comes with the library. ASI Loader is a program that automatically loads files with the .asi extension when the game starts. ASI Loader replaces one of the original game files 'vorbisFile.dll' with its own, so make sure to back up this file.
Other game files are not replaced; however, the following files and folders are added:
- cleo\ (the CLEO folder where all scripts and plugins are copied)
- cleo\FileSystemOperations.cleo (plugin for file operations)
- cleo\IniFiles.cleo (plugin for working with INI)
- cleo\IntOperations.cleo (plugin for working with integers at the bit level)
- cleo\cleo_save\ (CLEO save folder)
- cleo.asi (core of the CLEO library)
- bass.dll (library for audio processing)
- vorbisHooked.dll (Silent's ASI Loader)
All plugins are optional, but their functionality can be utilized by various CLEO scripts.
CLEO 4 for San Andreas requires the BASS.dll library version 2.4 to play sound files, which can be downloaded from the official Un4seen Developments Ltd website.
Compatibility with CLEO 3
CLEO is continuously improved and expanded over time. In very rare cases, some scripts written for CLEO 3 may not work with CLEO 4. Starting from CLEO 4.3, you can enable a special compatibility mode for CLEO 3 scripts. To do this, change the script file extension (usually '.cs') to '.cs3'. CLEO 4.3 will work with such scripts in a special mode that includes changes in the behavior of certain script commands. At the same time, in the vast majority of cases, CLEO 3 scripts work with CLEO 4 without any issues, and using compatibility mode is not required.
Fdnjhs
The author and original developer of the CLEO library is Seemann.
The developers are not affiliated with Take 2 Interactive or Rockstar Games and bear no responsibility for any negative consequences that may arise from the use of this product or any other products distributed alongside the library. Use it at your own risk.
CLEO 4.3 uses ASI Loader from Silent.
Information about changes in version 4.3 and a more detailed description of CLEO's capabilities can be found in the readme files that come with the library.
Acknowledgments
To Stanislav Golovin (a.k.a. listener) - for the immense effort in researching the GTA games.
mfisto - for alpha testing of the CLEO 4 library, advice, and support
NTAuthority and LINK/2012 - for assistance with CLEO 4.3.
CLEO 4
--------------------
Change Log
-- 4.3.15 --
* Improved compatibility fix for opcodes 0AE1, 0AE2, and 0AE3 with incorrect find_next usage
-- 4.3.14 --
* Fixed 0AAA only returning custom scripts
* Fixed many issues related to 'SCM Block' or 'Mission Local Storage' space
* Fixed parameters being passed to script local storage instead of mission local storage through 0A94
* Fixed potential problems with iteration through the script queues (may cause rare and hard-to-trace bugs)
-- 4.3.13 --
* Fixed crashing when starting a new game after a game has already started with CLEO scripts installed
* Possibly fixed other issues with starting a game with CLEO scripts installed
-- 4.3.12 --
* Fixed string parameter skipping in 'SkipOpcodeParams' used by CLEO plugins
* 0AC8 now returns a NULL value to the output var if allocation failed (as it did before 4.3a)
* 0AC9 now checks that memory was allocated by 0AC8 before attempting to free it
* FXT references are now case insensitive (as they were before 4.3a)
* File operations now check that the input handle isn't null (as it seems was the way before 4.3a)
* 'Loaded mission' status now resets on new/loaded game (as it was before 4.3a)
* Scripts no longer load prematurely (like before 4.3a)
* Resolved conflicts with other menu hooks such as 'HUME'
* Other minor tweaks
-- 4.3.11 --
* Fixed crash with 0ADA in scripts beginning with an opcode ending in '00'
-- 4.3.10 --
* Improvements to opcodes 0AE1, 0AE2, and 0AE3 - now loops around the pool even when the 'find_next' flag isn't used correctly
* Fixed 0AD2 not returning peds targeted with the mouse, while targeting with a pad worked
-- 4.3.9 --
* Will now be able to start a CLEO mission after recently finishing a standard mission
* Will no longer error & terminate when scripts fail to open and instead simply log the error
* Will no longer terminate on warnings
* No longer includes paths in automatically generated script names (e.g. cleo\dir\demo.cs is now named 'demo.cs' and not 'dir\dem')
* Improved handling of script load errors
-- 4.3.8 --
* Fixed crash that would occur when missions were ended with 004E
-- 4.3.7 --
* Custom missions launched by CLEO scripts now inherit their compatibility mode - possibly fixing incompatibilities with mods using custom missions
* The current directory set by 0A99 is now script-dependent and only affects running CLEO scripts (not the entire game or the main.scm)
* Text and texture/sprite draws are now script-dependent (doesn't affect main.scm scripts)
-- 4.3 --
* Replaced code that dynamically allocated and deallocated memory for script parameters every time 0AA5-0AA8 were called with static arrays
* Removed a script execution loop replacement that wasn't used for anything important and weirdly only worked with 1.0US that caused crashes with script logging plugins
* Added support for Steam (v3) versions of gta_sa.exe
* Prevented the local storage from being initialized in SCM functions when the script is in CLEO 3 compatibility mode ('.cs3' extension)
* Updates to the behavior of the following opcodes:
0A99
CHANGE_DIRECTORY can now correctly change to the program directory
0A9A
OPEN_FILE now uses a 'legacy' mode when passing an integer as the mode parameter for compatibility of CLEO file handles and SA file handles
Note that you should really not pass CLEO file handles to game functions. However, this legacy mode now ensures that the handles are compatible.
Other file functions have also been updated ensuring that game file handles are passed to relevant game functions.
It is recommended to not rely on passing files to game functions and instead use CLEO 4's in-built file functions in future.
0AD1
CALL now accepts string input, which is passed as a string pointer following string convention
0AD4
SCAN_STRING now returns a condition result
0AE6
FIND_FIRST_FILE now accepts string array output
0AE3
FIND_ALL_RANDOM_OBJECTS_IN_SPHERE now ensures no fading objects are returned and returns -1 instead of 0 on failure
0AE2
FIND_ALL_RANDOM_CARS_IN_SPHERE now ensures no script vehicles or fading vehicles are returned and returns -1 instead of 0 on failure
0AE1
FIND_ALL_RANDOM_CHARS_IN_SPHERE now ensures no script characters or fading characters are returned and returns -1 instead of 0 on failure
0ADF
ADD_TEXT_LABEL now updates existing text labels if they already exist
0AD6
IS_END_OF_FILE_REACHED now returns true if a file error occurred
0AD2
GET_CHAR_PLAYER_IS_TARGETING now returns -1 instead of 0 when no target is found
0AB5
STORE_CLOSEST_ENTITIES now ensures no script entities or fading entities are returned and ensures the player ped is not returned
Новая библиотека CLEO 4 от 19 марта 2014
Скрипты
При использовании CLEO в игру можно добавлять новые скрипты, написанные в Sanny Builder или другом редакторе скриптов, без необходимости начала новой игры. Все, что требуется для добавления такого скрипта в игру, - это поместить его в папку CLEO. Cкрипт начнет работу после начала игры. Для удаления скрипта из игры - удалите соответствующий файл.
Все скрипты написаны фанатами игры и не имеют отношения к разработчикам CLEO. Хотя сама библиотека CLEO должна работать с различными версиями игры, отдельные скрипты могут иметь собственные ограничения и требования к файлам игры. По вопросам работоспособности конкретного скрипта обращайтесь к его автору.
Опкоды
CLEO 4 добавляет в игру 100 новых скриптовых команд, которые позволяют работать с внешними файлами, изменять данные в памяти игры, вызывать игровые функции со своими параметрами, а также многое другое.
В четвертой версии появились новые команды для работы со звуками, строками, была добавлена возможность выводить на экран текст без использования внешних файлов (.gxt, .fxt). Чтобы оценить новые достижения и использовать их в ваших скриптах, установите последнюю версию библиотеки CLEO 4.
Плагины
CLEO-плагины - это обычные DLL-файлы, но имеющие расширение .CLEO. При запуске библиотека CLEO ищет в папке CLEO файлы с данным расширением и пытается загрузить их. В случае удачной загрузки плагин начинает работать и выполнять те функции, для которых он написан.
CLEO 4 позволяет создавать новые опкоды, используя исходные коды CLEO SDK. В стартовом комплекте библиотеки можно найти три примера таких плагинов.
Плагины устанавливаются и удаляются также как и скрипты. Список доступных плагинов можно найти на этой странице.
Установка
СLEO 4 распространяется в виде автоматического инсталлятора. Для установки библиотеки запустите инсталлятор и следуйте его инструкциям.
CLEO 4.3 поддерживает три версии игры GTA San Andreas: 1.0, 1.01, 3.0 (steam).
CLEO требует установки ASI Loader, который идет совместно с библиотекой. ASI Loader - это программа, которая автоматически загружает файлы с расширением .asi при старте игры. ASI Loader заменяет один из оригинальных файлов игры 'vorbisFile.dll' собственным, поэтому убедитесь, что вы сделали копию этого файла.
Другие файлы игры не заменяются, однако добавляются следующие файлы и папки:
- cleo\ (папка CLEO, в которую копируются все скрипты и плагины)
- cleo\FileSystemOperations.cleo (плагин для работы с файлами)
- cleo\IniFiles.cleo (плагин для работы с INI)
- cleo\IntOperations.cleo (плагин для работы с целыми числами на уровне битов)
- cleo\cleo_save\ (папка сохранений CLEO)
- cleo.asi (ядро библиотеки CLEO)
- bass.dll (библиотека для работы с аудио)
- vorbisHooked.dll (Silent's ASI Loader)
Все плагины опциональны, но их функционал может быть использован различными CLEO скриптами.
CLEO 4 для San Andreas для проигрывания звуковых файлов требует установленной библиотеки BASS.dll версии 2.4, которую можно скачать с официального сайта Un4seen Developments Ltd.
Совместимость с CLEO 3
CLEO постоянно улучшается и расширяется с течением времени. В очень редких случаях некоторые скрипты, написанные для CLEO 3, могут не работать с CLEO 4. Начиная с CLEO 4.3, вы можете включить специальный режим совместимости для скриптов CLEO 3. Для этого измените расширение файла скрипта (обычно это '.cs') на '.cs3'. CLEO 4.3 будет работать с такими скриптами в особом режиме, который включает в себя изменение поведения некоторых скриптовых команд. В тоже время в абсолютном большинстве случаев скрипты CLEO 3 работают с CLEO 4 без каких-либо проблем, и использование режима совместимости не требуется.
Fdnjhs
Автор и первоначальный разработчик библиотеки CLEO - Seemann.
Разработчики не имеют отношения к Take 2 Interactive или Rockstar Games и не несут никакой ответственности за возможные негативные последствия, вызванные использованием данного продукта или любых других продуктов, распространяемых вместе с библиотекой. Используйте его на свой страх и риск.
В CLEO 4.3 используется ASI Loader от Silent.
Информацию об изменениях в версии 4.3 и более подробное описание возможностей CLEO можно найти в readme-файлах, которые идут в комплекте с библиотекой.
Благодарности
Станиславу Головину (a.k.a. listener) - за огромный труд в исследовании игр GTA.
mfisto - за альфа-тестинг библиотеки CLEO 4, советы и поддержку
NTAuthority и LINK/2012 - за помощь с CLEO 4.3.
CLEO 4
--------------------
Change Log
-- 4.3.15 --
* Improvemed compatibility fix for opcodes 0AE1, 0AE2 and 0AE3 with incorrect find_next usage
-- 4.3.14 --
* Fixed 0AAA only returning custom scripts
* Fixed many things which use the 'SCM Block' or 'Mission Local Storage' space
* Fixed parameters being passed to script local storage instead of mission local storage through 0A94
* Fixed potential problems with iteration through the script queues (may cause rare and hard to trace bugs)
-- 4.3.13 --
* Fixed crashing when starting a new game after a game has already started with CLEO scripts installed
* Possibly fixed other issues with starting a game with CLEO scripts installed
-- 4.3.12 --
* Fixed string parameter skipping in 'SkipOpcodeParams' used by CLEO plugins
* 0AC8 now returns a NULL value to the output var if allocation failed (as it did before 4.3a)
* 0AC9 now checks the memory was allocated by 0AC8 before attempting to free it
* FXT references are now case insensitive (as they were before 4.3a)
* File operations now check the input handle isn't null (as it seems was the way before 4.3a)
* 'Loaded mission' status now reset on new/loaded game (as it was before 4.3a)
* Scripts no longer load prematurely (like before 4.3a)
* Resolved conflicts with other menu hooks such as 'HUME'
* Other minor tweaks
-- 4.3.11 --
* Fixed crash with 0ADA in scripts beginning with an opcode ending in '00'
-- 4.3.10 --
* Improvements to opcodes 0AE1, 0AE2 and 0AE3 - now loops around the pool even when the 'find_next' flag isn't used correctly
* Fixed 0AD2 not returning peds targetted with the mouse, while targetting with a pad worked
-- 4.3.9 --
* Will now be able to start a CLEO mission after recently finishing a standard mission
* Will no longer error & terminate when scripts fail to open and instead simply log the error
* Will no longer terminate on warnings
* No longer includes paths in automatically generated script names (e.g. cleo\dir\demo.cs is now named 'demo.cs' and not 'dir\dem')
* Improved handling of script load errors
-- 4.3.8 --
* Fixed crash which would occur when missions were ended with 004E
-- 4.3.7 --
* Custom missions launched by CLEO scripts now inherit their compatibility mode - possibly fixing incompatibilities with mods using custom missions
* The current directory set by 0A99 is now script-dependant and only affects running CLEO scripts (not the entire game or the main.scm)
* Text and texture/sprite draws are now script-dependant (doesn't affect main.scm scripts)
-- 4.3 --
* Replaced code which dynamically allocated and deallocated memory for script parameters every time 0AA5-0AA8 were called with static arrays
* Removed a script execution loop replacement which wasn't used for anything important and weirdly only worked with 1.0US that caused crashes with script logging plugins
* Added support for Steam (v3) versions of gta_sa.exe
* Prevented the local storage from being initialized in SCM functions when the script is in CLEO 3 compatibility mode ('.cs3' extension)
* Updates to behaviour of following opcodes:
0A99
CHANGE_DIRECTORY can now correctly change to the program directory
0A9A
OPEN_FILE now uses a 'legacy' mode when passing an integer as the mode parameter for compatibility of CLEO file handles and SA file handles
Note that you should really not pass CLEO file handles to game functions. However, this legacy mode now ensures that the handles are compatible.
Other file functions have also been updated ensuring that game file handles are passed to relevant game functions.
It is recommended to not rely on passing files to game functions and instead use CLEO 4's in-built file functions in future.
0AD1
CALL now accepts string input, which is passed as a string pointer following string convention
0AD4
SCAN_STRING now returns a condition result
0AE6
FIND_FIRST_FILE now accepts string array output
0AE3
FIND_ALL_RANDOM_OBJECTS_IN_SPHERE now ensures no fading objects are returned and returns -1 instead of 0 on failure
0AE2
FIND_ALL_RANDOM_CARS_IN_SPHERE now ensures no script vehicles or fading vehicle are returned and returns -1 instead of 0 on failure
0AE1
FIND_ALL_RANDOM_CHARS_IN_SPHERE now ensures no script characters or fading characters are returned and returns -1 instead of 0 on failure
0ADF
ADD_TEXT_LABEL now updates existing text labels if they already exist
0AD6
IS_END_OF_FILE_REACHED now returns true if a file error occured
0AD2
GET_CHAR_PLAYER_IS_TARGETING now returns -1 instead of 0 when no target is found
0AB5
STORE_CLOSEST_ENTITIES now ensures no script entities or fading entities are returned and ensures the player ped is not returned