Loginstatus: Nicht eingeloggt · Einloggen

Algemeine Infos zu Makros

AutorNachricht
Veröffentlich am: 23.03.2011, 10:31 Uhr
Die Syntax eines Makros

Es gibt zwei Arten ein Makro zu schreiben. Zum einen die Verwendung von sogenannten Slashkommandos, welche wir in einer seperaten Seite aufgelistet haben. Und zum anderen die Nutzung von API-Funktionen. Für die meisten Spieler wird die erste Variante die deutlich Einfachere sein. Ausserdem werden mit dem Addon The Burning Crusade auch die Fähigkeiten der Slashkommandos stark erweitert. Dies gilt auch für den normalen WoW-Client allerdings erst mit Patch 2.0.

Für die Arbeit mit den API-Funktionen ist es notwendig vor dem eigentlichen Befehlscode das Slashkommando /script bzw /run zu schreiben. Beide dienen dem Spiel zu erkennen, dass nachfolgender Code als Skriptsprache zu behandeln ist und nicht als die üblichen Slashkommandos und ihre zusätzlichen Angaben. Wer mehr über die Möglichkeiten der API erfahren will, sollte sich auf den Seiten der Skript-Sektion mal umschauen.

Deutlich einfacher und, durch die Änderungen mit Version 2.0, der Skriptsprache ebenbürtige Möglichkeit sind die Slashbefehle und ihre spezielle Syntax. Konnte früher nur das Slashkommando mit einem notwendigen Zusatz für die Ausgabe/Ausführung verwendet werden, ist es nun bei einigen Slashbefehlen möglich, mittels bestimmter Optionsangaben, Bedingungen an die Kommandos zu binden. Blizzard hat dazu eine spezielle Syntax vorgegeben, welche es dem Spieler ermöglichen soll, seiner Vorstellung eines Makros auf einfachsten Wegen nachzukommen.

Die Syntax lautet im Allgemeinen wie folgt:
/Kommando [Optionen 1] Befehl1; [Optionen 2] Befehl 2; …;[Optionen N] Befehl N


Wie man sehen kann, besitzt jeder Befehl die Möglichkeit für bestimmte Optionen. Hierbei werden die Optionen in eckigen Klammern gesetzt und jede Option mittels eines Kommas von der nachfolgenden Option getrennt. Optionen und Befehl bilden eine Einheit und werden durch ein Semikolon nach dem Befehl von der nachfolgenden Einheit getrennt.

Das dies alles recht theoretisch ist, soll hier ein Beispiel herangezogen werden. In unserem Fall nehmen wir das üblicherweise gebräuchle Slashkommando /cast. Das Slashkommando wurde früher nur mit dem Namen des Zauberspruchs bzw der Tätigkeit versehen die ausgeführt werden soll und, falls nötig, mit dem Rang.
/cast Eisbolzen
/cast Feuerball(Rang 3)


Diese Befehle funktionieren auch weiterhin. Allerdings ist es nun bei vielen Slashbefehlen möglich durch Optionen, die Ausführung der Befehle zu steuern. Im folgenden Beispiel wollen wir das gegebene Makro so verändern, dass bei einem Linksklick der Eisbolzen ausgeführt wird und der Feuerball nur, wenn die rechte Maustaste gedrückt wurde. In beiden Fällen muss das Ziel feindlich sein.
/cast [harm, button:1] Eisbolzen; [harm, button:2] Feuerball


Wie man sieht, ist zum Einen nur noch eine Zeile notwendig und zum Anderen ist die Steuerung der Ausführung durch die Optionen deutlich besser geworden. Welche Optionen es alles gibt haben wir auf der seperat aufgelistet.
Folgende Slashkommandos können Optionen besitzen:
cast*, /use*, /cancelaura, /changeactionbar, /equip, /target, /focus, /assist, /targetenemy, /targetfriend, /targetparty, /targetraid


Tipps und Hinweise

* Grundsätzlich können in Makros alle Slash-Kommandos, also alle Kommandos, die mit “/” beginnen verwendet werden ( /assist, /say, /greet, etc…). Für eine detaillierte Übersicht aller Slash-Kommandos, die ihr in Makros verwenden dürft, schaut einfach in unserer Referenz nach.

* Alle Makros dürfen eine maximale Anzahl von 255 Zeichen besitzen.

* Als Platzhalter für das gerade angewählte Ziel kann die Wildcard %t eingesetzt werden.

Beispiel 1: ” /say ich greife jetzt %t an” lässt deinen Charakter im öffentlichen Chat eine Meldung schreiben, welches Ziel du gerade gewillt bist anzugreifen — nämlich das, was du gerade ausgewählt hast.

Beispiel 2: ” /assist %t” lässt deinen Charakter das Monster angreifen, das derjenige gerade angreift, den du zuvor mit einem Mausklick ausgewählt hast (z.B. aus deiner Party).

* Ein besonderes Kommando ist das Kommando /cast . Dieses funktioniert nur in Makros. Der gesamte Befehl lautet /cast Zaubername(Rang Rang des Zaubers).
Beispiel: /cast Erdschock(Rang 4).

Tipp 1:
Wer hierbei schreibfaul ist, kann einen kleinen, aber nützlichen Trick anwenden:

Öffnet den Makro Editor sowie das Fertigkeitenbuch. Klickt nun das entsprechende Makro-Icon an und dann in das Kommandofenster. Sucht Euch nun den Zauber raus, den ihr in das Makro einbauen wollt und linksklickt auf das Symbol des Zaubers im Fertigkeitenbuch während ihr die Shift-Taste haltet. Der entsprechende /cast Befehl wird nun automatisch in das Kommandofenster des Makros übernommen. (Anm: Dies funktioniert nur aus dem Fertigkeitenbuch heraus und nicht mit einem Shiftklick auf einen Zauber in der Aktionsleiste.)

Tipp 2:
Lässt man die Angabe des Ranges weg, dann wird automatisch der höchste dem Spieler bekannte Rang verwendet, der auf das Ziel des Spruches angewendet werden kann.

* Makros bekommen dieselbe Abklingzeit wie der erste im Makro verwendete Zauberspruch. Kommt im Makro kein Zauberspruch vor, so hat das Makro keine künstliche Abklingzeit.

Tipp 1:
Man kann sich eine bestimmte Abklingzeit in ein Makro “hinein schummeln”, indem man den Zauberspruch mittels der Kommentarzeichen (das ist — ) für den Makro Interpreter auskommentiert.

Beispiel: /script -- CastSpellByName("Erdschock(Rang 4)");. Dies führt dazu, dass das Makro die Abklingzeit dieses Zauberspruches bekommt, aber der Zauber selber nicht gewirkt wird.

Tipp 2:
Man kann den Abklingzeiteffekt beim Makro auch ausschalten, indem man dem Makro folgende erste Zeile hinzufügt: /script -- CastSpellByName("");

Hinweise:

Tipp 1
kann nicht dazu benutzt werden, eine künstliche Verzögerung in die Ausführung der einzelnen Makrobefehle einzuschleusen. Der Interpreter wartet die Abklingzeit des Zauberspruches nicht ab, sondern versucht sofort die nächsten Zeilen auszuführen. Somit ist ein “Aktion1 – Warten – Aktion2″ Prozedere ausgeschlossen.

Tipp 2
ermöglicht es natürlich nicht, die Abklingzeit der Zaubersprüche zu “umgehen”. Man sieht lediglich nicht mehr am Makro Symbol, wann der im Makro verwendete Zauberspruch wieder einsatzbereit ist.

* Hinweis: Makros benutzt ihr auf eigene Verantwortung . Zwar kann man nicht viel falsch machen, aber man könnte z.B. ein Item verlieren wenn man unachtsam mit bestimmten /script Befehlsfolgen hantiert.

* Man sollte bei der Skript-Erstellung möglichst das Symbol Fragezeichen auswählen. Dieses Bewirkt, dass nach Schließen des Makrofensters dem Makro automatisch das Symbol der Zaubers o. ä. zugewiesen wird. Um auch noch die Beschreibung des Zaubers zu erhalten kann man den Makro auch den Befehl #Show Tooltip bzw. #Show Tooltip Zaubername (funktioniert auch bei Angreifen) voranstellen. Dies macht auch bei Makros mit zwei Zaubern Sinn, da das Symbol des Tolltips als Makrosymbol verwendet wird. So spart man sich die händische Suche nach Symbolen zumindest bei Makros für Standardzauber.
Ein kluger mann hat einmal gesagt: Anlauf statt Gleitcreme!