Autor Thema: [Fallout2] Scripting Teil1 - Grundlagen / Compilieren  (Gelesen 12040 mal)

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.726
[Fallout2] Scripting Teil1 - Grundlagen / Compilieren
« am: 25. Dezember 2005, 21:58:26 Uhr »
Das Originaltutorial wurde von Lisac2k geschrieben. Und kann hier gefunden werden. Ich habe mir lediglich die Freiheit genommen, dass ganze ins deutsche zu übersetzen.



Grundlagen des Scriptens.

1. Als erstes...

Die Script-Dateien die Fallout2 benutzt sind einfache Dateien, die in einer Programmiersprache ähnlich "C" geschrieben sind. Es sieht auf den ersten Blick zwar alles etwas verwirrend aus, aber es ist doch recht einfach zu erlernen. Mehr dazu später. Als erstes sehen wir uns mal an, aus was ein FO2 Script besteht:

  • eine SSL Datei; ist der UNCOMPILIERTE Code (zu finden im FO2 Mapper\scripts Verzeichnis)
  • eine MSG Datei; wird für die Dialoge gebraucht. (Textzeilen, bezeichnet mit Nummern, damit das Script diese später finden kann. Alle *.msg Dateien können in der "Master.dat" gefunden werden. Entpacken könnt ihr die *dat Datei mit dem DAT Explorer. Die *.msg Dateien liegen im Verzeichnis text\german\dialog)

Damit ein Script auch funktioniert, müssen wir es erst COMPILIEREN (*.ssl -> compiling -> *.int), damit die Engine versteht, was da überhaupt für Zeugs geschrieben wurde.

2. TOOLS und Dateien die wir brauchen.

  • Fallout2 Mapper (beinhaltet die UNCOMPILIERTEN Scripte, also die SSL Dateien)
  • Fallout_Editor.doc (beinhaltet alle Befehler für die Scripte. Enthalten beim FO2 Mapper)
  • Fallout Script Editor (FSE) von Jargo (um die Scripte zu editieren, für das Pre- und Compilieren. Zu finden auf der offiziellen FSE Projekt Seite.)
  • die entpackte "Master.dat" und "Critters.dat" (man sollte die *.dat´s eh immer irgendwo unverpackt als Sicherheitskopie rumliegen haben.)

Nochwas bezüglich des FSE Tool´s... es ist auch möglich, die Dialoge mit FSE zu schreiben. Außerdem gibt es noch zwei interessante Add-Ons. Eins zum editieren der Maps (maps.txt Datei vom data\data\ Verzeichnis) und das andere zum editieren der Städte (cities.txt Datei vom data\data\ Verzeichnis.)
Eins noch: Du kannst die Scripte auch mit FSE DECOMPILIEREN (*.int -> *.ssl), aber dann bekommt ihr ein anderes Scriptigformat, welches für Anfänger schwerer zu verstehen ist.

3. COMPILING/ DECOMPILING eines Scriptes

Der beste weg um etwas zu lernen, ist das Arbeiten mit einem Beispiel. Zum Glück haben uns die BIS Leute mehr als genug davon zur Verfügung gestellt.

Okay, dann fangen wir mal an. Erinnert ihr euch noch an die erste Person, die der Spieler im Spiel trifft? (Klint)
Sein Script ist ziemlich kurz und auch leicht verständlich. Also starten wir mit Klint!

a) Starte das FSE Tool. Als erstes musst du die Pfade, die FSE benötigt, richtig konfigurieren.

"Edit -> Options -> Basic settings"

Die Header Datein (*.h) befinden sich in deinem FO2 Mapper Verzeichnis "\scripts\HEADERS". Die Compiler und Pre-Compiler werden auf  "FSE\binary" und "FSE\binary\wcc386.exe" gesetzt.

b) Gehe auf "File -> Open" und lade die "acKlint.ssl" aus deinem "FO2 Mapper\scripts\arroyo" Verzeichnis. (muss eine *.ssl Datei sein)
Richtig scripten werden wir noch nicht, für´s erste reicht das einfache Compilieren auch aus.

c) *SPEICHER DEIN SCRIPT BEVOR DEM COMPILIEREN, ANSONSTEN KÖNNEN FEHLER AUFTRETEN!* Drücke F9 oder gehe zu "Scripte -> Compile script" und schau dir das Resultat an! Jetzt solltest du das compilierte "acKlint.ssl" Script (welches erst zu "acKlint.i" wurde - pre-processed und dann zu "acKlint.int" -compiliert und für das Spiel lesbar gemacht wurde) haben.

d) Wenn alles glücklich verlaufen ist, hast du ein neues Script in deinem FO2 Verzeichnis "\data\data\scripts". Die Dateigröße sollte um die 10,426 Bytes betragen und es müsste noch eine Kopie davon im "\binary" Verzeichnis von FSE zu finden sein.

e) Jetzt versuchen wir es mal rückwärts. Also DECOMPILIEREN. Gehe nach "File -> Decompile and open from *.int" und finde deine neue "acKlint.int" Datei. Jetzt ist es etwas chaotisch geworden, huh? Denk drann: wir brauchen unsere Scripte nicht zu decompilieren, da wir ja den Source unserer Scripte (die SSL Dateien) besitzen.

Danke für eure Aufmerksamkeit!


Und um nochmals zu erwähnen: Dieses Tutorial wurde original von Lisac2k geschrieben. Ich habe es nur ins deutsche übersetzt, für all diejenigen, die keine Lust haben, sich durch´s englische zu prügeln. (gut, obwohl etwas Englisch eigentlich immer vorausgesetzt wird...)
So long...

Bei Fragen oder Probleme wendet euch einfach an mich.
« Letzte Änderung: 17. März 2008, 10:19:06 Uhr von Lexx »
only when you no-life you can exist forever, because what does not live cannot die

Offline mvBarracuda

  • Raider
  • Beiträge: 256
    • FIFE - Open Source RPG Engine
Re: [TUTORIAL] Teil 1 ? Grundlagen/ Compilieren
« Antwort #1 am: 28. Dezember 2005, 17:49:53 Uhr »
Ich möchte einfach mal Danke für die ganzen Tutorials sagen! :-)

Ich weiss was das für eine Heidenarbeit ist und es ist toll, dass es Leute gibt die in ihrer knappen Zeit noch so viel für die Community leisten! Ein Hoch auf Lexxi  :-*
<Sonium> someone speak python here?
<lucky> HHHHHSSSSSHSSS
<lucky> SSSSS
<Sonium> the programming language

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.726
Re: [TUTORIAL] Teil 1 ? Grundlagen/ Compilieren
« Antwort #2 am: 29. Dezember 2005, 10:27:10 Uhr »
Hehe thx *g*
Hab noch vor, ein paar zu schreiben und wenn ich was brauchbares zum übersetzen finde, so werd ich das auch tun. :>
Ich hoffe, dass sich damit noch ein paar mehr Leute anfreunden können und sich vielleicht auch ransetzen und sich am Fallout Modding selber versuchen. Maybe mancheiner hatte nur keine Lust, sich durch die ganzen englisch/ polnischen Tutorials zu quälen. Im prinzip ist das Fallout-Modding ja ganz einfach. Etwas kompliziert und umständlich ja, aber wenn man sich mal eingespielt hat, gehts eigentlich.
« Letzte Änderung: 29. Dezember 2005, 10:46:36 Uhr von Lexx »
only when you no-life you can exist forever, because what does not live cannot die