Das Makro hat grundsätzlich ja erstmal überhaupt nichts mit dem Erlernen von Talenten zu tun, sondern ist ausschließlich dafür da, die entsprechende Fähigkeit dann zu benutzen.
Einen direkten Makrobefehl zum Erlernen von Talenten gibt es nicht, dafür müsste man dann direkt über LUA-Code und die Funktion LearnTalent(ID) und die einzigartige ID des Talentes vorgehen. Die IDs wären bspw. 19347 für Bahnbrecher und 23100 für Camouflage.
Komplett könnte dieser Befehl dann folgendermaßen aussehen:
/run local b = GetMouseButtonClicked() local id = b == "MiddleButton" and 23100 or b == "RightButton" and 19347 or nil if id then LearnTalent(id) end
Die automatische Benutzung eines Folianten ist damit aber nicht umsetzbar, da sämtliche Befehle innerhalb eines Makros zeitgleich ablaufen. Dadurch würde man also außerhalb eines Ruhebereichs zwar einen Folianten nutzen können, aber dann noch kein Talent wechseln können, da man zum Zeitpunkt des Tastendrucks den Buff des Folianten ja noch nicht hatte.
Da man innerhalb von Makros keine Buffs prüfen kann, würde das Makro dann bei einem erneuten Druck zwar das Talent wechseln können, aber auch nochmals einen Folianten einwerfen.
Eventuell könnte man noch weitere Abfragen einbauen, damit die LUA-Befehle nicht im Kampf ausgeführt werden oder um rote Fehlermeldungen in der Mitte des Bildschirms zu vermeiden (bspw. wenn man das aktuell gewählte Talent erlernen will oder wenn man versucht, ein Talent im Kampf zu erlernen), aber für die grundlegende Funktionalität ist das nicht nötig.
Grundsätzlich lässt sich dein aktuelles Makro aber auch ein wenig zusammenfassen, da du ja zwei fast identische Zeilen nutzt und diese daher in einem Befehl kombinieren könntest:
#showtooltip
/cast [button:1, talent:3/3] Camouflage; [button:1] Aspekt des Chamäleons
Alles in Allem würde ich das Makro dann evtl. so nutzen:
#showtooltip
/cast [button:1, talent:3/3] Camouflage; [button:1] Aspekt des Chamäleons
/stopmacro [combat]
/run local b = GetMouseButtonClicked() local id = b == "MiddleButton" and 23100 or b == "RightButton" and 19347 or nil if id then LearnTalent(id) end
Die drei Zeilen machen dann folgendes:
- Wenn mit linker Maustaste gedrückt, wirke Camouflage, sofern gelernt, ansonsten wirke Aspekt des Chamäleons
- Breche die weitere Ausführung des Makros ab, wenn im Kampf
- Lerne Talent 23100 (Camouflage), wenn mit mittlerer Maustaste gedrückt, und lerne Talent 19347 (Bahnbrecher), wenn mit rechter Maustaste gedrückt.
Der Befehl /usetalents war für das alte Dualspec-System vorhanden und hat keinerlei Effekt mehr, seitdem man frei zwischen allen Spezialisierungen wechseln kann. Mit dem Erlernen von Talenten selbst hatte dieser noch nie zu tun.