AutoWarkey Guide
von Hellfish
Einleitung
Was ist AutoWarkey?
Was kann AutoWarkey?
Muss ich programmieren können?
Hotstrings
Hotkeys vergeben und Send Befehl
Maus
Werte in Variablen speichern
If Ausdruck
Fertige Script Teile
Invoker & Rubick Script
Nemurus OMG Keys
Ultimate Hotkey (Funmap Keys)
Einleitung
Wie versprochen stelle ich hier ein paar Möglichkeiten von Autowarkey vor und stelle am Ende auch einige fertige Scripts zur Verfügung.
Wer allerding erwartet, hier Dinge zu finden, die einen echten spielerischen Vorteil verschaffen, ist an der falschen Addresse und ich werde auch niemandem dabei helfen. Alle hier vorgestellten Funktionen sind so auch mit Blamestars Hotkey Tool und anderen gängigen Tools möglich oder dienen nur der Bequemlichkeit.
Die meisten hier gezeigten Dinge basieren zumindest auf der Arbeit meines Mates Worldedit oder sind sogar unverändert übernommen (mit Zustimmung natürlich).
In dieser kurzen Abhandlung wird nur die Oberfläche der Möglichkeiten von AutoWarkey angekratzt. Die im Folgenden erklärten Befehle und Funktionen sind nur die aus meiner Sicht nützlichsten, um Hotkeys für DotA zur erstellen.
[HRLINE][/HRLINE]
Was ist AutoWarkey?
AutoWarkey ist ein Programm, dass es ermöglicht, Inventarhotkeys zu verlegen und durch ein einfaches grafisches Interface einfache Makros zu erstellen um z.B. Tasten bzw. Tastenkombinationen auf Hotkeys zu legen (und noch andere Sachen siehe Screenshot). Autowarkey basiert auf der beliebten Scriptsprache Autohotkey und kann Autohotkey Scripts als "User Code" ausführen. In diesen Teil kann man seinen eigenen Code schreiben, um komplexere Dinge zu verwirklichen.
AutoWarkey bekommt man automatisch, wenn man Warkeys installiert, welches man hier herunterladen kann. Die Homepage des Projekts findet man hier.

[HRLINE][/HRLINE]
Was kann Autowarkey?
Neben den bereits erwähnten Funktionen ist hier vor allem der User Code von Bedeutung. Grenzen gibt es quasi nicht, wer will, kann sich einen Ingame-Taschenrechner basteln oder bei jedem Spell, den man castet den Musik spielen lassen.
Ich beschäftige mich im Folgenden vor allem mit Funktionen, die das Spiel angenehmer machen, z.B. Autocast Hotkeys, Invoker Hotkeys und weiterem.
Wer die volle Vielfalt von AutoWarkey kennen lernen will, sollte sich die Autohotkey-Hilfe-Datei anschauen (an der früher oder später sowieso kein Weg vorbeigeht, wenn man seine eigenen Vorstellungen umsetzen will).
Diese Datei findet man im Warkeys Verzeichnis unter \AutoWarkey\AutoHotkey\AutoHotkey.chm
[HRLINE][/HRLINE]
Muss ich programmieren können?
Was für DotA wirklich nützlich ist, bekommt man auch als Laie hin. Ein gewissen Grundverständnis schadet aber gewiss nicht. Vieles funktioniert auch ohne einen User Code zu schreiben, damit werde ich mich im folgenden aber nicht beschäftigen, da das Programm ansonsten relativ selbsterklärend ist. Am Ende des Guides findet man auch fertige User Code Teile, für alle, die sich nicht weiter in das Thema einlesen möchten aber trotzdem von den Möglichkeiten des Programms profitieren wollen.
[HRLINE][/HRLINE]
Hotstrings
Hotstrings sind die schnellste und einfachste Art, Hotkeys zu belegen.
Mit diesem Befehl wird bei Drücken der Taste X ein Y gesendet. Für komplexere Befehle wird "send" verwendet.
[HRLINE][/HRLINE]
Hotkeys vergeben und Send Befehl
Um irgendeine Funktion im Spiel auszulösen, brauchen wir einen Hotkey dafür. Tastenkombinationen sind natürlich auch möglich.
macht die Taste X zum Auslöser für nachfolgendes, z.B. einen einfachen "Send" Befehl.
Auch mit diesem Befehl wird bei drücken der Taste X ein Y gesendet. Natürlich lassen sich auch ganze Sätze schreiben, so könnte man sich z.B. einen "me solo mid" Hotkey erstellen, das sähe dann so aus:
Hier wird bei Druck der Taste X "me solo mid" in den Teamchat geschrieben.
Am Ende muss immer "return" folgen.
[HRLINE][/HRLINE]
Maus
Die Maus Bewegen und klicken kann Warkeys natürlich auch. Dazu ist der gesammte Bildschirm in ein Koordinatensystem eingeteilt. Der Ursprung befindet sich links oben, rechts unten ist (1/1).
Hier einige Koordinaten:
Spell 1: (0.79583*A_ScreenWidth), (0.95428*A_ScreenHeight)
Spell 2: (0.85238*A_ScreenWidth), (0.95428*A_ScreenHeight)
Spell 3: (0.90476*A_ScreenWidth), (0.95428*A_ScreenHeight)
Spell 4: (0.96071*A_ScreenWidth), (0.95428*A_ScreenHeight)
Sonderspell 1: (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
Sonderspell 2: (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
Zum Bewegen der Maus ist folgender Befehl da:
Geschwindigkeit und weiteres lässt sich auch noch einstellen, ist hierfür aber irrelevant, näheres im Help File.
Um einen Mausklick zu machen, gibt es folgenden Befehl:
Anstelle von [Button] muss die gewünschte Maustaste stehen, zur Auswahl stehen R, M, L, XButton1 und XButton2 für Rechts, Mitte, Links, und zwei Zusatztasten (Daumentasten).
Geschwindigkeit und weiteres lässt sich auch noch einstellen, ist hierfür aber irrelevant, näheres im Help File.
Um einen Klick auf einen Button in Warcraft 3 ausführen zu lassen, empfiehlt es sich erst die Maus auf den Button zu bewegen und dann einen Klick ausführen zu lassen, sonst ist es manchmal nicht ganz zuverlässig.
Um einen Rechtsklick auf den ersten Spell eines Helden beim Drücken der Taste X ausführen zu lassen, wird also folgender Befehl angewandt:
Natürlich möchte man die Maus hinterher auch wieder am Ausgangspunkt vorfinden, dazu muss man die Ausgangskoordinaten vor dem Bewegen der Maus speichern, das geht mit folgendem Befehl:
Hierbei werden die Koordinaten in x und y gespeichert.
Um zu verhindern, dass bei gedrückter Maustaste Rahmen gezogen werden, sollte der Maus-Input blockiert und ein eventueller Mausklick beendet werden, anschließend wird die Maus wieder freigegeben.
Def komplette Befehl sieht in der Praxis also folgendermaßen aus:
[HRLINE][/HRLINE]
Werte in Variablen speichern
Eigentlich habe ich es schon vorweggegriffen, natürlich lassen sich Werte auch in Variablen speichern. Folgender Operator weist der Variablen z den Wert 1 zu:
Es gibt auch noch andere Möglichkeiten, die sind hierfür aber nicht von Belang, näheres siehe im Help File.
If Ausdruck
Dem If Ausdruck folgt immer eine Aussage, die entweder wahr oder Falsch sein kann. Ist sie wahr, wird das Nachfolgende ausgelöst, sonst nicht.
Mit folgendem Ausdruck, wird "BOB" in den Chat geschrieben, falls die Variable B den Wert 1 hat:
Falls die Variable B nicht den Wert 1 hat, passiert hierbei gar nichts. Soll etwas anders passieren, verwendet man "else"
Möchte ich statt "BOB" "NOOB" schreiben, sofern B nicht 1 ist, erweitere ich den Ausdruck folgendermaßen:
Glückwunsch! Wer bis hierher folgen konnte, hat jetzt alles Handwerkszeug beisammen, das man braucht, um eigene Profile für verschiedene Helden mit verschiedenen Anforderungen, z.B. Autocasts auf verschiedenen Buttons, zu schreiben.
[HRLINE][/HRLINE]
Fertige Script Teile
Für die faulen gibt es hier noch ein paar nützliche Sachen. Der entsprechende Hotkey steht immer in Klammern und kann natürlich beliebig geändert werden. Einfach in den User Code kopieren und Spaß haben.
Ersten Helden auswählen auf Leertaste (Space)
Miss Top/Mid/Bot Hotkeys (UJM)
Multiboard Hotkey (<)
Autocast Profile für alle 6 möglichen Spell Buttons (XButton1)
Quellcode
- auto := 0
- Numpad0::
- auto := 0
- SoundBeep, 1000, 200
- return
- Numpad1::
- auto := 1
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- Numpad2::
- auto := 2
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- Numpad3::
- auto := 3
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- Numpad4::
- auto := 4
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- Numpad5::
- auto := 5
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- Numpad6::
- auto := 6
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- XButton1::
- if auto = 0
- {
- Send, x
- }
- else
- {
- BlockInput, Mouse
- Click up left
- MouseGetPos, x, y
- }
- if auto = 1
- {
- MouseMove, (0.79583*A_ScreenWidth), (0.95428*A_ScreenHeight)
- MouseClick, R, (0.79583*A_ScreenWidth), (0.95428*A_ScreenHeight)
- }
- if auto = 2
- {
- MouseMove, (0.85238*A_ScreenWidth), (0.95428*A_ScreenHeight)
- MouseClick, R, (0.85238*A_ScreenWidth), (0.95428*A_ScreenHeight)
- }
- if auto = 3
- {
- MouseMove, (0.90476*A_ScreenWidth), (0.95428*A_ScreenHeight)
- MouseClick, R, (0.90476*A_ScreenWidth), (0.95428*A_ScreenHeight)
- }
- if auto = 4
- {
- MouseMove, (0.96071*A_ScreenWidth), (0.95428*A_ScreenHeight)
- MouseClick, R, (0.96071*A_ScreenWidth), (0.95428*A_ScreenHeight)
- }
- if auto = 5
- {
- MouseMove, (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseClick, R, (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
- }
- if auto = 6
- {
- MouseMove, (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseClick, R, (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
- }
- if auto != 0
- {
- MouseMove, x, y
- BlockInput, off
- }
- return
Invoker Keys (X, C), aktivieren auf I, deaktivieren auf strg+I
Quellcode
- I::
- i := 1
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- ^i::
- i := 0
- SoundBeep, 1000, 200
- return
- X::
- if i = 1
- {
- BlockInput, Mouse
- Click up left
- MouseGetPos, x, y
- MouseMove, (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseClick, L, (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseMove, x, y
- Blockinput, off
- }
- else
- {
- Send x
- }
- return
- C::
- if i = 1
- {
- BlockInput, Mouse
- Click up left
- MouseGetPos, x, y
- MouseMove, (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseClick, L, (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseMove, x, y
- Blockinput, off
- }
- else
- {
- send c
- }
- return
Rubick Spell Steal Script V 2
Dieses Script setzt den gestohlenen Spell auf ein einen Hotkey und verhindert alle Überschneidungen mit Rubicks eigenen Spells.
Benötigt werden Autowarkey und Customkeys.
In den Customkeys sind die aktiven Spells von Rubick folgendermaßen zu ersetzen:
QWER
Quellcode
- [A27F]
- Tip=(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 1|r],(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 2|r],(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 3|r],(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level %d|r]
- Hotkey=I
- Researchhotkey=I
- [A27X]
- Tip=(|cffffcc00Q|r) Telekinesis Land
- Hotkey=I
- [A27G]
- Tip=(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 1|r],(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 2|r],(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 3|r],(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level %d|r]
- Hotkey=O
- Researchhotkey=O
- [A27H]
- Tip=(|cffffcc00R|r) Spell Steal - [|cffffcc00Level 1|r],(|cffffcc00R|r) Spell Steal - [|cffffcc00Level 2|r],(|cffffcc00R|r) Spell Steal - [|cffffcc00Level 3|r]
- Researchtip=(|cffffcc00R|r) Spell Steal - [|cffffcc00Level %d|r]
- Hotkey=P
- Researchhotkey=P
Quellcode
- [A27F]
- Tip=(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 1|r],(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 2|r],(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 3|r],(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00A|r) Telekinesis - [|cffffcc00Level %d|r]
- Hotkey=I
- Researchhotkey=I
- [A27X]
- Tip=(|cffffcc00A|r) Telekinesis Land
- Hotkey=I
- [A27G]
- Tip=(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 1|r],(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 2|r],(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 3|r],(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level %d|r]
- Hotkey=O
- Researchhotkey=O
- [A27H]
- Tip=(|cffffcc00F|r) Spell Steal - [|cffffcc00Level 1|r],(|cffffcc00F|r) Spell Steal - [|cffffcc00Level 2|r],(|cffffcc00F|r) Spell Steal - [|cffffcc00Level 3|r]
- Researchtip=(|cffffcc00F|r) Spell Steal - [|cffffcc00Level %d|r]
- Hotkey=P
- Researchhotkey=P
Quellcode
- [A27F]
- Tip=(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 1|r],(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 2|r],(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 3|r],(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level %d|r]
- Hotkey=I
- Researchhotkey=I
- [A27X]
- Tip=(|cffffcc00I|r) Telekinesis Land
- Hotkey=I
- [A27G]
- Tip=(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 1|r],(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 2|r],(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 3|r],(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level %d|r]
- Hotkey=O
- Researchhotkey=O
- [A27H]
- Tip=(|cffffcc00V|r) Spell Steal - [|cffffcc00Level 1|r],(|cffffcc00V|r) Spell Steal - [|cffffcc00Level 2|r],(|cffffcc00V|r) Spell Steal - [|cffffcc00Level 3|r]
- Researchtip=(|cffffcc00V|r) Spell Steal - [|cffffcc00Level %d|r]
- Hotkey=P
- Researchhotkey=P
Die Invoker Hotkeys (nur Invokes) sind durch folgende zu ersetzen. Anmerkung: Die Invokes haben dann alle den gleichen Hotkey und lassen sich dadurch ohne Script/Tool nicht mehr verwenden. Wer dies nicht möchte, lässt diesen Teil weg, hat dann allerdings keinen Hotkey für gestohlene Invokes. Mit der weiter oben stehenden Version des Scripts tritt dieses Problem nicht auf, allerdings ist die Verzögerung dabei etwas größer.
Quellcode
- [a0vn]
- Tip=Chaos Meteor [EEW]
- Hotkey=U
- [a0vs]
- Tip=Emp [WWW]
- Hotkey=U
- [a0vk]
- Tip=Tornado [WWQ]
- Hotkey=U
- [a0xl]
- Tip=Ghost Walk [QQW]
- Hotkey=U
- [a0vm]
- Tip=Deafeaning Blast [QWE]
- Hotkey=U
- [a0vp]
- Tip=Ice Wall [QQE]
- Hotkey=U
- [a0vg]
- Tip=Sun Strike [EEE]
- Hotkey=U
- [a0vq]
- Tip=Alacrity [WWE]
- Hotkey=U
- [a0vo]
- Tip=Forge Spirit [EEQ]
- Hotkey=U
- [a0vz]
- Tip=Cold Snap [QQQ]
- Hotkey=U
Unter Usercode ist folgendes einzufügen:
Wird noch ein Invokerscript für die gleichen Hotkeys verwendet, führt das zu überschneidungen. Die entsprechenden Scriptteile müssen dann ineinander integriert werden. Für Hilfe dabei PM an mich.
QWER/übernommener Spell auf S, Subspell auf D
Quellcode
- m::
- m := 1
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- ^m::
- m := 0
- SoundBeep, 1000, 200
- return
- s::
- if m = 1
- {
- send qweru
- }
- else
- {
- send s
- }
- return
- d::
- if m = 1
- {
- send sd
- }
- else
- {
- send d
- }
- return
- q::
- if m = 1
- {
- send i
- }
- else
- {
- send q
- }
- return
- w::
- if m = 1
- {
- send o
- }
- else
- {
- send w
- }
- return
- r::
- if m = 1
- {
- send p
- }
- else
- {
- send r
- }
- return
Quellcode
- m::
- m := 1
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- ^m::
- m := 0
- SoundBeep, 1000, 200
- return
- x::
- if m = 1
- {
- send asdfu
- }
- else
- {
- send x
- }
- return
- c::
- if m = 1
- {
- send xc
- }
- else
- {
- send c
- }
- return
- a::
- if m = 1
- {
- send i
- }
- else
- {
- send a
- }
- return
- s::
- if m = 1
- {
- send o
- }
- else
- {
- send s
- }
- return
- f::
- if m = 1
- {
- send p
- }
- else
- {
- send f
- }
- return
Quellcode
- m::
- m := 1
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- ^m::
- m := 0
- SoundBeep, 1000, 200
- return
- s::
- if m = 1
- {
- send yxcvu
- }
- else
- {
- send s
- }
- return
- d::
- if m = 1
- {
- send sd
- }
- else
- {
- send d
- }
- return
- y::
- if m = 1
- {
- send i
- }
- else
- {
- send y
- }
- return
- x::
- if m = 1
- {
- send o
- }
- else
- {
- send x
- }
- return
- v::
- if m = 1
- {
- send p
- }
- else
- {
- send v
- }
- return
[HRLINE][/HRLINE]
Invoker & Rubick Script
Dieses Script belegt die zwei Hotkeys für Sonderspells (in meinen QWER und YXCV Versionen sind das S und D, bei ASDF X unf C) mit den beiden Invokes oder Rubicks gestohlenem Spell sowie einem eventuellen Subspell.
Um das Invoker Profil zu aktivieren, dient die Taste I, für Rubick M. Deaktivieren lässt sich das Script mit strg+I und strg+M.
Voraussetzungen:
- Customkeys mit einheitlicher Belegung für alle Helden
- Autowarkey
Zunächst muss die Hotkeybelegung eingestellt werden. Kopiert dazu den ganzen Text in ein Textbearbeitungsprogramm und benutzt die Suchen und Ersetzen Funktion (in der Regel strg+f).
Zu ersetzen ist:
- [spell1], [spell2], [spell3] und [spell4] mit den in den Customkeys eingestellten Hotkeys für die normalen 4 Spells.
- [sonderspell1] und [sonderspell2] mit den in den Customkeys eingestellten Hotkeys für die zwei Sonderspells (Blinding Light, Relocate, Eternal Jaunt, etc.)
Achtung: Unbedingt Kleinbuchstaben verwenden!
Danach kann der Text unter "User Code" in Autowarkeys eigenfügt werden.
Quellcode
- i := 0
- I::
- i := 1
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- ^i::
- i := 0
- SoundBeep, 1000, 200
- return
- m::
- i := 2
- SoundBeep, 1000, 50
- Sleep, 50
- SoundBeep, 1000, 50
- return
- ^m::
- i := 0
- SoundBeep, 1000, 200
- return
- [Sonderspell1]::
- if i = 1
- {
- BlockInput, Mouse
- Click up left
- MouseGetPos, x, y
- MouseMove, (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseClick, L, (0.85238*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseMove, x, y
- Blockinput, off
- }
- if i = 2
- {
- send [Spell1][Spell2][Spell3][Spell4]u
- }
- if i = 0
- {
- Send [Sonderspell1]
- }
- return
- [Sonderspell2]::
- if i = 1
- {
- BlockInput, Mouse
- Click up left
- MouseGetPos, x, y
- MouseMove, (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseClick, L, (0.90476*A_ScreenWidth), (0.88380*A_ScreenHeight)
- MouseMove, x, y
- Blockinput, off
- }
- if i = 2
- {
- send [Sonderspell1][Sonderspell2]
- }
- if i = 0
- {
- send [Sonderspell2]
- }
- return
- [Spell1]::
- if i = 2
- {
- send i
- }
- else
- {
- send [Spell1]
- }
- return
- [Spell2]::
- if i = 2
- {
- send o
- }
- else
- {
- send [Spell2]
- }
- return
- [Spell4]::
- if i = 2
- {
- send p
- }
- else
- {
- send [Spell4]
- }
- return
Desweiteren müssen in den Customkeys die Hotkeys und Researchhotkeys der aktiven Spells von Rubick auf I,O und P gelegt werden.
Wer eine QWER, ASDF oder YXCV Version verwendet, kann dazu die entsprechenden Einträge durch folgende ersetzen:
QWER
Quellcode
- [A27F]
- Tip=(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 1|r],(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 2|r],(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 3|r],(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00Q|r) Telekinesis - [|cffffcc00Level %d|r]
- Hotkey=I
- Researchhotkey=I
- [A27X]
- Tip=(|cffffcc00Q|r) Telekinesis Land
- Hotkey=I
- [A27G]
- Tip=(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 1|r],(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 2|r],(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 3|r],(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00W|r) Fade Bolt - [|cffffcc00Level %d|r]
- Hotkey=O
- Researchhotkey=O
- [A27H]
- Tip=(|cffffcc00R|r) Spell Steal - [|cffffcc00Level 1|r],(|cffffcc00R|r) Spell Steal - [|cffffcc00Level 2|r],(|cffffcc00R|r) Spell Steal - [|cffffcc00Level 3|r]
- Researchtip=(|cffffcc00R|r) Spell Steal - [|cffffcc00Level %d|r]
- Hotkey=P
- Researchhotkey=P
ASDF
Quellcode
- [A27F]
- Tip=(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 1|r],(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 2|r],(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 3|r],(|cffffcc00A|r) Telekinesis - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00A|r) Telekinesis - [|cffffcc00Level %d|r]
- Hotkey=I
- Researchhotkey=I
- [A27X]
- Tip=(|cffffcc00A|r) Telekinesis Land
- Hotkey=I
- [A27G]
- Tip=(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 1|r],(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 2|r],(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 3|r],(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00S|r) Fade Bolt - [|cffffcc00Level %d|r]
- Hotkey=O
- Researchhotkey=O
- [A27H]
- Tip=(|cffffcc00F|r) Spell Steal - [|cffffcc00Level 1|r],(|cffffcc00F|r) Spell Steal - [|cffffcc00Level 2|r],(|cffffcc00F|r) Spell Steal - [|cffffcc00Level 3|r]
- Researchtip=(|cffffcc00F|r) Spell Steal - [|cffffcc00Level %d|r]
- Hotkey=P
- Researchhotkey=P
YXCV
Quellcode
- [A27F]
- Tip=(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 1|r],(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 2|r],(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 3|r],(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00Y|r) Telekinesis - [|cffffcc00Level %d|r]
- Hotkey=I
- Researchhotkey=I
- [A27X]
- Tip=(|cffffcc00I|r) Telekinesis Land
- Hotkey=I
- [A27G]
- Tip=(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 1|r],(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 2|r],(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 3|r],(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level 4|r]
- Researchtip=(|cffffcc00X|r) Fade Bolt - [|cffffcc00Level %d|r]
- Hotkey=O
- Researchhotkey=O
- [A27H]
- Tip=(|cffffcc00V|r) Spell Steal - [|cffffcc00Level 1|r],(|cffffcc00V|r) Spell Steal - [|cffffcc00Level 2|r],(|cffffcc00V|r) Spell Steal - [|cffffcc00Level 3|r]
- Researchtip=(|cffffcc00V|r) Spell Steal - [|cffffcc00Level %d|r]
- Hotkey=P
- Researchhotkey=P
Die Invoker Hotkeys (nur Invokes) sind alle auf U zu legen.
Ersetzt dazu die entsprechenden Einträge durch diese hier:
Quellcode
- [a0vn]
- Tip=Chaos Meteor [EEW]
- Hotkey=U
- [a0vs]
- Tip=Emp [WWW]
- Hotkey=U
- [a0vk]
- Tip=Tornado [WWQ]
- Hotkey=U
- [a0xl]
- Tip=Ghost Walk [QQW]
- Hotkey=U
- [a0vm]
- Tip=Deafeaning Blast [QWE]
- Hotkey=U
- [a0vp]
- Tip=Ice Wall [QQE]
- Hotkey=U
- [a0vg]
- Tip=Sun Strike [EEE]
- Hotkey=U
- [a0vq]
- Tip=Alacrity [WWE]
- Hotkey=U
- [a0vo]
- Tip=Forge Spirit [EEQ]
- Hotkey=U
- [a0vz]
- Tip=Cold Snap [QQQ]
- Hotkey=U
[HRLINE][/HRLINE]
Dieser Beitrag wurde bereits 16 mal editiert, zuletzt von Hellfish ()
[kael4_32] Customkeys
[claymore_32] Optimierte Suggested Items
[boneclinkz2_32] Autowarkey Guide & Sammelthread
[claymore_32] Optimierte Suggested Items
[boneclinkz2_32] Autowarkey Guide & Sammelthread