GTA SAN ANDREAS
MODS for


Beschreibung der Sannybuilder-Funktionen
- Die Hauptfunktionen findet man als Button in der Symbolleiste
1. Dekompileren: öffnet über diese Funktion Scriptdateien mit Endung .CS, .CM oder .SCM
2. Kompilieren: kompiliert standartmäßig zu einer [Name]main.SCM
kompiliert automatisch zu Cleoscript-Dateien, wenn im Script die Directive eingetragen ist
{$CLEO .cs} = Cleo-Direktive, wird zu Name.CS kompiliert
{$CLEO .cm} = Cleo-Direktive, wird zu Name.CM kompiliert
- Nehmt ein paar nützliche Einstellungen vor, wählt im Hauptmenue: Programme >> Optionen
- 1. Opcode schreiben: Ändert die Scriptdarstellungsweise beim Dekompilieren einer Script-Datei
- Ich beforzuge den Haken zu setzen. Alle Einträge werden dann mit ihren Opcodes dargestellt,
die wie Namensschilder dazu dienen, die wirkliche Bedeutung der Einträge herrauszufinden - Beim Dekompilieren OHNE Opcodes wird das Script schlanker dargestellt (für manche vielleicht auch übersichtlicher)
nicht alle Opcodes verschwinden, aber noch anderes,
vor allem wird aus 004D: jump_if_false ein einfaches jf
und es werden classes zur Darstellung vieler codes benutzt: Player.Money($PLAYER_CHAR)
lest dazu in der Sannybuilder-Hilfe unter Coding >> Classes sowie Keywords
oder unter Keywords und Classes - Aufs Kompilieren hat die Option Opcode-Schreiben keinen Einfluss
Sannybuilder kompiliert alle Varianten, wenn sie korrekt geschrieben sind - 2. Zeilennummern: Am Linken Fensterrand werden die Zeilennummern dargestellt
und können weder markiert noch bearbeitet werden
schaltet sie ab, wenn sie stören
können beim Suchen von Scriptstellen nützlich sein - 3. HighLighter: Ermöglicht Anzeigeeinstellungen
für unterschiedliche Script-Eintragsarten in unterschiedlichen Darstellungsweisen
Sehr schöne Sache, davon sollte man unbedingt Bebrauch machen - Sannybuilder beinhaltet 2 wichtige tools, wählt dazu im Hauptmenue:
Programme >> IDE Programme >> Opcode suchen sowie Koordinaten Manager - Opcode suchen: Suchwort oder Opcode in die Suchmaske eingeben
wenn das tool inaktiv ist, muss erst eine opcode.txt erstellt werden
dazu müsst ihr erst ein Script im Sannybuilder haben, am Besten den Text der dekompilierten Original-Main.scm im aufgeschaltetem Reiter
Dann wählt unter Programme >> Erstelle opcodes.txt - Koordinaten Manager: Funktioniert erst,
wenn GTA eingeschaltet ist
Ein Koordinatensatz besteht aus X-Coordinaten, Y-Coordinaten, Z-Coordinaten
00A1: put_actor $PLAYER_ACTOR at X Y Z
00A1: put_actor $PLAYER_ACTOR at -2553.8 1453.1 5.5
Im Spiel dann zurück ins Hauptmenue und dann mit TAB und ALT zum Windows-Desktop
Koordinaten Manager aufschalten, bei Klick auf "READ" werden x,y und z-Koordinaten des momentanen Standorts ausgelesen
bei Klick auf "Copy" werden x,y und z-Koordinaten als Gleitkommazahlen in einer Reihe in den Arbeitsspeicher kopiert
Das Kopierte lässt sich dann einfach in eine Code-Zeile, die x,y und z-Werte erfordern, einfügen.
zum Beispiel: - Es passt aber nicht zu Codes in denen classes zur Anwendung kommen,
weil da die einzelnen Parameter-Werte mit Komma nochmal unterteilt werden: - Nehmt für Classes die Zahlenreihe aus dem oberen Fenster "Coordinates"
Überhaupt, ist immer darauf zu achten, daß Kommas nur zur Parameter-Unterteilung in classes vorkommen dürfen und müssen.
Ansonsten kann man die die x,y,z-Werte auch einzeln aus den Fenstern kopieren, sowie den Z-Ausrichtwinkel im Fenster "Angle"
:CARSL_6439
00D6: if
00E1: player 0 pressed_key 16
004D: jump_if_false @CARSL_6535
010B: 5@ = player $PLAYER_CHAR money
00D6: if
002D: 5@ >= 14@ // (int)
004D: jump_if_false @CARSL_6512
0012: 14@ *= -1
0109: player $PLAYER_CHAR money += 14@
0002: jump @CARSL_6700
:CARSL_6439
if
00E1: player 0 pressed_key 16
jf @CARSL_6535
5@ = Player.Money($PLAYER_CHAR)
if
002D: 5@ >= 14@ // (int)
jf @CARSL_6512
14@ *= -1
Player.Money($PLAYER_CHAR) += 14@
jump @CARSL_6700
00A1: put_actor $PLAYER_ACTOR at -2553.8 1453.1 5.5
Actor.PutAt($PLAYER_ACTOR, -2553.8, 1453.1, 5.5)

Sannybuilder - HILFE
- Wählt dazu im Sannybuilder-Hauptmenue: >> Hilfe
ist zwar in english, aber sehr umfangreich und auch für diejenigen mit schlechten English-Kenntissen Pflicht !
Oft möchte man wissen, welche Waffennummer oder Nummer für Tastendruck man braucht
solche Sachen findet man in der Rubrik: SCM Documentation >> GTA SA - In der Rubrik: CLEO 3 : Code Library >> Virtual key codes findet man die Nummern für die Cleo-Tastenbelegungs-Codes
-
CharacterDecimalHexBackspace88Z or z905A
- Ich empfehle Decimal,
In der Rubrik: CLEO 3 : Code Library >> CLEO 3 : opcodes findet man den Cleo-Tastenbelegungs-Code - die Abfrage der Taste "Backspace" sieht dann so aus:
-
if 0AB0: key_pressed 8 004D: jump_if_false @weiter