# Haupt-Skriptvorlagen

Das Haupt-Skript wird von dem WED automatisch generiert. Hier für stellt das 3D GameStudio einige Vorlagen zur Verfügung, die aber für die "template"-Skripte angepasst worden sind. Da auf diesen Seiten aber nicht mit den Template-Skripten gearbeitet wird, ist es von Vorteil eine eigene Haupt-Skriptvorlage zu erstellen.

Wo finde ich die Haupt-Skriptvorlagen?
| Zu finden sind die Haupt-Skriptvorlagen im Verzeichnis "template_6". Wie alle C-Skripte haben sie die Endung *.wdl Zwei Haupt-Skriptvorlagen sollten hier schon zu finden sein. Mit dem "Notepad" von Windows oder dem "SED" von 3D GameStudio können diese Skripte erstellt oder bearbeitet werden. Starte den Editor deiner Wahl und füge das nun folgende Skript ein. Zum Abschluß speichere diese neue Haupt-Skriptvorlage im Verzeichnis "template_6", mit dem Namen "MainSkript.wdl" ab.

`

    //---------- Path-Angaben -------------------
    path "%WEDPATH%\\template_6\\bibliothek"; 	// Path zu unserer WDL-Bibliothek
    path "%WEDPATH%\\template_6\\images"; 		// Path zu image-Bibliothek
    path "%WEDPATH%\\template_6\\sounds"; 		// Path zu sound-Bibliothek
    path "%WEDPATH%\\template_6\\models"; 		// Path zu model-Bibliothek
    //---------- Include-Dateien ----------------

    //---------- Variablen ----------------------
    string WMB_Datei= <%NAME%.WMB>;

    //---------- MainFunktion -------------------
    function Main()
    {
      warn_level = 2; 		// Warnmeldungen immer anzeigen
      tex_share  = 1; 		// Texturen mit gleichen Namen nur einmal in den Speicher laden.
      level_load(WMB_Datei); 	// Level laden
      video_switch(8,32,1); 	// Bildschirmeinstellung (Auflösung, Farbtiefe, 1 = VollBild oder 2 = Fenster)
      randomize(); 			// Initialisiert Zufallszahlen
      bg_color.red   = 100;		// Hintergrundfarbe
      bg_color.blue  = 100;
      bg_color.green = 100;
    }
    //-------------------------------------------

`

## Der Code

Diese Main-Skriptvorlage ist so kurz und knapp gehalten um ein möglichst breites Anwendungsgebiet abzudecken.

Der erste Teil definiert weitere Verzeichnise zu dem Projektverzeichnis, aus denen über das Skript, Dateien geladen werden können.

Im Anschluss sollten dann die Skripte per Include eingebunden werden.

Gefolgt von den Globalen Variablen, die zusammengefasst vor den Funktionen und Aktionen zu definieren sind.

Die Funktion "Main" ist das Kernstück eines jeden Projektes, hier sollten die wichtigsten Grundvariablen und auch der erste Level geladen werden.

## Besonderheiten

Bei dem Erstellen eines neuen Projektes wird eine Kopie der Vorlage in das Projektverzeichnis geschrieben. In dieser Kopie werden die Konstanten %WEDPATH% und %NAME% mit ihren Werten ersetzt.

%NAME% | Name des Levels, ohne Endung.
%WEDPATH% | Path zum 3D GameStudio Verzeichnis