Beschreibung der Sannybuilder-Funktionen

  1. 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
  2. Nehmt ein paar nützliche Einstellungen vor, wählt im Hauptmenue: Programme >> Optionen
  3. 1. Opcode schreiben: Ändert die Scriptdarstellungsweise beim Dekompilieren einer Script-Datei
  4. 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
  5. :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

  6. 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
  7. :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
  8. Aufs Kompilieren hat die Option Opcode-Schreiben keinen Einfluss
    Sannybuilder kompiliert alle Varianten, wenn sie korrekt geschrieben sind
  9. 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
  10. 3. HighLighter: Ermöglicht Anzeigeeinstellungen für unterschiedliche Script-Eintragsarten in unterschiedlichen Darstellungsweisen
    Sehr schöne Sache, davon sollte man unbedingt Bebrauch machen
  11. Sannybuilder beinhaltet 2 wichtige tools, wählt dazu im Hauptmenue:
    Programme >> IDE Programme >> Opcode suchen sowie Koordinaten Manager
  12. 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
  13. 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:
  14. 00A1: put_actor $PLAYER_ACTOR at -2553.8 1453.1 5.5
  15. Es passt aber nicht zu Codes in denen classes zur Anwendung kommen,
    weil da die einzelnen Parameter-Werte mit Komma nochmal unterteilt werden:
  16. Actor.PutAt($PLAYER_ACTOR, -2553.8, 1453.1, 5.5)
  17. 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"
nothing

Sannybuilder - HILFE

  1. 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
  2. In der Rubrik: CLEO 3 : Code Library >> Virtual key codes findet man die Nummern für die Cleo-Tastenbelegungs-Codes
  3. Character
    Decimal
    Hex
         
    Backspace
    8
    8
    Z or z
    90
    5A
  4. Ich empfehle Decimal,
    In der Rubrik: CLEO 3 : Code Library >> CLEO 3 : opcodes findet man den Cleo-Tastenbelegungs-Code
  5. die Abfrage der Taste "Backspace" sieht dann so aus:
  6. if
    0AB0:   key_pressed 8
    004D: jump_if_false @weiter