• Level: Anfänger
  • Tools: Texteditor
  • Zeitaufwand: ca 30 min

Hello World!

Zu fast allen Programmiersprachen existieren “Hello World!” Beispiele. Sie dienen dazu, die Syntax und den grundlegenden Aufbau einer Programmiersprache kennenzulernen. In diesem Beispiel erstellen wir ein einfaches “Hello World!” Addon für WoW, das wenn es geladen wird den Text “Hello World!” in dem Standardchatfenster ausgibt. Auch in unserem Beispiel dient dieses einfache Addon dazu, den grundlegen Aufbau und grundlegende Abläufe eines Addons kennen zu lernen. Dazu gehen wir zunächst auf die benötigte Ordnerstruktur ein. In dem zweiten Teil des Beispiels werden die verschiedenen Dateitypen vorgestellt, und die grundlegenden Abläufe beim Laden eines Addons diskutiert.

Um dieses Beispiel durchzuarbeiten benötigt Ihr und etwa 30 Minuten Zeit und einen beliebigen Texteditor.

Ordnerstruktur

Zunächst erzeugen wir in unserem WoW Installationsverzeichnis die benötigte Ordnerstruktur. Dazu erstellt Ihr ein Unterverzeichnis mit dem Namen “Interface/Addons”. Wenn Ihr bereits Addons benutzt habt, sollte das Verzeichnis bereits existieren.
In dem Unterverzeichnis “Interface/Addons” erstellen wir nun ein Verzeichnis für unser AddOn. Hier sind bereits einige Konventionen einzuhalten. Das Verzeichnis, das die Dateien des AddOns enthält, muss genauso wie die TOC Datei heißen. Ansonsten erkennt WoW das AddOn nicht korrekt , und das Addon wird beim Starten von WoW nicht geladen. In unserem Fall soll das AddOn “HelloWorld” heißen. Wir erzeugen daher in dem Verzeichnis “Interface/Addons” ein neues Verzeichnis mit dem Namen “HelloWorld”.

Dateien

Für unser AddOn benötigen wir drei unterschiedliche Dateien:

  • HelloWorld.toc
  • HelloWorld.xml
  • HelloWorld.lua

TOC Datei

Bereits an der Dateiendung – TOC ist eine Abkürzung für “Table Of Contents”, was im Deutschen so viel wie Inhaltsverzeichnis bedeutet – lässt sich erahnen, daß diese Datei allgemeine Informationen zu dem Addon enthält.

Dazu öffnen wir den Texteditor und erzeugen eine leere Datei. In diese fügen wir folgenden Inhalt ein (die Zeilennummern sind nur zur besseren Orientierung und dürfen nicht mit in die Datei eingefügt werden).

  1. ## Interface: 10900
  2. ## Title: HelloWorld
  3. ## Notes: Das HelloWorld Addon ist ein einfaches AddOn, das den grundlegenden Aufbau von Addons zeigen soll.
  4. ## Version: 1.0
  5. HelloWorld.xml

Zeilen, die Informationen zu einem AddOn enthalten, haben einen speziellen Aufbau. Diese Zeilen werden zunächst durch ein doppeltes Rautenzeichen (##) eingeleitet. Nach diesen Zeichen wird der Schlüssel angegeben, getrennt vom Wert des Schlüssels durch einen Doppelpunkt. Die Schlüssel dienen dazu, die Angabe der Informationen zu sortieren und zu trennen.

Im obigen Listing wird in Zeile 1 dem Schlüssel “Interface” der Wert 10900 zugewiesen. Diese Information teilt WoW mit, daß das AddOn für die WoW-Version 1.9.x erstellt wurde, und mit diesen Versionen kompatibel ist. Ausserdem geben wir den Titel, sowie eine kurze Beschreibung zum AddOn an.

In der letzen Zeile der TOC-Datei geben wir an, welche Dateien für das AddOn geladen werden sollen. Hier können entweder XML oder auch direkt LUA-Dateien referenziert werden. In unserem speziellen Fall wird WoW die Datei “HelloWorld.xml” aus dem selben Verzeichnis laden.

Welche weiteren Informationen Ihr in der TOC Datei angeben könnt, könnt Ihr in dem Artikel “Die TOC-Datei” nachlesen.

XML Datei

Weiterhin benötigen wir für unser AddOn eine XML-Datei. XML ist eine einfache Sprache zur Beschreibung von Daten. HTML-Dateien sind den XML-Dateien sehr ähnlich mit dem Unterschied, das in XML die Elemente frei definierbar sind. Elemente bestehen in XML aus ein oder zwei Tags (Start- und EndTag oder nur einem SingleTag, das am Ende explizit geschlossen wird). Tags können Attribute haben, denen ein Wert zugewiesen wird, z.B a href=”http://www.worldofwar.de” um bei HTML zu bleiben. Das Tag a hat also das Attribut href dem der Wert http://www.worldofwar.de zugewiesen wurde.

In den XML Dateien werden Elemente des Addons definiert, sowie die Reaktionen der Elemente auf bestimme Ereignisse festgelegt. Die Elemente haben unterschiedliche Aufgaben und sind daher meist nur für bestimmte Zwecke zu verwenden. Wer mehr darüber erfahren will, kann sich hier umschauen.

Wir erzeugen also mit dem Texteditor eine neue Datei und fügen den folgenden Inhalt in die Datei ein. Abschliessend speichern wir die Datei unter dem Name “HelloWorld.xml”.

  1. Skript-Sektion