Alles, was innerhalb einer einzigen eckigen Klammer steht, wird als eine Bedingung angesehen. Möchtest du aber innerhalb eines Makros verschiedene, unabhängige Bedingungen haben, dann musst du diese auch in jeweils eigene Klammern setzen.
Diese werden dann dann von links nach rechts und von oben nach unten abgearbeitet, bis die Bedingungen in einer der Klammern komplett zutreffen und die dazugehörige Fähigkeit wird dann ausgeführt.
Als Beispiel anhand der ersten Zeile deines Makros:
/cast [@mouseover, help,target=noexists,@player,nomod]Flash Heal(Rank 4);
-
@mouseover
: Wirke auf das Mouseover
-
help
: Ziel ist freundlich
-
target=noexists
: “target=” entspricht dem “@”, d.h. Wirke auf Einheit namens “noexists”
-
@player
: Wirke auf den Spieler
-
nomod
: Kein Modifier gedrückt
Zusammengefasst versucht das Makro also einen Flash Heal Rang 4 gleichzeitig auf dein Mouseover, die Einheit “noexists” und den Spieler zu wirken, wenn diese freundlich sind und kein Modifier gedrückt ist.
Das kann natürlich nicht funktionieren, da das Makro nicht weiß, welches Ziel du jetzt überhaupt haben willst - bzw. scheint dann ausschließlich die letzte Zielvorgabe (d.h. @player
) zu akzeptieren und die anderen zu ignorieren.
Funktionsfähig könnte diese Zeile bspw. so aussehen:
/cast [@mouseover, help, nomod] [help, nomod] [@player, nomod] Flash Heal(Rank 4)
- Das Makro würde also Flash Heal Rang 4 auf das Mouseover wirken, wenn dieses freundlich ist und kein Modifier gedrückt ist (erste Klammer).
- Ansonsten (zweite Klammer) würde Flash Heal Rang 4 auf das Ziel gewirkt (Standardverhalten der Fähigkeit, daher keine spezifische Zielvorgabe nötig), wenn dieses freundlich ist und kein Modifier gedrückt ist.
- Ansonsten (dritte Klammer) würde Flash Heal Rang 4 auf den Spieler gewirkt werden, wenn kein Modifier gedrückt ist.
Auch sind im Makro nicht zwingend alle Bedingungen nötig, da die Klammern ja nur dann erreicht werden, wenn die vorherige(n) nicht zutreffen. Damit könntest du bspw. zuerst den Modifier abfragen und bei späteren Klammern diese Abfrage weg lassen, da das Makro sowieso nur bei diesen Klammern ankommen kann, wenn der spezifische Modifier nicht gedrückt ist.
Du könntest dann entweder alle Bedingungen in einem /cast
-Befehl zusammenfassen oder das für bessere Übersichtlichkeit auf zwei Zeilen aufteilen.
Von der Funktionalität ist das dann identisch:
/cast [@mouseover, help, mod:shift] [help, mod:shift] [@player, mod:shift] Flash Heal(Rank 7); [@mouseover, help] [help] [@player] Flash Heal(Rank 4)
/cast [@mouseover, help, mod:shift] [help, mod:shift] [@player, mod:shift] Flash Heal(Rank 7)
/cast [@mouseover, help] [help] [@player] Flash Heal(Rank 4)
- Wirke Flash Heal Rang 7 auf das Mouseover, wenn dieses freundlich ist und Umschalt gedrückt ist (Klammer 1).
- Ansonsten, wirke Flash Heal Rang 7 auf das Ziel (Standardverhalten der Fähigkeit), wenn dieses freundlich ist und Umschalt gedrückt ist (Klammer 2).
- Ansonsten, wirke Flash Heal Rang 7 auf den Spieler, wenn Umschalt gedrückt ist (Klammer 3).
- Ansonsten, wirke Flash Heal Rang 4 auf das Mouseover, wenn dieses freundlich ist (Klammer 4).
- Ansonsten, wirke Flash Heal Rang 4 auf das Ziel (Standardverhalten der Fähigkeit), wenn dieses freundlich ist (Klammer 5).
- Ansonsten, wirke Flash Heal Rang 4 auf den Spieler (Klammer 6).