Bibliothèque CLEO 4 (4.3.16)



































-
-
depositfiles.comTélécharger
Nouvelle bibliothèque CLEO 4 du 19 mars 2014
Scripts
En utilisant CLEO, il est possible d'ajouter de nouveaux scripts au jeu, écrits dans Sanny Builder ou un autre éditeur de scripts, sans avoir besoin de commencer une nouvelle partie. Tout ce qu'il faut pour ajouter un tel script au jeu, c'est de le placer dans le dossier CLEO. Le script commencera à fonctionner après le démarrage du jeu. Pour supprimer un script du jeu, il suffit de supprimer le fichier correspondant.
Tous les scripts sont écrits par des fans du jeu et n'ont aucun lien avec les développeurs de CLEO. Bien que la bibliothèque CLEO elle-même soit censée fonctionner avec différentes versions du jeu, certains scripts peuvent avoir leurs propres limitations et exigences concernant les fichiers du jeu. Pour toute question sur le fonctionnement d'un script spécifique, veuillez contacter son auteur.
Opcodes
CLEO 4 ajoute 100 nouvelles commandes de script au jeu, permettant de travailler avec des fichiers externes, de modifier des données en mémoire du jeu, d'appeler des fonctions de jeu avec ses propres paramètres, et bien plus encore.
La quatrième version a introduit de nouvelles commandes pour travailler avec des sons et des chaînes, ainsi que la possibilité d'afficher du texte à l'écran sans utiliser de fichiers externes (.gxt, .fxt). Pour apprécier les nouvelles fonctionnalités et les utiliser dans vos scripts, installez la dernière version de la bibliothèque CLEO 4.
Plugins
Les plugins CLEO sont des fichiers DLL ordinaires, mais avec l'extension .CLEO. Lors du démarrage, la bibliothèque CLEO recherche des fichiers avec cette extension dans le dossier CLEO et tente de les charger. En cas de chargement réussi, le plugin commence à fonctionner et exécute les fonctions pour lesquelles il a été écrit.
CLEO 4 permet de créer de nouveaux opcodes en utilisant les codes sources du SDK CLEO. Dans le kit de démarrage de la bibliothèque, vous pouvez trouver trois exemples de tels plugins.
Les plugins sont installés et supprimés de la même manière que les scripts. La liste des plugins disponibles peut être trouvée sur cette page.
Installation
CLEO 4 est distribué sous la forme d'un installateur automatique. Pour installer la bibliothèque, lancez l'installateur et suivez ses instructions.
CLEO 4.3 prend en charge trois versions du jeu GTA San Andreas : 1.0, 1.01, 3.0 (steam).
CLEO nécessite l'installation de l'ASI Loader, qui est fourni avec la bibliothèque. L'ASI Loader est un programme qui charge automatiquement les fichiers avec l'extension .asi au démarrage du jeu. L'ASI Loader remplace l'un des fichiers originaux du jeu 'vorbisFile.dll' par le sien, donc assurez-vous d'avoir fait une copie de ce fichier.
D'autres fichiers du jeu ne sont pas remplacés, mais les fichiers et dossiers suivants sont ajoutés :
- cleo\ (dossier CLEO où tous les scripts et plugins sont copiés)
- cleo\FileSystemOperations.cleo (plugin pour travailler avec des fichiers)
- cleo\IniFiles.cleo (plugin pour travailler avec INI)
- cleo\IntOperations.cleo (plugin pour travailler avec des entiers au niveau des bits)
- cleo\cleo_save\ (dossier de sauvegardes CLEO)
- cleo.asi (noyau de la bibliothèque CLEO)
- bass.dll (bibliothèque pour travailler avec l'audio)
- vorbisHooked.dll (ASI Loader de Silent)
Tous les plugins sont optionnels, mais leurs fonctionnalités peuvent être utilisées par divers scripts CLEO.
CLEO 4 pour San Andreas nécessite la bibliothèque BASS.dll version 2.4 pour lire des fichiers audio, que vous pouvez télécharger depuis le site officiel d'Un4seen Developments Ltd.
Compatibilité avec CLEO 3
CLEO est constamment amélioré et étendu au fil du temps. Dans de très rares cas, certains scripts écrits pour CLEO 3 peuvent ne pas fonctionner avec CLEO 4. À partir de CLEO 4.3, vous pouvez activer un mode de compatibilité spécial pour les scripts CLEO 3. Pour ce faire, changez l'extension du fichier de script (généralement '.cs') en '.cs3'. CLEO 4.3 fonctionnera avec ces scripts en mode spécial, qui inclut des modifications du comportement de certaines commandes de script. En même temps, dans la grande majorité des cas, les scripts CLEO 3 fonctionnent avec CLEO 4 sans aucun problème, et l'utilisation du mode de compatibilité n'est pas nécessaire.
Fdnjhs
L'auteur et le développeur initial de la bibliothèque CLEO est Seemann.
Les développeurs n'ont aucun lien avec Take 2 Interactive ou Rockstar Games et ne peuvent être tenus responsables des conséquences négatives pouvant résulter de l'utilisation de ce produit ou de tout autre produit distribué avec la bibliothèque. Utilisez-le à vos propres risques.
Dans CLEO 4.3, l' ASI Loader de Silentest utilisé.
Des informations sur les changements dans la version 4.3 et une description plus détaillée des fonctionnalités de CLEO peuvent être trouvées dans les fichiers readme fournis avec la bibliothèque.
Remerciements
À Stanislav Golovin (alias listener) - pour son immense travail dans l'étude des jeux GTA.
mfisto - pour les tests alpha de la bibliothèque CLEO 4, les conseils et le soutien
NTAuthority et LINK/2012 - pour leur aide avec CLEO 4.3.
CLEO 4
--------------------
Journal des modifications
-- 4.3.15 --
* Amélioration de la correction de compatibilité pour les opcodes 0AE1, 0AE2 et 0AE3 avec une utilisation incorrecte de find_next
-- 4.3.14 --
* Correction de 0AAA ne retournant que des scripts personnalisés
* Correction de nombreux éléments utilisant l'espace 'SCM Block' ou 'Mission Local Storage'
* Correction des paramètres étant passés au stockage local de script au lieu du stockage local de mission via 0A94
* Correction de problèmes potentiels avec l'itération à travers les files d'attente de script (peut causer des bugs rares et difficiles à tracer)
-- 4.3.13 --
* Correction des plantages lors du démarrage d'une nouvelle partie après qu'une partie ait déjà commencé avec des scripts CLEO installés
* Possiblement correction d'autres problèmes lors du démarrage d'une partie avec des scripts CLEO installés
-- 4.3.12 --
* Correction du saut de paramètres de chaîne dans 'SkipOpcodeParams' utilisé par les plugins CLEO
* 0AC8 retourne maintenant une valeur NULL à la variable de sortie si l'allocation a échoué (comme c'était le cas avant 4.3a)
* 0AC9 vérifie maintenant que la mémoire a été allouée par 0AC8 avant d'essayer de la libérer
* Les références FXT ne sont plus sensibles à la casse (comme c'était le cas avant 4.3a)
* Les opérations de fichiers vérifient maintenant que le handle d'entrée n'est pas nul (comme cela semblait être le cas avant 4.3a)
* Le statut de 'mission chargée' est maintenant réinitialisé lors d'une nouvelle partie/chargement de partie (comme c'était le cas avant 4.3a)
* Les scripts ne se chargent plus prématurément (comme avant 4.3a)
* Résolution des conflits avec d'autres hooks de menu tels que 'HUME'
* Autres ajustements mineurs
-- 4.3.11 --
* Correction d'un plantage avec 0ADA dans les scripts commençant par un opcode se terminant par '00'
-- 4.3.10 --
* Améliorations des opcodes 0AE1, 0AE2 et 0AE3 - boucle maintenant autour du pool même lorsque le drapeau 'find_next' n'est pas utilisé correctement
* Correction de 0AD2 ne retournant pas les peds ciblés avec la souris, tandis que le ciblage avec une manette fonctionnait
-- 4.3.9 --
* Sera maintenant capable de commencer une mission CLEO après avoir récemment terminé une mission standard
* Ne générera plus d'erreur et ne se terminera pas lorsque les scripts échouent à s'ouvrir et enregistrera simplement l'erreur
* Ne se terminera plus sur des avertissements
* N'inclut plus de chemins dans les noms de script générés automatiquement (par exemple, cleo\dir\demo.cs est maintenant nommé 'demo.cs' et non 'dir\dem')
* Amélioration de la gestion des erreurs de chargement de script
-- 4.3.8 --
* Correction d'un plantage qui se produisait lorsque les missions étaient terminées avec 004E
-- 4.3.7 --
* Les missions personnalisées lancées par des scripts CLEO héritent maintenant de leur mode de compatibilité - corrigeant possiblement les incompatibilités avec les mods utilisant des missions personnalisées
* Le répertoire actuel défini par 0A99 est maintenant dépendant du script et n'affecte que les scripts CLEO en cours d'exécution (pas l'ensemble du jeu ou le main.scm)
* Les dessins de texte et de texture/sprite sont maintenant dépendants du script (n'affecte pas les scripts main.scm)
-- 4.3 --
* Remplacement du code qui allouait et désallouait dynamiquement de la mémoire pour les paramètres de script chaque fois que 0AA5-0AA8 étaient appelés par des tableaux statiques
* Suppression d'un remplacement de boucle d'exécution de script qui n'était utilisé pour rien d'important et qui ne fonctionnait bizarrement qu'avec 1.0US, causant des plantages avec des plugins de journalisation de script
* Ajout du support pour les versions Steam (v3) de gta_sa.exe
* Empêche l'initialisation du stockage local dans les fonctions SCM lorsque le script est en mode de compatibilité CLEO 3 (extension '.cs3')
* Mises à jour du comportement des opcodes suivants :
0A99
CHANGE_DIRECTORY peut maintenant changer correctement vers le répertoire du programme
0A9A
OPEN_FILE utilise maintenant un mode 'héritage' lors du passage d'un entier comme paramètre de mode pour la compatibilité des handles de fichiers CLEO et SA
Notez que vous ne devriez vraiment pas passer de handles de fichiers CLEO aux fonctions de jeu. Cependant, ce mode héritage garantit maintenant que les handles sont compatibles.
D'autres fonctions de fichiers ont également été mises à jour pour garantir que les handles de fichiers de jeu sont passés aux fonctions de jeu pertinentes.
Il est recommandé de ne pas compter sur le passage de fichiers aux fonctions de jeu et d'utiliser plutôt les fonctions de fichiers intégrées de CLEO 4 à l'avenir.
0AD1
CALL accepte maintenant une entrée de chaîne, qui est passée comme un pointeur de chaîne suivant la convention de chaîne
0AD4
SCAN_STRING retourne maintenant un résultat de condition
0AE6
FIND_FIRST_FILE accepte maintenant une sortie de tableau de chaînes
0AE3
FIND_ALL_RANDOM_OBJECTS_IN_SPHERE garantit maintenant qu'aucun objet en fondu n'est retourné et retourne -1 au lieu de 0 en cas d'échec
0AE2
FIND_ALL_RANDOM_CARS_IN_SPHERE garantit maintenant qu'aucun véhicule de script ou véhicule en fondu n'est retourné et retourne -1 au lieu de 0 en cas d'échec
0AE1
FIND_ALL_RANDOM_CHARS_IN_SPHERE garantit maintenant qu'aucun personnage de script ou personnage en fondu n'est retourné et retourne -1 au lieu de 0 en cas d'échec
0ADF
ADD_TEXT_LABEL met maintenant à jour les étiquettes de texte existantes si elles existent déjà
0AD6
IS_END_OF_FILE_REACHED retourne maintenant vrai si une erreur de fichier s'est produite
0AD2
GET_CHAR_PLAYER_IS_TARGETING retourne maintenant -1 au lieu de 0 lorsque aucune cible n'est trouvée
0AB5
STORE_CLOSEST_ENTITIES garantit maintenant qu'aucune entité de script ou entité en fondu n'est retournée et garantit que le ped du joueur n'est pas retourné
Новая библиотека 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