[[http://www.siedler-games.de|{{:sg-link.jpg|}}]] ======Externe Editoren====== ===== Einführung ===== Die interne Scriptansicht im MapEditor eignet sich nur für kurze Änderungen an Texten o.ä., aber nicht um ein komplettes Missionsscript zu schreiben. Dies liegt an der schlechten Bedienbarkeit und den mangelnden Features des internen Editors. Daher sollte man sein Script, wie in [[Schnelles Testen]] beschrieben, exportieren und mit einem externen Editor bearbeiten. Der Vorteil von Entwicklungseditoren ist vor allem das [[wpde>Syntax-Highlighting]], d.h. wichtige Funktionen und Schlüsselbegriffe (if, then, function, end, for, ...) werden farbig hervorgehoben, was die Übersichtlichkeit erhöht. Von diesen Editoren gibt es sehr viele und die (Hobby-) Programmierer von euch haben da sicherlich schon ihre Favoriten. Im Folgenden werden zwei Editoren empfohlen. ===== B:Lua ===== [[http://sourceforge.net/project/showfiles.php?group_id=123273&package_id=150393&release_id=321929|B:Lua]] ist ein speziell für [[wpde>Lua]] entwickelter Editor. Er bietet den großen Vorteil, daß der Code in Echtzeit auf Syntaxfehler und beispielsweise falsch geschriebene Variablennamen überprüft wird ([[http://blua.sourceforge.net/blua2.jpg|Screenshot]]). Einsteiger, die häufig Probleme mit Syntaxfehlern haben, sollten zunächst diesen Editor verwenden. Später ist Notepad++ dann die bessere Wahl, da B:Lua seit einiger Zeit nichtmehr weiterentwickelt wird. \\ B:Lua befindet sich noch im [[wpde>Versionierung#Alpha-Version|Alpha Stadium]], ist also noch nicht 100% stabil. Daher sollte man bei der Benutzung gelegentlich mal STRG + S drücken (speichern). \\ Der verlinkte Download ist eine standalone Version. Runterladen, installieren, benutzen. Falls (und //nur// falls) die verlinkte Version zu instabil läuft, kann noch diese [[http://www.chromix.de/dedk/blua.rar|Alternativversion]] ausprobiert werden. Sie setzt allerdings eine korrekt installierte (und aktuelle) [[http://java.sun.com|Java]] Version voraus. ===== Notepad++ ===== [[http://notepad-plus.sourceforge.net/de/site.htm|Notepad++]] ist ein leicht zu bedienender, universeller Editor, der auf Deutsch erhältlich und für unsere Zwecke völlig ausreichend ist. [[http://sourceforge.net/project/showfiles.php?group_id=95717|Hier]] gehts direkt zur Downloadseite. Ansonsten ist die Oberfläche genau wie bei Word oder WordPad mit Speichern, Laden usw. Im Menü "Ansicht" könnt ihr noch ein wenig rumspielen und es euch so einrichten wie ihr es am liebsten habt. Die vielen anderen Funktionen braucht ihr nicht zu beachten. \\ Beim Öffnen einer ''.lua'' Datei, wird das Syntaxhighlighting automatisch aktiviert. Andernfalls unter "Sprache" in der Menüleiste "Lua" anklicken. Notepad++ wurde nicht speziell für Lua entwickelt. Es ist allerdings möglich, dies durch diverse Erweiterungen, zu verbessern. ==== Automatische Vervollständigung ==== Mit diesem hilfreichen Feature können Fehler vermeiden und die Arbeit erleichtert werden. Per Tastendruck (STRG + Leertaste) können diverse Schlüsselbegriffe automatisch vervollständigt werden, obwohl man nur die ersten paar Buchstaben davon geschrieben hat. Weiterhin ist es möglich, sich die Liste der verfügbaren Funktionen im Editor anzusehen. \\ Damit dies funktioniert, muss die Datei [[http://www.chromix.de/dedk/lua.api|lua.api]] in das bestehende Verzeichnis ''Plugins\APIs'' im Notepad++ Programmverzeichnis gespeichert werden. \\ Zum Ansehen gibt es ein [[http://www.chromix.de/dedk/AutoCompletion.zip|kurzes Demonstrationsvideo]]. ==== Variablencheck ==== Mit ein wenig Aufwand kann man einen Variablencheck in Notepad++ einbauen. Dadurch wird es möglich, das Script einfach per Tastendruck auf falsch geschriebene Variablen- und Funktionsnamen zu prüfen. Man braucht also nichtmehr das Spiel zu starten, und die Karte durchzuspielen, um diese Art von Fehlern zu finden. Es erleichtert die Fehlerfindung also enorm. \\ Damit es funktioniert, benötigt man mindestens Notepad++ Version 3.0, und muss einmalig dieser Einrichtungsprozedur folgen. - Die {{tutorials:externe_editoren_checkglobals.7z|gepackten Dateien}} herunterladen. - Die 3 im Archiv enthaltenen Dateien in das Notepad++ Programmverzeichnis entpacken. Es wird vom Standardverzeichnis ''C:\Programme\Notepad++'' ausgegangen. - Notepad++ starten und ein Lua Script öffnen. - Auf ''F5'' drücken. Die "Run..." beziehungsweise "Ausführen" Dialogbox erscheint. - Diese Zeile in die Eingabezeile kopieren: '' %% C:\Programme\Notepad++\lua.exe C:\Programme\Notepad++\checkglobals.lua "$(FULL_CURRENT_PATH)" %% '' - Auf "Save" beziehungsweise "Speichern" klicken. Ein neuer Dialog erscheint. - Bei //Name:// ''VarCheck'' angeben. - In der Auswahlbox rechts mitte ''F10'' auswählen. - Den Dialog mit OK beenden. - Den "Run..." / "Ausführen..." Dialog mit "Cancel" / "Abbrechen" verlassen. Die Einrichtung ist nun abgeschlossen. Zukünftig braucht nurnoch auf ''F10'' gedrückt werden, um den Check für die aktuelle Datei zu starten. **Wichtig**: Es wird nur die Datei auf der Festplatte geprüft, somit sollte man Änderungen zunächst speichern (STRG + S). \\ Nun einfach mal auf ''F10'' drücken. Wenn nichts passiert, enthält das Script entweder keine erkennbaren Fehler, oder etwas ist falsch eingestellt. In dem Fall einfach "foo = bar" in eine neue Zeile im Script schreiben. Diese Verwendung von eigentlich unbenutzen Variablen wird erkannt. Nun das Script mit STRG + S speichern, und F10 für den Variablencheck drücken. Jetzt sollte ein Fenster geöffnet werden in dem die Zeilennummer und die Art des Fehlers angezeigt werden. \\ //Hinweis//: Vor jedem Variablencheck wird automatisch auch ein Syntaxcheck durchgeführt. Den nachfolgenden Syntaxcheck braucht man sich nur einrichten, falls man öfter einen Syntaxcheck //ohne// gleichzeitigen Variablencheck durchführen möchte. ==== Syntaxcheck ==== Ein Syntaxcheck lässt sich, genau wie der Variablencheck, in Notepad++ integrieren. Dieses braucht man nur zu tun, wenn man den Variablencheck nicht nutzen möchte. Dadurch wird es möglich, das Script einfach per Tastendruck auf Syntaxfehler zu überprüfen. Man braucht also nichtmehr das Spiel starten, um diese Art von Fehlern zu finden. \\ Damit es funktioniert, benötigt man mindestens Notepad++ Version 3.0, und muss einmalig dieser Einrichtungsprozedur folgen. - Diese {{tutorials:externe_editoren_luacmod.7z|modifizierte LuaC Version}} herunterladen. - Die im Archiv enthaltene LuaC.exe in das Notepad++ Programmverzeichnis entpacken. Normalerweise ''C:\Programme\Notepad++''. - Notepad++ starten und ein Lua Script öffnen. - Auf ''F5'' drücken. Die "Run..." beziehungsweise "Ausführen" Dialogbox erscheint. - Diese Zeile in die Eingabezeile kopieren: '' %% C:\Programme\Notepad++\LuaCmod.exe -p "$(FULL_CURRENT_PATH)" %% '' - Auf "Save" beziehungsweise "Speichern" klicken. Ein neuer Dialog erscheint. - Bei //Name:// ''Syntaxcheck'' angeben. - In der Auswahlbox rechts mitte ''F9'' auswählen. - Den Dialog mit OK beenden. - Den "Run..." / "Ausführen..." Dialog mit "Cancel" / "Abbrechen" verlassen. Die Einrichtung ist nun abgeschlossen. Zukünftig braucht nurnoch auf ''F9'' gedrückt werden, um einen Syntaxcheck für die aktuelle Datei zu starten. **Wichtig**: Es wird nur die Datei auf der Festplatte geprüft, somit sollte man Änderungen zunächst speichern (STRG + S). \\ Nun einfach mal auf ''F9'' drücken. Wenn nichts passiert, enthält das Script entweder keine Syntaxfehler, oder etwas ist falsch eingestellt. In dem Fall einfach ein "a" in eine neue Zeile im Script schreiben. Dies ist dann ein Syntaxfehler. Nun das Script mit STRG + S speichern, und F9 für den Syntaxcheck drücken. Jetzt sollte ein Fenster geöffnet werden in dem die Zeilennummer und die Art des Fehlers angezeigt werden. ==== Funktionsliste ==== Mit einem speziellen Plugin kann der Editor alle erstellten Funktionen in einer Liste anzeigen. Das hilft dabei die Übersicht zu behalten und falsch oder doppelt geschriebene Namen schneller zu erkennen. \\ {{tutorials:notepadfunctionlist.png}} \\ Installation: - Das Functionlist Plugin [[http://notepad-plus.sourceforge.net/commun/pluginsBin/pluginFuncList.zip|herunterladen]]. - Die Datei in das Verzeichnis ''Plugins'' im Notepad++ Programmverzeichnis entpacken. - Notepad++ starten. - Das Plugin über das Menü aktivieren: ''Plugins'' -> ''Function List'' -> ''View List'' - Bei Bedarf die alphabetische Sortierung über das gleiche Menü aktivieren. Mit einem Klick auf einen Funktionsnamen springt man direkt zur Funktion. Wenn man per Cursor im Editor in eine Funktion bewegt, springt der Balken in der Funktionsliste automatisch auf diese Funktion. \\ \\ [[:tutorials:index|Zurück zur Tutorial-Übersicht]]