====== Aufsetzen der Umgebung und Debugtools ======
**Richte deine Entwicklungsumgebung richtig ein, für effizienteres und effektiveres Arbeiten!**\\
Folgende Optionen sind möglich um das Coden für Siedler stark zu vereinfachen:
- Visual Studio Code installieren und einrichten
- Skripte extern laden
- Eine Funktionsreferenz mit den Parametern der Lua-API
- Das Debugscript aktivieren
- Den LuaDebugger verwenden
----
===== Schritt 1: Visual Studio Code installieren und einrichten =====
* **Features**:
* Hervorhebung der Syntax und schnelle Fehlererkennung.
__Herunterladen und installieren:__\\
https://code.visualstudio.com/download
* **Schritte**:
* Visual Studio Code starten
* Ganz Links den Button für Erweiterungen anklicken
* Nach **Lua** suchen und das erste Ergebnis **Lua Language Server coded by Lua** von sumneko installieren.
* Siehe auch die Anleitung von mcb dazu: https://github.com/mcb5637/s5CommunityLib/blob/master/VSCodeSetup.md
----
===== Schritt 2: Ein Ordner für externe Skripte =====
* **Features**:
* Externe Skripte können bearbeitet werden ohne das Spiel neuzustarten.
* **Schritte**:
* Navigiere in dein Siedler Mapverzeichnis *../extra2/shr/maps/user/*
* Erstelle einen Ordner namens **scripts**.
* Neue Skripte erstellst du hier als myscript.lua Datei. Beliebiger Name wählbar.
* Öffne den Skripteditor im Mapeditor und füge als einzige Zeile ein:
Script.Load("maps\\user\\scripts\\myscript.lua")
* Der Dateiname im Pfad muss zur angelegten .lua passen.
----
===== Schritt 3: Funktionsreferenz: Parameter der Lua-API =====
* **Features**:
* Zeigt dir die richtigen Parameter zu jeder Lua-API Funktion.
* **Schritte**:
* Herunterladen: https://github.com/mcb5637/s5LuaReference
* Die .zip-Datei entpacken und in **../extra2/shr/maps/user/scripts/** entpacken.
* Den Ordner **../extra2/shr/maps/user/scripts/** in Visual Studio Code öffnen.. API Funktionen sollten dann erkannt werden.
----
===== Schritt 4: Das debugscript aktivieren =====
* **Features**:
* Typische Fehler im Skript wie fehlende Zeichen oder Aufrufen nicht existenter Funktionen (gennant Syntaxfehler) werden sofort als gemeldet.
* **Schritte**:
* Um das Debug-Script zu aktivieren, muss -debugscript
als Kommandozeilenparameter an Siedler beim Start übergeben werden.
* __Möglichkeit 1__: Wenn eine Verknüpfung für Siedler auf dem Desktop vorhanden ist:
* Rechtsklick -> Eigenschaften -> In der Zeile hinter **Ziel:** ganz nach rechts und hinter **..settlershok.exe"** -debugscript anfügen und mit OK beenden.
* Wichtig ist ein Leerzeichen zwischen -debugscript und dem "-Zeichen: ..settlershok.exe" -debugscript
* __Möglichkeit 2__: Im MPUpdater von Kimichura kann per Häckchen das Debug-Script aktiviert werden.
===== Schritt 5: Den LuaDebugger verwenden =====
* **Features**:
* Ermöglicht das interaktive debuggen von Skripten, mittel break points, anzeigen aktueller Variablenbelegungen, etc.
* **Schritte**:
* Die Debugger dll herunterladen: https://github.com/mcb5637/SettlersLuaDebugger/releases/download/v0.5.9/DebugS5.zip
* (Falls Link nicht verfügbar, neueste Releases hier: https://github.com/mcb5637/SettlersLuaDebugger/releases )
* .zip entpacken und LuaDebugger.dll im Siedlerverzeichnis neben jede **settlershok.exe** legen. Das sind die Pfade:
* **/bin**
* **/extra1/bin**
* **/extra2/bin**