[Classic] Mouseover mit Spellranks

Hallo zusammen,
ich versuche aktuell mir ein Makro zusammenzubauen, mit dem ich per Mouseover und Modulator heilen kann.

Das ganze soll so funktionieren dass ich ohne Mod, Shift oder STRG verschiedene Ranks benutzen kann.
Geheilt werden soll das Mouseover Target > Target > Ich

Kenne mich mit Makros leider nicht so gut aus, hoffe einer von euch kann mir helfen.

Aktuell habe ich für z.b. Flash Heal folgendes:
/cast [@mouseover, help,target=noexists,@player,nomod]Flash Heal(Rank 4);
/cast [@mouseover, help,target=noexists,@player,mod:shift]Flash Heal(Rank 7);

Das funktioniert leider garnicht, bzw healt immer nur mich.
Habs auch mal ein bisschen umgeschrieben aber dann funktioniert zwar das Mouseover aber die Target Reihenfolge nicht mehr.

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)
  1. 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).
  2. 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.
  3. 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)
  1. Wirke Flash Heal Rang 7 auf das Mouseover, wenn dieses freundlich ist und Umschalt gedrückt ist (Klammer 1).
  2. Ansonsten, wirke Flash Heal Rang 7 auf das Ziel (Standardverhalten der Fähigkeit), wenn dieses freundlich ist und Umschalt gedrückt ist (Klammer 2).
  3. Ansonsten, wirke Flash Heal Rang 7 auf den Spieler, wenn Umschalt gedrückt ist (Klammer 3).
  4. Ansonsten, wirke Flash Heal Rang 4 auf das Mouseover, wenn dieses freundlich ist (Klammer 4).
  5. Ansonsten, wirke Flash Heal Rang 4 auf das Ziel (Standardverhalten der Fähigkeit), wenn dieses freundlich ist (Klammer 5).
  6. Ansonsten, wirke Flash Heal Rang 4 auf den Spieler (Klammer 6).
4 Likes

Wow, ich werde das sofort testen.
Du bist mein Held, vielen Dank !!!
Und danke für die ausführliche Erklärung sodass ich es selbst lerne.

Es funktioniert, danke!

Eine Frage hätte ich noch:
Wenn ich einen Spell mit Shift caste, erhalte ich immer die Fehlermeldung: Spell is not ready now + Voiceline.

Kann man das irgendwie umgehen?

Hmm, das sollte eigentlich nicht passieren - aber eventuell arbeitet Classic ein wenig anders, da manches vom Interface ja wieder auf den Stand von Vanilla geändert wurde.

Welche Version des Makros nutzt du denn, die mit einem /cast-Befehl oder die mit zweien?

1 Like

Gut nevermind. Hatte das mit zweien genommen.

Hab jetzt auf das einzel Makro umgestellt und es funktioniert.

Vielen lieben Dank!

Dieses Thema wurde automatisch 180 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.