Spieler:Brokkoli/ScriptingAnfängerkurs
Aus STNE-Wiki
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | Hilfen zum Arbeiten im Wiki |
Inhaltsverzeichnis |
Vorwort
Eine Besonderheit von STNE ist, dass man durch Scripts die meisten Aktionen automatisieren kann und sogar das Spiel mit eigenen Seiten erweitern kann.
Dieser Kurs richtet sich vor allem an diejenigen, die zuvor noch nie mit Programmierung zu tun hatten und trotzdem gerne Scripts für STNE schreiben würden. Die sollen hier auf möglichst einfache Weise einen Einstieg finden. Aber bitte erwartet keine Wunder, niemand der keine Ahnung vom Programieren hat, kann dies über Nacht lernen. Daher ist insbesondere eine Sache von enormer Wichtigkeit: Geduld – denn nur wer mit Geduld die Sachen angeht wird letzten Endes mit einem funktionieren Script belohnt. Wer die schnellen Erfolge sucht, der sollte es gleich lassen. Wir wünschen allen viel Spaß und gutes Gelingen.
Grundlagen
Um mit dieser Anleitung zu beginnen solltest du erstmal ein neues Script erstellen. Wähle als Scripttyp "Benutzerdefiniertes Script ohne Eingabeassistent". (Was ein "Web-Script" ist wird in einer weiteren Anleitung behandelt.) Nun bist du in der Quelltextansicht, die allerdings noch nichts anzeigt - Du hast ja noch kein Script eingegeben. Gehe nun auf "Quelltext bearbeiten" um dein erstes Script zu programmieren.
Scripts in STNE bestehen aus einer Datei die grundsätzlich zeilenweise abgearbeitet wird. In jeder Zeile kann eine Anweisung oder auch ein Kommentar stehen. Wobei Kommentare nur zur Erklärung dienen und keinen Einfluss auf das Script haben.
Hello World
Wir beginnen den Ausflug in die Programmierwelt mit einem klassischen Bespiel. Dem "Hello World"-Script. Das einzige was dieses Script macht ist "Hello World" in die Ausgabe zu schreiben.
Gib folgendes im Scripteditor ein und klicke danach auch "Speichern & ausführen":
WriteLine('Hello World');
Nun solltest du die folgende Ausgabe sehen:
Script gestartet. Hello World Script beendet.
Klicke nun auf "Quelltext" um zum Scripteditor zurückzukehren.
Was tut dieses Script?
Das Script besteht, wie man leicht sieht, aus nur einer Zeile mit einer Anweisung. Die Anweisung ist hier ein Aufruf der Funktion WriteLine (Was genau ein Funktionsaufruf ist, wird später erklärt). Dieser Funktion wird in runden Klammern mitgegeben, welcher Text ausgegeben werden soll. In diesem Fall handelt es sich um eine benutzerdefinierte Zeichenfolge (Genauer: Ein "String" - Dies wird auch später erklärt). Benutzerdefinierte Zeichenfolgen stehen immer in Anführungszeichen.
Kommentare
Nun verändere das Script dass es wie folgt aussieht:
//"Hello World" ausgeben WriteLine('Hello World');
Wenn du dieses ausführst, passiert... genau das gleiche wie zuvor. Die neue Zeile die mit "//" beginnt ist nämlich ein Kommentar.
Was ist ein Kommentar?
Kommentare werden nicht ausgeführt und haben daher keinen Einfluss auf das Verhalten des Scriptes. Also wozu das ganze?
Bei grösseren Scripts kann man schnell die Übersicht verlieren was eigentlich geschieht. Daher ist es sehr sinnvoll mit Kommentaren zu beschreiben was man mit dem Script oder Scriptteil beabsichtigt. Kommentare sollten sehr ausfürlich verwendet werden - insbesondere wenn du das Script an andere weitergeben willst, die das Script auch verstehen sollen.
Es gibt 2 Arten von Kommentaren: Einzeilige und mehrzeilige.
Mit "//" beinnt ein einziliger Kommentar. Du kannst also bis zum Ende der Zeile belibigen Text schreiben, der nicht ausgeführt werden soll.
Eine andere Möglichkeit ist der mehrzeilige Kommentar. Dieser beginnt mit "/*" und endet mit "*/". Das Ende des Kommentares kann belibig weit vom Anfang entfernt sein. Es eignet sich also besonders für längere Texte, allerdings kann das Endezeichen "*/" auch in der gleichen Zeile wie der Start stehen - Dann ist es in wirklichkeit doch ein einzeiliger Kommentar.
Beispiel:
/* Hello World Beispiel Dieses Script gibt "Hello World" aus und tut sonst garnichts. Es soll nur die Verwendung von mehrzeiligen Kommentaren erklären. */ WriteLine('Hello World');