Montag, 5. September 2011

Makro-Beispiele

Für jedes Problem gibt es ein Makro. ;-)

Link zu einer Webseite mit Erklärungen für Makro-Programmierung.
http://www.wowpedia.org/Making_a_macro

Allgemeine Befehle

Aufbau eines Makros
/command [conditions] spellname; [conditions2] spellname2; ...
[conditions]  = [condition1, condition2...]

/p|s|ra|i Text %t (Target)
/cast <spell>/castsequence <options> <resetconditions> <spell1>; <spell2> ...
/use <itemname> | <slotnr> | <bagid> <bagslotnr>
/equip <itemname>
/equipslot <slotnr> <Itemname> (zieht ein Item in einen bestimmten Slot im Charactermenue)
/castrandom <spell1> <spell2>
/userandom <item1> <item2>
/stopcasting
/startattack [unit]
/stopattack

/targetenemy (nimmt den nächsten Feind ins target)
/targetfriend (nimmt den nächsten Freund ins target)
/targetparty (nimmt das nächste Gruppenmitglied ins target)
/targetraid (nimmt den nächsten Raidmember ins target)
/targetlasttarget (nimmt das letzt Ziel ins target)
/cleartarget (löscht das target)
/clearfocus (löscht den fokus)
/target [UnitID oder name] (nimmt eine unit ins target)
/focus [UnitID oder name] (setzt eine unit als fokus)
/assist [UnitID oder Name] (unterstützt eine unit)

/click ButtonName [mouseButton]
/cancelaura <name>
/changeactionbar <page>
/swapactionbar <page1>
/stopmacro
/dismount

/petattack
/petfollow
/petstay
/petpassive [defensive,aggressive]
/petautocason <spell>
/petautocastoff <spell>


#showtooltip <irgendwas>

Makro-Bedingungen (Conditions)

[combat], [nocombat]
[harm], [help]
[stance] , [stance: #], [nostance] (nostance und stance:0 ist das gleiche)
[stealth], [nostealth]
[mounted] , [nomounted]
[swimming] , [noswimming]
[flying], [noflying]
[indoors] , [outdoors]
[modifier:x]  (z.B. shift, alt, strg)
[button:#], [nobutton] (1 - linke Maustaste, 2 - rechte Maustaste)
[pet:x] (Name des Pet)
[channeling:x], [nochanneling] (während man einen Cast kanalisiert oder eben nicht, Name des Casts)
[dead], [nodead]


/castsequence reset=target/combat Elemente Entfesseln; Flammenschock; Lavaeruption
Beginnt beim Targetwechsel oder wenn der Kampf endet immer wieder neu

Einheiten (UnitID)

player - Der Spieler selber
pet - Der Begleiter des Spielers
vehicle - Das Fahrzeug, welches in dem Augenblick vom Spieler kontrolliert wird
target - Das aktuelle Ziel des Spielers
focus - Das Fokusziel des Spielers
mouseover - Die Einheit unter dem Mauszeiger
none - Keine Einheit. UnitName() gibt "Unknown, nil" zurück
npc - Die Einheit, mit der der Spieler gerade interagiert (muss nicht notwendiger weise wirklich ein NPC sein).

party1 to party4 - Mitglieder der Gruppe des Spielers
partypet1 to partypet4 - Begleiter der Gruppenmitglieder des Spielers
raid1 to raid40 - Mitglieder des Schlachtzzuges des Spielers
raidpet1 to raidpet40 - Begleiter der Schlachtzugmitglieder des Spielers
boss1 to boss5 - Der aktive Boss im momentanen Encounter
arena1 to arena5 - Ein Mitglied des gegnerischen Arena-Teams

-----------------------------------------------------------------------------------------------------------
Und hier meine Makros:

Magier

Linksklick auf dieses Makro verwandelt das aktuelle Target in ein Schaf und nimmt es in den Focus. Rechtsklick resheept das Focustarget.

#showtooltip
/cast [button:2, target=focus] Verwandlung; Verwandlung
/focus [nobutton:2]

Arkanmagier

Wenn man mit dem Arkanschlag auf keinen Fall einen kanalisierenden Zauber abbrechen will.

#showtooltip
/cast [nochanneling]Arkanschlag

/stopcasting
/cast Gegenzauber

Frostmagier

#showtooltip Eislanze
/startattack
/cast Eislanze

Damit das Eiselementar sofort angreift:

#showtooltip Frostblitz
/petattack
/cast Frostblitz

Die Frostnova des Eiselementars auf die Tastatur legen:

/cast Eiskälte

Druide

Verwandelt den Druiden in den Bären, aber nicht wieder zurück in die Menschengestalt, wenn er schon Bär ist. Funktioniert seit Legion nicht mehr, geht aber in Classic.

(/cast !Bärengestalt)
(/cast !Katzengestalt)
(/cast !Zermalmen=

Zauber ohne die Gestalt aus Versehen zu ändern:

/run SetCVar("autoUnshift",0)
/cast Heilende Berührung
/run SetCVar("autoUnshift",1)

Mondfeuer Mouseover oder Target

#showtooltip Mondfeuer
/use [@mouseover, harm, exists, nodead] Mondfeuer; Mondfeuer

oder nur auf Mouseover

/use [@mouseover, harm, exists, nodead] [] Mondfeuer

Schamane

Simples, aber wichtiges Makro zum Unterbrechen für Heiler und Eles, damit die Unterbrechung sofort und nicht erst nach Beendigung des aktuellen Casts kommt:

/stopcasting
/cast Windstoß

Stellt das Totem direkt unter die Füße des Spielers

/cast [@player] Totem des Windsturms

Sucht sich für den nächsten Kettenblitzschlag ein Ziel, sollte das letzte tot sein oder man eben keines haben. Achtung, man pullt auch unbeteiligten Gruppen in Reichweite.

/startattack
/cast Kettenblitzschlag

Mouseovermakro, was das Ziel unter dem Mauszeiger wahlweise reinigt oder geistläutert, je nachdem, ob es freundlich oder feindlich gesonnen ist.

#showtooltip Geistreinigung
/stopcasting
/cast [target=mouseover,harm,exists] Reinigen; [target=mouseover,help,exists] Geistreinigung

Mouseover-Makro, welches das Ziel wahlweise reinigt oder verhext, je nachdem ob mit ctrl oder shift oder ganz ohne geklickt wird (mehr als Beispiel gedacht).

/stopcasting
/cast [target=mouseover,nomod,exists] Geistläuterung; [target=mouseover,exists,mod:ctrl] Verhexen;
[target=mouseover,exists,mod:shift] Elementar binden

#showtooltip
/use [@mouseover, harm, exists, nodead] Frostschock; Frostschock

Erdbeben direkt unter dem Mauszeiger

#showtooltip
/cast [@cursor] Erdbeben

#showtooltipp Verhexen
/cast [@mouseover, harm, exists, nodead]Verhexen; Verhexen

Mouseover Makro von Maggi

#showtooltip Verderbnis entfernen
/cast [mod:alt,@player][mod:ctrl,@focus,help][@mouseover,help][@target,help][@targettarget,help][@player]Verderbnis entfernen

#showtooltip Geistläuterung
/cast [mod:alt,@player][mod:ctrl,@focus,help][@mouseover,help][@target,help][@targettarget,help][@player]Geistläuterung


Fokus-Target kicken

#showtooltip Windstoß
/cast [@focus,exists,nodead,harm]  Windstoß

Alle CDs ziehen:

/cast Kampfrausch
/cast Gunst des Geistwandlers
/cast Aszendenz
(Wenn man ein Use-Trinket hat, sollte das hier auch rein)
/use Trinket XY

Makro für den Healbot:

#showtooltip Große Welle der Heilung
/cast Schnelligkeit der Ahnen
/script: SpellStopCasting();
/cast [target=hbtarget] Große Welle der Heilung

#showtooltip Geistreinigung
/stopcasting
/cast [target=hbtarget] Geistreinigung

Die gleichen Makros für VuhDo:

#showtooltip Große Welle der Heilung
/cast Schnelligkeit der Ahnen
/script: SpellStopCasting();
/cast [target=vuhdo] Große Welle der Heilung

(VDGeistreinigung)
#showtooltip Geistreinigung
/stopcasting
/cast [target=vuhdo] Geistreinigung

(VDTrinket)
#showtooltip
/use [@vuhdo] Schlagendes Herz des Wassers

Jäger

/startattack
/petattack

/startattack
/cast Mehrfachschuss

/cast [@pet] Irreführung

Je nach gewähltem Pet einen anderen Cast zum Dispelln
/cast [pet:Blitzpfote] Geistschock; [pet:Netherrochen] Netherschock


Priester

#showtooltipp
/cast [@targettarget] Gebet der Besserung

#showtooltipp
/cast [@targettarget] Kaskade

Legt die Engelsfeder unter die eigenen Füße, als echter Sprint
/cast [@player] Engelsfeder

Berufe (z.B. Juwelier)

/cast Sondieren
/durchsuchen
/use Elementiumerz
/use Obsidiumerz

Geht genauso mit /cast mahlen.

Archäologie

/run local s=0;for x=1,12 do local c=GetNumArtifactsByRace(x);local a =0;for y=1,c do local t=select(9, GetArtifactInfoByRace(x, y));a=a+t;s=s+t;end local rn=GetArchaeologyRaceInfo(x);if( c > 1 ) then print(rn..":"..a);end end print("Total:"..s);

Bernformer Un'sok

/cancelaura Erneuernder Nebel
/cancelaura Springflut
/cancelaura Verjüngung
/cancelaura Wildwuchs
/cancelaura Erneuerung
/cancelaura Echo des Lichts
/cancelaura Blühendes Leben
/cancelaura Nachwachsen
/cancelaura Echo des Lichts

Sha der Angst

Auf Target oder Mouseover:

/stopcasting
/target mouseover
/click ExtraActionButton1
/run if UnitExists"target"then SendChatMessage("Light on you!","WHISPER", nil, UnitName"target")end
/targetlasttarget

Für VuhDo:

/stopcasting
/target vuhdo
/click ExtraActionButton1
/run if UnitExists"target"then SendChatMessage("Light on you!","WHISPER", nil, UnitName"target")end

Benutzen des Trinkets im untersten Slot auf das Vuhdo-Ziel:

#showtooltip
/use [@vuhdo] 14

Durumu

 /click CompactRaidFrameManagerDisplayFrameLeaderOptionsRaidWorldMarkerButton

Target-Befehl

Winkt nur, wenn eines der Targets auch gefunden wurde.

/tar Linken
/tar Nat Pagle
/tar Mankrik
/tar Hemet Nesingwary
/tar Chromie
/tar Thassarian
/stopmacro [noexists]
/wave

Target-Makro mit Markierung: (4=grün)

/tar Pepe
/script SetRaidTargetIcon('target', 4)

/script SetRaidTargetIcon('mouseover', 4)

Raidtarget auf Mouseover (zum Beispiel für die Kirin Tor Fässer Weltquest)

/script SetRaidTargetIcon("mouseover", 4);

Target wenn nicht tot, Sound und Raidmark

/cleartarget
/tar Helgebundener Seelensucher
/cleartarget [dead]
/stopmacro [noexists]
/script PlaySound(8959)
/script SetRaidTargetIcon('target', 4)

Dämonenjäger Dragonflight

#showtooltip Gleve werfen
/tar Verdammniswache
/tar Höllenbestie
/tar Zornwächter
/tar Teufelshund
/tar Shivarra
/tar Ur'zul
/cast Gleve werfen
/tartgetlasttarget


Konsolen-Befehle

0 = aus
1 = ein

Schadenszahlen / Heilung

/console floatingCombatTextCombatDamage 1
/console floatingCombatTextCombatHealing 1
/console floatingCombatTextPetMeleeDamage 1
/console floatingCombatTextPetSpellDamage 1
/console floatingCombatTextCombatLogPeriodicSpells 1

Kamera auf max Distanz einstellen:

/console cameraDistanceMaxZoomFactor 2.6

Automatische Questverfolgung einschalten:

/console autoQuestWatch 1

Nur notwendige Daten laden (verkürzt Login-Zeiten)

/console worldPreloadNonCritical 0

(nameplateMaxDistance)

Mauszeigergröße verändern (Größe 0,1,2):

/console cursorsizepreferred 0

Lua-Fehler:

/console scriptErrors 1
/console scriptErrors 0

Wettereffekt: 0-3 (3 max)

/console SET weatherDensity 0

Andere Script-Befehle

Berechnung kombinierte Schadensvermeidung für Tanks mit Schild

/script DEFAULT_CHAT_FRAME:AddMessage("Need 102.4 combat table coverage. Currently at: "..string.format("%.2f", GetDodgeChance()+GetBlockChance()+GetParryChance()+5))

Quest abgeben

/run SelectGossipAvailableQuest(1);CompleteQuest();GetQuestReward()

Gegenstände im Inventar zerstören

/run for bag = 0,4,1 do for slot = 1, 32, 1 do local name = GetContainerItemLink(bag,slot); if name and string.find(name,"Name des Gegenstandes") then PickupContainerItem(bag,slot); DeleteCursorItem(); end; end; end

Nameplates (Balken) anzeigen:

/run SetCVar("nameplateShowAll", 1) -> immer, auch außerhalb des Kampfes
/run SetCVar("nameplateShowAll", 0) -> nur im Kampf

Leute aus der Gruppe kicken, die nicht in der gleichen Zone sind:

/run for i=1,GetNumGroupMembers() do local name,rank,subgroup,level,class,fileName,zone,online,isDead,role,isML=GetRaidRosterInfo(i) if online and zone ~= GetRealZoneText() then UninviteUnit(name) print(name.."("..zone..")") end end

Gruppe verlassen

/script LeaveParty()

Premaid-Gruppe (z.B. Schlachtfeld, LFR) verlassen

/run LFGTeleport(IsInLFGDungeon())

Gesammelte Artefaktmacht berechnen:

/run local c,ge,gc,xp,ps,n,_=C_ArtifactUI;_,_,n,_,xp,ps=c.GetEquippedArtifactInfo();for i=1,ps-1 do xp=xp+c.GetCostForPointAtRank(i);end print(„Auf“,n,“angewandte Artefaktmacht:“,xp);

Fortschritt der Farben der geheimen Artefaktdesigns:

/run local _,_,_,a, b = GetAchievementCriteriaInfo(11152,1) local _,_,_,c, d = GetAchievementCriteriaInfo(11153,1) local _,_,_,e, f = GetAchievementCriteriaInfo(11154,1) print("Dungeons: "..a.."/"..b) print("WQs: "..c.."/"..d) print("Kills: "..e.."/"..f)

Wiederbeleben

/run RepopMe()
oder
/run RepopMe()AcceptResurrect()AcceptXPLoss()

Quest erledigt? (Questnummer gibt es bei wowhead)

/script print(C_QuestLog.IsQuestFlaggedCompleted(12345))

Extra-Action-Button per Tastatur klicken:

/click ExtraActionButton1

Klickt den Ok-Button (z.B. die Rückfrage, ob man das Item anlegen will, obwohl es dann seelengebunden wird):

/click StaticPopup1Button1

Fokus im Mouseover

/focus [@mouseover]

Sound

/script PlaySound(8959)
/script PlaySound(888)
/run PlaySoundFile(552503)

Weltenbosse

Habe ich Sha diese Woche  schon gelegt? Habe ich Galleon diese Woche schon gelegt?

/run print("You have"..(GetQuestsCompleted()[32098] and "" or " not").." done Galleon this Id.")
/run print("You have"..(GetQuestsCompleted()[32099] and "" or " not").." done Sha this Id.")

Versteckte Quests/ Erfolge anzeigen

Geheime Artefaktvorlagen Farbvarianten
/run AddTrackedAchievement(11152)
/run AddTrackedAchievement(11153)
/run AddTrackedAchievement(11154)

/run RemoveTrackedAchievement(11153)

Chat-Makros

/join Channelname
/ckick channelnummer Charactername
/leave Channelname

Haustierkampf - Suche nach seltenen Tieren

/cleartarget
/tar Sandscherensonnenpanzer
/tar Gelber Schrotthüpfer
/run SetRaidTarget("target", 4)

Lasso der Zan-Tien

#showtooltip item:174927
/stopmacro [channeling:Catching]
/cleartarget
/tar Elfenbeinwolkenschlange
/stopmacro [noexists]
/use Lasso der Zan-Tien

Ruhkmar

/tar Rukhmar
/stopmacro [noexists]
/dismount
/cast Konzentrierte Flamme

Item Slots

1 = Kopf
2 = Hals
3 = Schultern
4 = Hemd
5 = Brust
6 = Taille
7 = Beine
8 = Füße
9 = Handgelenke
10 = Hände
11 = Ring 1
12 = Ring 2
13 = Schmuckstück 1
14 = Schmuckstück 2
15 = Rücken
16 = Waffenhand
17 = Schildhand
19 = Wappenrock

/use 13

Shadowlands

Wie weit ist man am Missionstisch mit der Kampagne

/script print(C_CurrencyInfo.GetCurrencyInfo(1889).quantity)

*****************************************************************
Kein Makro, aber vielleicht trotzdem nützlich:

Aufruf des Gildeninterface:
/groster

Stichworte : Makro, Makros

Keine Kommentare: