
Originally Posted by
Sorn
Ok I edited a few of the examples throughout this thread into one script. This scripts allows the use of keys 1-0, Shift+1-0, and Cntl+1-0 for a total of 30 hotkeys you can pass back and forth between the two clients.
This script also is dependant upon two in-game macros you will have to make.
FOLLOW
/follow party1
and
ASSIST
/assist party1
Place these two macros in hotbar location - and =
- is for Follow
and
= is for Assist
This is a general script that will allow you to control any combination of characters, as with anything the usefulness of it depends on your understanding of your characters the placement of your skills.
Description of Script
Simply put it allows both clients to receive the same key press at the same time.
Client 1 (Main) - presses Key 1
Client 1 (Main) - receives Key 1 Input
Client 2 (Drone) - receives Key 1 Input
it also makes Client 2 assist Client 1 with every key press, this can be removed for your own needs by removing the line
ControlSend,,{= down}{= up}, ahk_id %wowid2%
from any of the keypress functions. Why is this needed, for most spells a target is required, so this tells Client 2 to use Client 1's target to cast what ever ability you are telling it to cast. And the script is simply telling Client 2 to press = (bound to macro Assist).
Things to watch out for
When testing this with a Warlock/Mage Combo as well as a Hunter/Hunter combo I noticed when Client 2 (Drone) goes into melee combat it leaves AutoFollowing Mode, so to tell Client 2 to start following you again simply Press Cntrl+- to have him follow you again.
Expand the script to meet your needs
AutoHotkey is a powerful yet very simple to understand scripting language, if you need a delay in between your Client 1 and Client 2 attacks add a pause in there to space out the attacks.
How to use this code
First i'm assuming you have AutoHotkey installed already if not, do that now, then Copy and paste all this code below into a text file and Save As DuelAccountHelper.ahk the ahk extension lets Autohotkey know this is a script file and to process it accordingly.
[code:1]
; ***************************
; *** Duel Account Helper ***
; ***************************
WinGet, wowid, List, World of Warcraft
;*** Special Functions ***
#IfWinActive, World of Warcraft
; *** Makes wow2 follow Wow1 Player ***
^-::
ControlSend,,{- down}{- up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
; *** Makes wow2 Assist Wow1 Player ***
^=::
ControlSend,,{= down}{= up}, ahk_id %wowid2%
return
; *******************
; *** Hotbars 1-0 ***
; *******************
#IfWinActive, World of Warcraft
~1::
ControlSend,,{1 down}{1 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{1 down}{1 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~2::
ControlSend,,{2 down}{2 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{2 down}{2 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~3::
ControlSend,,{3 down}{3 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{3 down}{3 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~4::
ControlSend,,{4 down}{4 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{4 down}{4 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~5::
ControlSend,,{5 down}{5 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{5 down}{5 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~6::
ControlSend,,{6 down}{6 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{6 down}{6 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~7::
ControlSend,,{7 down}{7 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{7 down}{7 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~8::
ControlSend,,{8 down}{8 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{8 down}{8 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~9::
ControlSend,,{9 down}{9 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{9 down}{9 up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~0::
ControlSend,,{0 down}{0 up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{0 down}{0 up}, ahk_id %wowid2%
return
; ***************************
; *** Hotbars Shift + 1-0 ***
; ***************************
#IfWinActive, World of Warcraft
~+1::
ControlSend,,{Shift down}{1 down}{1 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{1 down}{1 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+2::
ControlSend,,{Shift down}{2 down}{2 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{2 down}{2 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+3::
ControlSend,,{Shift down}{3 down}{3 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{3 down}{3 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+4::
ControlSend,,{Shift down}{4 down}{4 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{4 down}{4 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+5::
ControlSend,,{Shift down}{5 down}{5 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{5 down}{5 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+6::
ControlSend,,{Shift down}{6 down}{6 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{6 down}{6 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+7::
ControlSend,,{Shift down}{7 down}{7 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{7 down}{7 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+8::
ControlSend,,{Shift down}{8 down}{8 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{8 down}{8 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+9::
ControlSend,,{Shift down}{9 down}{9 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{9 down}{9 up}{Shift up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~+0::
ControlSend,,{Shift down}{0 down}{0 up}{Shift up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Shift down}{0 down}{0 up}{Shift up}, ahk_id %wowid2%
return
; **************************
; *** Hotbars Cntl + 1-0 ***
; **************************
#IfWinActive, World of Warcraft
~^1::
ControlSend,,{Ctrl down}{1 down}{1 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{1 down}{1 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^2::
ControlSend,,{Ctrl down}{2 down}{2 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{2 down}{2 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^3::
ControlSend,,{Ctrl down}{3 down}{3 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{3 down}{3 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^4::
ControlSend,,{Ctrl down}{4 down}{4 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{4 down}{4 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^5::
ControlSend,,{Ctrl down}{5 down}{5 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{5 down}{5 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^6::
ControlSend,,{Ctrl down}{6 down}{6 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{6 down}{6 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^7::
ControlSend,,{Ctrl down}{7 down}{7 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{7 down}{7 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^8::
ControlSend,,{Ctrl down}{8 down}{8 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{8 down}{8 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^9::
ControlSend,,{Ctrl down}{9 down}{9 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{9 down}{9 up}{Ctrl up}, ahk_id %wowid2%
return
#IfWinActive, World of Warcraft
~^0::
ControlSend,,{Ctrl down}{0 down}{0 up}{Ctrl up}, ahk_id %wowid1%
ControlSend,,{= down}{= up}, ahk_id %wowid2%
ControlSend,,{Ctrl down}{0 down}{0 up}{Ctrl up}, ahk_id %wowid2%
return
[/code:1]
PS. Not sure about how your system acts with Wow windowed, but I'm running a 2.20GHtz Athlon 64, with 3Gigs of Ram and wow lags a hell of alot with two copies open and running, To improve performance I shrank Client 2 down as small of a window as I could get it and Had Client one shank down enough where performance wasn't laggy anymore.
Connect With Us