Makrofrage

Hey,

Ich hätte gerne ein mouseover Makro für Schildhieb/Zuschlagen aber irgendwie macht er kein Zuschlag und sagt immer das kein Schild angelegt sei. Kann mir jemand helfen?

hier mein Makro
/wirken [target=mouseover,exists] [stance:1/2] Schildhieb; [stance:1/3] Zuschlagen;

Ich kann das nicht testen aber ich würde das irgendwie so probieren:

/use [@mouseover][stance:1] Schildhieb
/use [@mouseover][stance:2] Schildhieb
/use [@mouseover][stance:3] Zuschlagen

Mag sein, dass das eleganter geht aber so dürfte es eigentlich funktionieren, denke ich.

Beide Makros sind nicht funktionsfähig, da ein wichtiger Punkt nicht beachtet wurde: Jede eckige Klammer wird unabhängig von den anderen Klammern von links nach rechts abgearbeitet. Wenn man mehrere Bedingungen kombinieren will, dann müssen diese innerhalb der gleichen eckigen Klammer stehen.


/wirken [target=mouseover,exists] [stance:1/2] Schildhieb; [stance:1/3] Zuschlagen;

Das Makro versucht bspw. folgendes zu machen:

  • Wenn ein Mouseover vorhanden ist, wirke Schildhieb auf dieses
  • Ansonsten, wenn in Haltung 1 oder 2, wirke Schildhieb
  • Ansonsten, wenn in Haltung 1 oder 3, wirke Zuschlagen

Ist ein Mouseover vorhanden, nutzt das Makro also immer Schildhieb auf dieses, egal ob dieses feindlich ist oder in welcher Haltung du dich befindest. Nur wenn kein Mouseover existiert, geht das Makro überhaupt weiter und versucht, die Haltungen zu überprüfen.
Die Bedingung für Zuschlagen ist auch nicht ganz passend, da man dieses nur in Berserkerhaltung nutzen kann, du aber sowohl die Kampf- als auch die Berserkerhaltung als gültig angegeben hast.

/use [@mouseover][stance:1] Schildhieb
/use [@mouseover][stance:2] Schildhieb
/use [@mouseover][stance:3] Zuschlagen

In diesem Makro ist das ganze sogar noch extremer, da nicht einmal geprüft wird, ob überhaupt ein Mouseover existiert. Das Makro würde durch die erste Klammer einfach immer versuchen, Schildhieb auf das Mouseover zu wirken und die anderen 5 Klammern niemals erreichen können - es würde also bspw. niemals die Haltung überprüft werden.


Alles in einem könnte man das bspw. so kombinieren:

/cast [@mouseover,harm,stance:1/2] [stance:1/2] Schildhieb; [@mouseover,harm] [] Zuschlagen

Würde folgendes machen:

  • Mouseover ist feindlich und Kampf- oder Defensivhaltung -> Schildhieb auf das Mouseover
  • Kein Mouseover, aber Kampf- oder Defensivhaltung -> Schildhieb
  • Mouseover ist feindlich, aber keine Kampf- oder Defensivhaltung -> Zuschlagen
  • Ansonsten (d.h. kein Mouseover und keine Kampf- oder Defensivhaltung) -> Zuschlagen

Das Makro prüft dabei aber natürlich nicht, ob du einen Schild angelegt hast und würde daher ohne Schild in Kampf- oder Defensivhaltung weiterhin die Fehlermeldung auswerfen, dass kein Schild angelegt ist.
Da die beiden Fähigkeiten aber sowieso exklusiv sind (Schildhieb in Kampf- und Defensivhaltung und Zuschlagen in Berserkerhaltung) ist das Makro so aber durchaus nutzbar.

4 Likes

Hm … das hat tatsächlich geholfen, dass ich diese merkwürdige Syntax von Makros nun besser verstehe. Danke :slight_smile:

Edit: ich glaube die leere Bedingung verstehe ich nun doch, nach ein bisschen drüber nachdenken.

Auch wenn dem TE schon geholfen ist, hätte ich noch eine Frage:
Würden diese beiden hier auch so funktionieren?

/cast [@mouseover,harm,stance:1/2] Schildhieb
/cast [@mouseover,harm,stance:3] Zuschlagen
/cast [stance:1/2] Schildhieb
/cast [stance:3] Zuschlagen
/cast [@mouseover,harm,stance:1/2][stance:1/2] Schildhieb
/cast [@mouseover,harm,stance:3][stance:3] Zuschlagen

Ja, beide Makros würden genauso funktionieren, da man verschiedene Bedingungen grundsätzlich auf verschiedene Zeilen aufteilen kann. Solange man sämtliche Möglichkeiten beachtet, macht das keinen Unterschied - und ist etwas besser lesbar, wenn man sich damit nicht so gut auskennt.

Im Endeffekt dürfte das wahrscheinlich minimalst ineffizienter sein, weil man damit mehrere “unabhängige” Befehle an den Server schickt, aber das ist in der Praxis irrelevant und - wenn überhaupt - nur rein theoretisch interessant.


In den Makros könntest du auch noch die Haltungsabfragen für die Berserkerhaltung weg lassen, da ja sowieso nichts anderes mehr passieren kann: Wenn ein Krieger nicht in Kampf- oder Defensivhaltung ist, kann dieser nur in der Berserkerhaltung sein.
Eine andere Alternative gibt es ja nicht, weshalb man diese nicht mehr eigens abfragen muss, da alles andere bereits ausgeschlossen ist. :wink:

1 Like

Jup, sehr gut. Da hab ich wieder was gelernt, nochmals vielen Dank.

Ich würde die Berserkerhaltung in dem Fall einfach der Übersichtlichkeit halber trotzdem abfragen. Ist aber rein subjektiv, ich finde die Makro-Syntax generell nicht so leserlich.

Edit: da du es erwähnst aber noch eine Frage: werden die Conditions tatsächlich Serverseitig evaluiert? Wenn nicht, dürfte doch eigentlich auch nur der Befehl an den Server gesendet werden, der durch die Conditions nicht ausgeschlossen wird, oder? Makros werden afaik doch eh nicht weiter ausgeführt, sobald der global Cooldown getriggert wurde, oder? Wie du schon sagst, spielt eigentlich keine Rolle und ist nur theoretisch interessant, aber neugierig bin ich da schon :slight_smile:

1 Like

Hey, hier is richtig was los. Danke für eure Hilfe, hab ich wieder was gelernt, bin nur ein leihe was Makros angeht und spiele da grade ein wenig rum. Danke für die schnelle Hilfe. schönen Tag euch noch :slight_smile:

Stimmt das? In welcher Haltung ist man, wenn man tot war? ==> PvP Battleground passiert das oft… glaube da hat man „nostance“… bin aber nicht sicher.

Ich hab seit Vanilla keinen Krieger mehr gespielt aber ich glaube nostance kann er nicht haben. Mag mich aber auch irren.

1 Like

Krieger ist immer in einer der 3 Haltungen.
Nach Wiederbelebung ist er weiterhin in der, die er vor dem Tod hatte.

1 Like

Danke. Da täuschte meine Erinnerung…

laie. sry, konnt nicht anders…

1 Like

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