Cleartarget+Screenshot-Makro?

Hallo!

Folgendes:

Ich hab’ ein Addon, mit dem ich Screenshots machen kann, wobei dann autom. das UI ausgeblendet wird.
Das ganze nennt sich Screenshotter. In den Einstellungen kann ich festlegen, was an UI-Elementen ausgeblendet werden soll.
Darunter auch, was an Namen ausgeblendet werden soll.

Leider hat das ganze 2 Schwächen. Zum einen lässt sich das UI nicht infight autom. ausblenden, was nicht weiter wild ist. Das umgehe ich, indem ich das UI im Kampf dann einfach selbst ausblende. Infight mach ich Screenshots eh nur dann, wenn es nicht sonderlich hoch hergeht und ich es mir erlauben kann, das UI auszublenden.

Das zweite Problem, und das egtl. Thema dieses Threads: Der Name meines Tagets, sowie die Targetmarkierung (der Kreis am Boden um das Target) können nicht ausgeblendet werden.

Mit dem Addon läuft es nun so, dass ich in den Keybindings eine Taste festlege, mit der ein Screenshot über dad Addon gemacht wird.

Nun fiel mir ja ein, dass es die Möglichkeit gibt, in einem Makro mit /cleartarget und /targetlasttarget das Target für den Moment des Screenshots zu “clearen”.

Gibt es die Möglichkeit das mit einem Makro zu verbinden bzw. die Funktion des Addons, also das Auslösen des Screenshots mit den fedtgelegten Einstellungen, mit einem Makrobefehl ansteuern?

Oder lässt sich einfach ein Makro schreiben, das einen Screenshot macht, das Target kurz “cleart” und wirklich ALLES, ALLES, ALLES an UI-Elementen ausblendet?
wäre auch kein Problem, wenn es die 255 Zeichen überschreitet. Gibt ja Addons, die lange Makros ermöglichen.

Danke schon mal im Voraus.

/run ToggleFrame(UIParent)
/cleartarget
/in 0.5 /run Screenshot()
/in 1 /run ToggleFrame(UIParent)
/targetlasttarget

Benötigt aber das AddOn SlashIn um den Makrobefehl /in zu nutzen. Das der Screenshot schneller ist beim aufnehmen, dass ist normal. Effektiv werden beide Funktionen gleichzeitig ausgeführt (Target abwählen und Screenshot auslösen).

Das ist auch normal, da die Funktion in dem Fall nur dem Blizzardclient vorbehalten ist und AddOns infight auf die Funktion nicht zugreifen dürfen, Stichwort Secure Functions.

Das ist auch normal, da beide Bestandteile in dem Fall Bestandteile der 3D-Welt sind und die kann man so nicht beeinflussen. Daher wäre die Lösung mit /cleartarget die bessere.

1 Like

Vielen Dank für die Info!

Werde mir das nachher/morgen mal ansehen.

Verstehe ich das richtig, dass der Screenshot immer ausgelöst würde, bevor das Target „gecleart“ ist? Deswegen die 0.5 und die 1.0? Sind dad Zeitangaben (in Sekunden)?
Wäre es dann auch möglich, diese Zeitangaben herunterzusetzen?
So, wie ich das lese, wird hier der Screenshot eine halbe Sekunde nach Betätigung des Makros ausgelöst und erst nach einer Sekunde das UI wieder eingeblendet, was ja nun schon recht lang ist.
Ginge das also stattdessen auch mit 0.1 und 0.2, oder gar 0.01 und 0.02?

Nein nicht ganz korrekt verstanden.
Screenshot und UI ausblenden geschehen effektiv zeitgleich. Allerdings ist aufgrund der CPU-Geschwindigkeiten der Screenshot ein paar Millisekunden schneller.
Und ja die Zahlwerte entsprechen Sekunden. Was ginge wäre das man mit Werten zwischen 0.1 und 0.5 arbeitet. Was allerdings nicht geht, wäre das man mit Werten von 0.01 und 0.05 arbeitet. Zum einen wird das von dem AddOn nicht unterstützt und der Client spielt da auch nicht zwingend mit. Liegt aber daran das es ein Zeitminimum in WoW gibt was bei 0.1 liegt.
Allerdings muss ich dazu aus eigener Erfahrung sagen das man es bei den Werten lassen sollte. Verhindert effektiv das nicht doch aus Versehen das UI und „aktuelle“ Target auf dem Screenshot zu sehen ist.

1 Like

Und deswegen dann die Zahlenwerte/Zeitintervalle, um dem vorzubeugen, richtig? ^^

Escape drücken.

Ne, geht nicht.

Denn mit dem ersten ESC macht man das Ausblenden des UI rückgängig, bzw. wird dieses wieder eingeblendet. Erst mit dem zweiten ESC würde dann das Target abgewählt werden. Im Ergebnis hätte ich dann einen ganz normalen Screenshot mit UI und allem drum und dran, bloß dass ich ohne Target herumstehe.

Target abwählen, bevor man das UI ausblendet, ist auch keine Option. Zum einen, würden dann sämtliche Kampfhandlungen abgebrochen - ich hätte meinen Char also nicht mehr in kämpfender Pose auf dem Screenshot, was ja schließlich der Sinn eines Infight-Screenshots ist.
Darüberhinaus, würde ich den Gegner sofort wieder autom. ins Target bekommen, sobald ich Schaden von ihm kassiere.

PS:
Wenn ich mich schon mit „komplizierteren“ Makros und extra Addons herumschlage, darfst du davon ausgehen, dass ich so banale Dinge, wie das Drücken von ESC schon ausprobiert habe. Und ja, ich habe auch schon den Netzstecker gezogen und mind. 10 Sekunden gewartet, bevor ich ihn wieder hineingesteckt habe. :wink:

PPS:
Ist nicht böse, oder garstig gemeint, falls das so rüberkommen sollte.

Korrekt. Damit stellt man sicher das erst das UI ausgeblendet wird und das Target abgewählt und erst dann der Screenshot gemacht wird. Würde man ohne die Zahlwerte arbeiten hätte man das gleiche in Grün wenn man es mit Alt+Z und Druck machen würde.

1 Like

Hab’ das jetzt probiert. Leider funktioniert das nicht. Also das UI wird nicht ausgeblendet und das Target nicht abgewählt. Unterm Strich kommt da ein stinknormaler Screenshot raus.
Ich versuche es es eben noch mal ohne iwelche weiteren Addons.

Nachtrag: Auch mit jungfräulichem UI (einzig SlashIn aktiviert) funktioniert es leider nicht.
Im Chat bekomme ich die Meldung: „Interface-Aktion auf Grund eines Addons fehlgeschlagen“

Eine Idee?

Joar allerdings. Die Funktion Screenshot() wird dann als SecureFunction angesehen und darf hier nur per /run aufgerufen werden und nicht in Kombination mit /in. Das ist etwas was ich nicht bedacht habe.

1 Like

Ich glaube, ich weiß jetzt wo die Probleme liegen:

Der Makrobefehl zum Ausblenden des UIs ist infight leider nicht möglich. Wieso auch immer das so sein muss.
Das geht wohl oder übel nur manuell über den entsprechenden Hotkey.

Problem #2:

Da dem /targetlasttarget kein /in-Befehl vorausgeht, wird das /targetlasttarget noch vor dem Screenshot ausgeführt. Dass das Target ab- und angewählt wird, höre ich ganz deutlich am entsprechenden Sound. Das macht ja immer so ein Geräusch.

Hab’ dann versucht, vor das /targetlasttarget auch einen /in-Befehl zu setzen, aber dann bekomme ich die Meldung, dass diese Funktion dem Blizzard-UI vorbehalten sei.

UIParent ist ein SecureFrame und kann nur durch SecureCode verborgen werden.

Theoretisch wäre es möglich, einen SecureHandler zu erstellen, der beim Drücken einer Taste alle entsprechenden Anzeigen ausblendet und dann nach X Sekunden einen Screenshot initiiert.
Beim Loslassen der Taste wird dann wieder alles eingeblendet.

Wird die Taste nicht lange genug gedrückt, wird der Screenshot nicht ausgeführt, z.B. wenn man unerwartet doch Kämpfen o.ä. muss.

1 Like

Wie bekäme man das hin? Hab’ keine Ahnung, was ein Secure Handler ist.
Wäre das denn auch legal?

Die SecureHandler sind widget templates („Benutzeroberflächenkomponenten-Vorlagen“), die im Kampf ( combat lockdown) zusätzliche limitierte aber geschützte Funktionen bereitstellen, die normalerweise nicht möglich bzw. den internen, Client-eigenen AddOns vorbehalten sind.

Ja. Das sind ja extra von Blizzard implementierte Funktionen, um z.B. Aktionsleisten im Kampf steuern/nutzen zu können.

Ah, okay. Danke.

Heißt, praktisch ist das aber nicht möglich?

Doch.
Die Frage ist, ob & wann ich Zeit dafür habe oder es jmd. anderes macht.

Ach, cool.

Dann bedanke ich mich erst mal für die Hilfestellung und übe mich in Geduld. ^^

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