Macros, erhoffte Hilfe beim Tanken

Hi Löwi,

das Ändern der Reihenfolge sowie nur den Teil in Richtung Battle Stance oder in Richtung Berserker Stance in dem Macro führt zu dem gleichen Ergebnis:

  • 2x drücken für Charge, wenn man nicht im Kampf ist
  • 1x für Intercept, wenn man im Kampf ist.

Ich glaube auch, dass es grundlegend eine Störung in der Abarbeitung der Makros gibt.

Nun aber mal aus Neugier:
Warum geht das bei Fury-Prots nicht?

Und wo ist der Unterschied von /use zu /cast? Ich dachte, /use ist für das Benutzen von Items in einem der Slots 0 - 13?

Viele Grüße,
Pres

Also klar der Charge geht, der Teil mit dem Abfangen testen ist etwas umständlich (da keine Wut vorhanden beim Wechsel in die Bersi Stance). Das wrikt dann nicht so eindrucksvoll wenn da steht „Nicht genug Wut.“ :slight_smile: Ich hab das Makro auch mal getestet und muss dir zustimmen, dass es aus einem mir nicht begreifbaren Grund nicht funktioniert wie in deinem Eingangspost. Egal welche Ominöse Stance ich in die Bedingung packe, Charge will nicht ausgelöst werden.

Bei Fähigkeiten gibt es da afaik keinen Unterschied. /use hat nur einen Buchstaben weniger. Bei langen Makros kann das wegen der Zeichenbegrenzung durchaus relevant sein.

Hi Evabaum,

bzgl der Länge des Makros muss ich Dir da zustimmen. Da ist das eine gute Idee, danke für den Tipp. .-)

Ich mach mal ein Ticket bei Blizz auf, vielleicht interessiert es sie. .-)

Danke und viele liebe Grüße,
Pres

Ich lehne mich mal aus dem Fenster und spekulier mal herum:

Beim aktivieren des Makros werden vom Client die Makrobefehle in der Reihenfolge an den Server geschickt, in der sie auch im Makro stehen. Der Server selber verarbeitet Gewisse Dinge aber wohl asynchron was bedeutet, dass der Befehl zum Chargen nicht wirklich NACH dem Befehl zum Stance wechseln getriggert wird, sondern während der noch verarbeitet wird. In dem Moment wo der Server dann die Bedingung am Charge Befehl verarbeitet, ist der Stance Wechsel Befehl aber noch nicht fertig und demnach ist die Stance noch nicht die richtige.

Das ist wie gesagt reine Spekulation aber anders kann ich mir das nicht erklären vOv

Kann dir da nur voll zustimmen, Evabaum. Also bezüglich des Charge würde ich das unterschreiben. Dann sind wir nur wieder bei dem Phänomen, dass der Intercept ja wie gewünscht auch aus der Def Stance klappen soll. Das kann ich leider ohne Umskillen nicht so schön selbst testen. Da müssen wir dem TE wohl glauben, tu ich auch ^^

Evabaum,

so wie ich APIs und Netzwerkommunikation verstehe sage ich, dass Du nicht so falsch liegst.
Warum das bei Charge der Fall ist, weiß ich nun nicht, aber hey, wenn man es weiß, dann kann man sich drauf einstellen. Bei Overpower hab ich heute festgestellt, ist das auch so, wie bei Charge.

Viele liebe Grüße,
Pres

Ich glaub ihm auch… warum auch nicht, hab ja ähnlliche Erfahrungen gemacht. Wenn es Asynchron läuft, dann ist es eigentlich eine Frage dessen, wie schnell die Dinge abgearbeitet sind, die asynchron zu dem Verarbeiten der einzelnen Makro Befehle ablaufen. Wer weiß wie das alles intern gemacht wird. Womöglich läuft das bei Intercept schneller ab (vielleicht fehlt bei Intercept einfach ein check, ob man im Kampf ist, weil es dafür egal ist), womit es rechtzeitig fertig wird vOv. Das würde zumindest auch erklären, wieso es (zwar selten aber immerhin) vor kommt, dass mein Schleichen Makro manchmal tatsächlich auch 2 Tastendrücke braucht, obwohl es eigentlich fast immer auf dem ersten Tastendruck funktioniert.

Ist aber ja wie gesagt auch alles Spekulation… vielleicht läuft das auch noch ganz anders ab.

2 Likes

Meine Erfahrungen mit Macros:

Alles, was in einem Macro steht, wird zeitgleich (!) ausgeführt, solange du nicht eine Castsequence einbaust.

Der Stancewechsel und das gleichzeitige Nutzen eines „Cast“ ist nur daher möglich, da der Stancewechsel auf seinem eigenen 1s GCD liegt. Daher ist es innerhalb einer Sekunde auch nicht möglich, 2x die Stance zu wechseln, weshalb dieser richtigerweise mit Konditionen verknüpft sein sollte.

Problematisch könnte sein, dass die Überprüfung von [nocombat] während des Wechsels in die Battle-Stance nicht möglich ist?! Ehrlich gesagt ist das nur eine Vermutung.

Teste doch mal bitte folgendes (oder ich versuche das heute Abend mal):

#showtooltip [nocombat] Charge; [combat] Intercept
/cast [combat,nostance:3] Berserker Stance; [nostance: 1] Battle Stance
/cast [combat,stance:3] Intercept; Charge

Somit fällt die Prüfung weg, ob du dich in Combat befindest oder nicht. Du machst einfach auf Basis der offensichtlich funktionierenden Abfrage eine Wenn-Dann-Sonst-Funktion statt einer Wenn-Dann-Funktion.
Sollte [combat] gegeben sein, kannst du Charge sowieso nicht nutzen und er würde ohnehin vorab Intercept ausführen.

Manche Wege zum Ziel muss man nicht nachvollziehen können, manchmal kommen dann noch so Dinge wie das Spellbatching in die quere, das unter Umständen die erste Abfrage schlichtweg torpediert.

#showtooltip [nocombat] Charge; [combat] Intercept
/cast [nocombat,nostance:1] Battle Stance
/cast [nocombat,stance:1] Charge
/cast [combat,nostance:3] Berserker Stance
/cast [combat,stance:3] Bloodrage
/cast [combat,stance:3] Intercept

Damit müsste dies auch für FuryProt gehen - zumindest, solange Bloodrage nicht auf Cooldown ist. Vorteil: Bloodrage liegt off-GCD und lässt sich parallel mit Stancewechsel und Intercept ausführen. :wink:

Mir ist auch noch was eingefallen: erscheint bei dir beim ersten Tastendruck dann eine rote Fehlermeldung in der Mitte vom Bildschirm?

Ich benutze für meinen Charge dieses Makro:

#showtooltip Wilde Attacke
/cancelform [noform:1]
/cast [noform:1] Terrorbärengestalt
/cast [form:1] Wilde Attacke

Das funktioniert auf erstem Tastendruck nicht, weil ich dann die Fehlermeldung bekomme, dass nicht genug Wut vorhanden ist. Die Bedingung für die form (stance) greift in dem Fall also trotzdem. Gleichzeitig ausgeführt wird es also meines Erachtens nach nicht, er versucht ja die Wilde Attacke zu machen.

Allerdings wurde in dem Moment noch nicht die Wut gutgeschrieben, die ich beim Shift in der Regel bekomme. Wenn ich witzigerweise kurz vorher in Katze geshiftet bin und dann dieses Makro aktiviere, habe ich genug Wut. Das heißt: auch wenn ich in Katze shifte, bekommt der Bär im Hintergrund trotzdem auch seine Wut :smiley:

Hi Rancor,

wow. Danke! Das probiere ich heute Abend noch mal aus und werde berichten.

Danke!

Grüße,
Pres

Genau so ist es. Man muss sich von der Anzeige als Reihenfolge im Makro lösen. Die ist irreführend.
Das heißt, bei

/cast [nocombat,nostance:1] Battle Stance
/cast [nocombat,stance:1] Charge
/cast [combat,nostance:3] Berserker Stance
/cast [combat,stance:3] Intercept

werden alle Bedingungen gleichzeitig ausgewertet.
Zeile 1 trifft zu. Zeile 2 nicht. Darum nur der Wechsel und nicht der Charge bei einer Ausführung.
Das sollte das normale Verhalten sein.
Darum funktioniert z. B.

/cast [nocombat,nostance:1] Battle Stance
/cast [nocombat] Charge
/cast [combat,nostance:3] Berserker Stance
/cast [combat] Intercept

problemlos.

Das ist jedenfalls mein Wissensstand.

Warum Zeile 3 und 4 im ersten Makro beide mit einem Druck ausgeführt werden, weiß ich allerdings leider auch nicht. Könnte tatsächlich ein Bug sein.

[Edit]
Das ganze Verhalten ist total inkonsistent. Beispiele:

In Kampfhaltung (Stance 1):

/cast [nocombat,nostance:2] Verteidigungshaltung
/cast [nocombat,stance:2] Blutrausch

Funktioniert. Muss nur einmal drücken.

In Bersihaltung (Stance 3):

/cast [nocombat,nostance:1] Kampfhaltung
/cast [nocombat,stance:1] Blutrausch

Funktioniert nicht. Muss zweimal drücken.

In Verteidigungshaltung (Stance 2):

/cast [nocombat,nostance:3] Berserkerhaltung
/cast [nocombat,stance:3] Blutrausch

Funktioniert. Muss nur einmal drücken.

WTF? :smiley:

Irgendwas stimmt anscheinend mit nostance:1 nicht.

Ich würde ja sagen, melde es als möglichen Bug. Aber ich denke, die Mühe kann man sich schenken. :wink:

1 Like

Uh, hi, wow …

Danke, dass Du mein Bild bestätigst.
Nen Bugreport hab ich schon erstellt. Ich bin mal gespannt, was kommen wird.

Aber gut, dann weiß ich, dass ich nicht vollkommen plem plem bin. ,-)

Viele Grüße und schönen Abend,

Pres

Das ist auch meine Beobachtung aber die schließt aus, dass alle Bedingungen gleichzeitig ausgewertet würden (gleichzeitig eh nicht… wenn, dann nacheinander aber bevor irgend ein Befehl dann auch ausgeführt wurde aber das scheint halt auch nicht zutreffend zu sein).

Ich denke, wie gesagt, eher, dass die Befehle aus den Makros dann asynchron ausgeführt werden. Das wird meiner Meinung nach an einigen in diesem thread genannten Beispielen offensichtlich und würde auch die Inkonsequenz erklären.

Also so:

  • Bedingung aus Zeile 1 wird ausgewertet - trifft zu (nostance:1)
  • Ausführung des Befehls aus Zeile 1 wird asynchron gestartet (Stancewechsel)
  • Bedingung des Befehls aus Zeile 2 wird ausgewertet - trifft nicht zu (stance:1)
  • Befehl aus Zeile 2 wird nicht ausgeführt weil Bedingung nicht zutrifft
  • Ausführung des Befehls aus Zeile 1 abgeschlossen (ab hier stimmt die stance dann)

Was ich auch schon erlebt habe ist folgendes:

  • Bedingung aus Zeile 1 wird ausgewertet - trifft zu (noform:1)
  • Ausführung des Befehls aus Zeile 1 wird asynchron gestartet (Shift in Bärform)
  • Wutzuwachs durch Ingrim und Wolfskopfhelm wird ebenfalls asynchron gestartet
  • Ausführung des Befehls aus Zeile 1 abgeschlossen
  • Bedingung des Befehls aus Zeile 2 wird ausgewertet - trifft zu (form:1)
  • Ausführung des Befehl aus Zeile 2 wird asynchron gestartet (Wilde Attacke) was intern fehlschlägt, weil nicht genug Wut vorhanden ist
  • Der asynchrone Wutzuwachs durch Ingrim und Wolfskopfhelm abgeschlossen (genug Wut ist ab hier vorhanden)

Gleiches habe ich schon mit dem Schlucken von Manapots erlebt.

Das ist das einzige Szenario, was mir einfällt, was dieses Verhalten erklären würde. Ich glaube auch nicht, dass das ein Bugreport ändern würde. Dafür müssten sie die Funktionalität, die Makros verarbeitet, grundlegend verändern, was denen für so ein paar Makro Sportlern bestimmt zu aufwändig ist.

Es gibt quasi offizielle Quellen dazu, dass es so ist (gleichzeitig - bzw. in einem Batch, falls dir das Wort „gleichzeitig“ zu unpassend ist * g *). Ich kann dir gerade keinen Link oder irgendwas präsentieren, da das schon lange her ist, aber so sollte es sein. (passendes Stichwort dazu: spell batching)
Ich gebe aber auch zu, dass ich mich schon länger nicht mehr wirklich intensiv mit dem Thema Makrosystem befasst habe. Möglicherweise habe ich Entwicklungen verpasst.

Verschärft wird das Ganze meiner Meinung nach dadurch, dass wir es hier intern mit dem Retail-Markosystem zu tun haben, dass vom Classic-Team auf „alt“ getrimmt wurde. Ich vermute daher, dass wir da keine Lösung mehr finden werden - zumindest nicht über Beobachten und Testen. Zu viele Variablen. :slight_smile: Lasse mich aber aber gerne vom Gegenteil oder von ganz anderen Theorien überzeugen.

Sorry, womöglich bin ich durch meine Arbeit da etwas zu penibel mit dem Wort „gleichzeitig“.

Was man in WoW unter dem Namen Spellbatching kennt, ist eigentlich nichts anderes als ein Ausdruck dafür, dass die Schleife, die Spielereingaben verarbeitet, eine niedrige Frequenz hat (bei Shootern würde man sagen der Server hat eine schlechte Tickrate). Ich denke schon, dass ein Makro komplett in einem Schleifendurchlauf verarbeitet wird (also in einem Batch), aber das widerspricht ja nicht der Tatsache, dass eine Aktion vom Anfang des Makros Einfluss darauf haben kann, ob später im Makro eine Bedingung eben doch zutrifft. Das ist ja das, was wir hier beobachten.

Naja eine Lösung bzw. wie gewünscht funktionierende Makros haben ja schon einige gepostet. Ob wir hier zweifelsfrei rausfinden wie das technisch wirklich funktioniert, vermutlich nicht. Das wird alles Spekulation bleiben, bis Blizzard irgendwas bestätigt. Ich glaube aber nicht, dass sich das hier jemals jemand blaues durchlesen wird, der tatsächlich weiß wie ist… und noch weniger, dass wir dann auch eine offizielle Info dazu kriegen.

Wie eig bereits einige geschrieben haben wenn bedingungen vorliegen verhinder diese ein gleich zeitiges aktivieren der anderen fähigkeiten
Theoretisch wird es gleichzeitig ausgeführt aber dennoch schritt für schritt zeile für zeile
Somit würde ich zb charge mit /use charge ganz am ende hin schreiben ohne bedingung
Da die fähigkeit sowieso die bedingungen stance 1 und nocombat hat brauch man die nicht nochmal rein zu tippen

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