CLEO 4 Bibliothek (4.3.16)



































-
depositfiles.comHerunterladen
Die neue CLEO 4 Bibliothek vom 19. März 2014
Skripte
Mit CLEO können neue Skripte, die in Sanny Builder oder einem anderen Skripteditor geschrieben wurden, ins Spiel eingefügt werden, ohne dass ein neues Spiel begonnen werden muss. Alles, was erforderlich ist, um ein solches Skript ins Spiel einzufügen, ist, es in den CLEO-Ordner zu kopieren. Das Skript wird nach Spielbeginn aktiv. Um ein Skript aus dem Spiel zu entfernen, löschen Sie die entsprechende Datei.
Alle Skripte sind von Fans des Spiels geschrieben und stehen in keinem Zusammenhang mit den Entwicklern von CLEO. Obwohl die CLEO-Bibliothek mit verschiedenen Versionen des Spiels funktionieren sollte, können einzelne Skripte eigene Einschränkungen und Anforderungen an die Spieldateien haben. Bei Fragen zur Funktionalität eines bestimmten Skripts wenden Sie sich bitte an den Autor.
Opcodes
CLEO 4 fügt dem Spiel 100 neue Skriptbefehle hinzu, die es ermöglichen, mit externen Dateien zu arbeiten, Daten im Spielspeicher zu ändern, Spiel-Funktionen mit eigenen Parametern aufzurufen und vieles mehr.
In der vierten Version wurden neue Befehle zur Arbeit mit Sounds und Strings hinzugefügt, und es wurde die Möglichkeit geschaffen, Text auf dem Bildschirm ohne Verwendung externer Dateien (.gxt, .fxt) anzuzeigen. Um die neuen Funktionen zu nutzen und in Ihren Skripten zu verwenden, installieren Sie die neueste Version der CLEO 4 Bibliothek.
Plugins
CLEO-Plugins sind gewöhnliche DLL-Dateien, jedoch mit der Erweiterung .CLEO. Beim Start sucht die CLEO-Bibliothek im CLEO-Ordner nach Dateien mit dieser Erweiterung und versucht, sie zu laden. Bei erfolgreichem Laden beginnt das Plugin zu arbeiten und führt die Funktionen aus, für die es geschrieben wurde.
CLEO 4 ermöglicht die Erstellung neuer OpCodes unter Verwendung des Quellcodes des CLEO SDK. Im Starter-Kit der Bibliothek finden Sie drei Beispiele für solche Plugins.
Plugins werden genauso installiert und entfernt wie Skripte. Eine Liste der verfügbaren Plugins finden Sie auf dieser Seite.
Installation
CLEO 4 wird als automatischer Installer verteilt. Um die Bibliothek zu installieren, starten Sie den Installer und folgen Sie den Anweisungen.
CLEO 4.3 unterstützt drei Versionen des Spiels GTA San Andreas: 1.0, 1.01, 3.0 (Steam).
CLEO erfordert die Installation von ASI Loader, der zusammen mit der Bibliothek geliefert wird. ASI Loader ist ein Programm, das beim Start des Spiels automatisch Dateien mit der Erweiterung .asi lädt. ASI Loader ersetzt eine der Original-Spieldateien 'vorbisFile.dll' durch eine eigene, daher stellen Sie sicher, dass Sie eine Kopie dieser Datei gemacht haben.
Andere Spieldateien werden nicht ersetzt, jedoch werden folgende Dateien und Ordner hinzugefügt:
- cleo\ (CLEO-Ordner, in den alle Skripte und Plugins kopiert werden)
- cleo\FileSystemOperations.cleo (Plugin zur Arbeit mit Dateien)
- cleo\IniFiles.cleo (Plugin zur Arbeit mit INI)
- cleo\IntOperations.cleo (Plugin zur Arbeit mit Ganzzahlen auf Bit-Ebene)
- cleo\cleo_save\ (CLEO-Speicherordner)
- cleo.asi (Kern der CLEO-Bibliothek)
- bass.dll (Bibliothek zur Arbeit mit Audio)
- vorbisHooked.dll (Silents ASI Loader)
Alle Plugins sind optional, aber ihre Funktionalität kann von verschiedenen CLEO-Skripten genutzt werden.
CLEO 4 für San Andreas benötigt die BASS.dll Bibliothek in Version 2.4, die von der offiziellen Website von Un4seen Developments Ltdheruntergeladen werden kann.
Kompatibilität mit CLEO 3
CLEO wird ständig verbessert und erweitert. In sehr seltenen Fällen funktionieren einige für CLEO 3 geschriebene Skripte möglicherweise nicht mit CLEO 4. Ab CLEO 4.3 können Sie einen speziellen Kompatibilitätsmodus für CLEO 3-Skripte aktivieren. Ändern Sie dazu die Dateierweiterung des Skripts (normalerweise '.cs') in '.cs3'. CLEO 4.3 wird mit solchen Skripten im speziellen Modus arbeiten, der das Verhalten einiger Skriptbefehle ändert. Gleichzeitig funktionieren in den meisten Fällen CLEO 3-Skripte ohne Probleme mit CLEO 4, und die Verwendung des Kompatibilitätsmodus ist nicht erforderlich.
Fdnjhs
Der Autor und ursprüngliche Entwickler der CLEO-Bibliothek ist Seemann.
Die Entwickler stehen in keinem Zusammenhang mit Take 2 Interactive oder Rockstar Games und übernehmen keine Verantwortung für mögliche negative Folgen, die durch die Verwendung dieses Produkts oder anderer Produkte, die zusammen mit der Bibliothek verteilt werden, entstehen. Verwenden Sie es auf eigenes Risiko.
In CLEO 4.3 wird ASI Loader von Silentverwendet.
Informationen zu den Änderungen in Version 4.3 und eine detaillierte Beschreibung der Funktionen von CLEO finden Sie in den Readme-Dateien, die mit der Bibliothek geliefert werden.
Danksagungen
Stanislav Golovin (a.k.a. listener) - für die enorme Arbeit bei der Erforschung der GTA-Spiele.
mfisto - für das Alpha-Testing der CLEO 4 Bibliothek, Ratschläge und Unterstützung
NTAuthority und LINK/2012 - für die Hilfe mit CLEO 4.3.
CLEO 4
--------------------
Änderungsprotokoll
-- 4.3.15 --
* Verbesserte Kompatibilitätskorrektur für OpCodes 0AE1, 0AE2 und 0AE3 mit falscher Verwendung von find_next
-- 4.3.14 --
* Fix für 0AAA, das nur benutzerdefinierte Skripte zurückgibt
* Viele Dinge, die den 'SCM Block' oder 'Mission Local Storage' verwenden, wurden behoben
* Parameter wurden an den Skript-Local Storage anstelle des Mission Local Storage durch 0A94 übergeben
* Potenzielle Probleme mit der Iteration durch die Skriptwarteschlangen wurden behoben (kann seltene und schwer nachverfolgbare Fehler verursachen)
-- 4.3.13 --
* Absturz beim Start eines neuen Spiels nach bereits installiertem CLEO-Skript wurde behoben
* Möglicherweise wurden andere Probleme beim Start eines Spiels mit installierten CLEO-Skripten behoben
-- 4.3.12 --
* Fehler beim Überspringen von String-Parametern in 'SkipOpcodeParams', die von CLEO-Plugins verwendet werden, wurden behoben
* 0AC8 gibt jetzt einen NULL-Wert an die Ausgabewariable zurück, wenn die Zuweisung fehlgeschlagen ist (wie es vor 4.3a der Fall war)
* 0AC9 überprüft jetzt, ob der Speicher von 0AC8 zugewiesen wurde, bevor versucht wird, ihn freizugeben
* FXT-Referenzen sind jetzt nicht mehr groß-/kleinschreibungsempfindlich (wie sie es vor 4.3a waren)
* Dateioperationen überprüfen jetzt, ob der Eingabewert nicht null ist (wie es anscheinend vor 4.3a der Fall war)
* Der Status 'Geladene Mission' wird jetzt bei neuem/geladenem Spiel zurückgesetzt (wie es vor 4.3a der Fall war)
* Skripte werden nicht mehr vorzeitig geladen (wie vor 4.3a)
* Konflikte mit anderen Menü-Hooks wie 'HUME' wurden behoben
* Weitere kleinere Anpassungen
-- 4.3.11 --
* Absturz mit 0ADA in Skripten, die mit einem Opcode enden, der '00' endet, wurde behoben
-- 4.3.10 --
* Verbesserungen an den OpCodes 0AE1, 0AE2 und 0AE3 - jetzt wird auch dann über den Pool geschleift, wenn das 'find_next'-Flag nicht korrekt verwendet wird
* Fix für 0AD2, das keine mit der Maus anvisierten Peds zurückgibt, während das Anvisieren mit einem Pad funktionierte
-- 4.3.9 --
* Es wird jetzt möglich sein, eine CLEO-Mission zu starten, nachdem eine Standardmission kürzlich abgeschlossen wurde
* Es wird nicht mehr zu einem Fehler kommen und beendet werden, wenn Skripte nicht geöffnet werden können, sondern einfach den Fehler protokollieren
* Es wird nicht mehr bei Warnungen beendet
* Enthält keine Pfade mehr in automatisch generierten Skriptnamen (z.B. cleo\dir\demo.cs heißt jetzt 'demo.cs' und nicht 'dir\dem')
* Verbesserte Handhabung von Skriptladefehlern
-- 4.3.8 --
* Absturz, der auftrat, wenn Missionen mit 004E beendet wurden, wurde behoben
-- 4.3.7 --
* Benutzerdefinierte Missionen, die von CLEO-Skripten gestartet werden, erben jetzt ihren Kompatibilitätsmodus - möglicherweise werden Inkompatibilitäten mit Mods, die benutzerdefinierte Missionen verwenden, behoben
* Das aktuelle Verzeichnis, das von 0A99 festgelegt wird, ist jetzt skriptabhängig und betrifft nur laufende CLEO-Skripte (nicht das gesamte Spiel oder die main.scm)
* Text- und Textur-/Sprite-Zeichnungen sind jetzt skriptabhängig (beeinflusst keine main.scm-Skripte)
-- 4.3 --
* Ersetzte Code, der dynamisch Speicher für Skriptparameter allokierte und deallokierte, jedes Mal, wenn 0AA5-0AA8 aufgerufen wurde, durch statische Arrays
* Entfernte eine Skriptausführungs-Schleifenersetzung, die für nichts Wichtiges verwendet wurde und seltsamerweise nur mit 1.0US funktionierte, was zu Abstürzen mit Skriptprotokollierungs-Plugins führte
* Unterstützung für Steam (v3) Versionen von gta_sa.exe hinzugefügt
* Verhindert, dass der lokale Speicher in SCM-Funktionen initialisiert wird, wenn das Skript im CLEO 3-Kompatibilitätsmodus ('.cs3'-Erweiterung) ist
* Updates zum Verhalten folgender OpCodes:
0A99
CHANGE_DIRECTORY kann jetzt korrekt in das Programmverzeichnis wechseln
0A9A
OPEN_FILE verwendet jetzt einen 'Legacy'-Modus, wenn eine Ganzzahl als Modusparameter übergeben wird, um die Kompatibilität von CLEO-Dateihandles und SA-Dateihandles zu gewährleisten
Bitte beachten Sie, dass Sie wirklich keine CLEO-Dateihandles an Spiel-Funktionen übergeben sollten. Dieser Legacy-Modus stellt jedoch sicher, dass die Handles kompatibel sind.
Andere Dateifunktionen wurden ebenfalls aktualisiert, um sicherzustellen, dass Spiel-Dateihandles an relevante Spiel-Funktionen übergeben werden.
Es wird empfohlen, nicht darauf zu vertrauen, Dateien an Spiel-Funktionen zu übergeben, sondern stattdessen die integrierten Dateifunktionen von CLEO 4 in Zukunft zu verwenden.
0AD1
CALL akzeptiert jetzt String-Eingaben, die als String-Zeiger gemäß der String-Konvention übergeben werden
0AD4
SCAN_STRING gibt jetzt ein Bedingungsergebnis zurück
0AE6
FIND_FIRST_FILE akzeptiert jetzt String-Array-Ausgaben
0AE3
FIND_ALL_RANDOM_OBJECTS_IN_SPHERE stellt jetzt sicher, dass keine verblassenden Objekte zurückgegeben werden und gibt -1 anstelle von 0 bei einem Fehler zurück
0AE2
FIND_ALL_RANDOM_CARS_IN_SPHERE stellt jetzt sicher, dass keine Skriptfahrzeuge oder verblassenden Fahrzeuge zurückgegeben werden und gibt -1 anstelle von 0 bei einem Fehler zurück
0AE1
FIND_ALL_RANDOM_CHARS_IN_SPHERE stellt jetzt sicher, dass keine Skriptcharaktere oder verblassenden Charaktere zurückgegeben werden und gibt -1 anstelle von 0 bei einem Fehler zurück
0ADF
ADD_TEXT_LABEL aktualisiert jetzt vorhandene Textlabels, wenn sie bereits existieren
0AD6
IS_END_OF_FILE_REACHED gibt jetzt true zurück, wenn ein Datei-Fehler aufgetreten ist
0AD2
GET_CHAR_PLAYER_IS_TARGETING gibt jetzt -1 anstelle von 0 zurück, wenn kein Ziel gefunden wird
0AB5
STORE_CLOSEST_ENTITIES stellt jetzt sicher, dass keine Skripte oder verblassenden Entitäten zurückgegeben werden und stellt sicher, dass der Spieler-Ped nicht zurückgegeben wird
Новая библиотека 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