For those of us who choose not to work with Octopus or KeyClone. I know there hasn't been a post about AutoHotKey in awhile, so I thought I'd re-vitalize the area.
Anyone with thoughts, or suggestions, please feel free; I'd love the input! ^^
------------------------------------------------------------------------------------------------------------------------
;
; Wow Duel Account Helper Version: .02a
; Language: English
; Platform: AutoHotkey Script
; Author: Sorn
; NOTES: Written for the Duel-Boxing.com forums, Send PM or post in the Autohotkey thread for assistance or suggestions
;
; Script Function:
; Allows you to play two copies of WOW at the same time
;
;Tell user what is about to happen
SplashTextOn, 325, , Preparing to find your Main and Clone windows of WoW.
Sleep, 2000
SplasHtextoff
;Grab unique window ID's
WinGet, wowid, List, World of Warcraft
; Minimize All WOW windows
WinMinimize, ahk_id %wowid1%
WinMinimize, ahk_id %wowid2%
;Determine Main and Clone Windows
WinActivate, ahk_id %wowid1%
MsgBox, 4,, Is this your WOW Main window? (press Yes or No)
IfMsgBox Yes
idMain = %wowid1%
else
idMain = %wowid2%
If idMain = %wowid1%
{
idClone = %wowid2%
} else {
idClone = %wowid1%
}
;Activate All WOW windows
WinActivate, ahk_id %idClone%
WinActivate, ahk_id %idMain%
;*** Special Functions ***
#IfWinActive, World of Warcraft
; *** Makes wow2 follow Wow1 Player ***
^-::
ControlSend,,{- down}{- up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
; *** Makes wow2 Assist Wow1 Player ***
^=::
ControlSend,,{= down}{= up}, ahk_id %idClone%
return
;--------------------------------------------------------------------------------
ClonesPush(strKeys)
{
global idMain
global idClone
IfWinNotActive, ahk_id %idMain%
ControlSend, , %strKeys%, ahk_id %idMain%
IfWinNotActive, ahk_id %idClone%
ControlSend, , %strKeys%, ahk_id %idClone%
}
; *** Jump ***
~Space::ClonesPush("{Space down}")
~Space Up::ClonesPush("{Space up}")
; *******************
; *** Hotbars 1-0 ***
; *******************
~1::ClonesPush("{= down}{= up}{1 down}{1 up}")
~2::ClonesPush("{= down}{= up}{2 down}{2 up}")
~3::ClonesPush("{= down}{= up}{3 down}{3 up}")
~4::ClonesPush("{= down}{= up}{4 down}{4 up}")
~5::ClonesPush("{= down}{= up}{5 down}{5 up}")
~6::ClonesPush("{= down}{= up}{6 down}{6 up}")
~7::ClonesPush("{= down}{= up}{7 down}{7 up}")
~8::ClonesPush("{= down}{= up}{8 down}{8 up}")
~9::ClonesPush("{= down}{= up}{9 down}{9 up}")
~0::ClonesPush("{= down}{= up}{0 down}{0 up}")
; ****************************
; *** Hotbars SHIFT(+) 1-0 ***
; ****************************
~+1::ClonesPush("{Shift down}{= down}{= up}{1 down}{1 up}{Shift up}")
~+2::ClonesPush("{Shift down}{= down}{= up}{2 down}{2 up}{Shift up}")
~+3::ClonesPush("{Shift down}{= down}{= up}{3 down}{3 up}{Shift up}")
~+4::ClonesPush("{Shift down}{= down}{= up}{4 down}{4 up}{Shift up}")
~+5::ClonesPush("{Shift down}{= down}{= up}{5 down}{5 up}{Shift up}")
~+6::ClonesPush("{Shift down}{= down}{= up}{6 down}{6 up}{Shift up}")
~+7::ClonesPush("{Shift down}{= down}{= up}{7 down}{7 up}{Shift up}")
~+8::ClonesPush("{Shift down}{= down}{= up}{8 down}{8 up}{Shift up}")
~+9::ClonesPush("{Shift down}{= down}{= up}{9 down}{9 up}{Shift up}")
~+0::ClonesPush("{Shift down}{= down}{= up}{0 down}{0 up}{Shift up}")
; ***************************
; *** Hotbars CTRL(^) 1-0 ***
; ***************************
~^1::ClonesPush("{Ctrl down}{= down}{= up}{1 down}{1 up}{Ctrl up}")
~^2::ClonesPush("{Ctrl down}{= down}{= up}{2 down}{2 up}{Ctrl up}")
~^3::ClonesPush("{Ctrl down}{= down}{= up}{3 down}{3 up}{Ctrl up}")
~^4::ClonesPush("{Ctrl down}{= down}{= up}{4 down}{4 up}{Ctrl up}")
~^5::ClonesPush("{Ctrl down}{= down}{= up}{5 down}{5 up}{Ctrl up}")
~^6::ClonesPush("{Ctrl down}{= down}{= up}{6 down}{6 up}{Ctrl up}")
~^7::ClonesPush("{Ctrl down}{= down}{= up}{7 down}{7 up}{Ctrl up}")
~^8::ClonesPush("{Ctrl down}{= down}{= up}{8 down}{8 up}{Ctrl up}")
~^9::ClonesPush("{Ctrl down}{= down}{= up}{9 down}{9 up}{Ctrl up}")
~^0::ClonesPush("{Ctrl down}{= down}{= up}{0 down}{0 up}{Ctrl up}")
; **************************
; *** Hotbars Alt(!) 1-0 ***
; **************************
~!1::ClonesPush("{Alt down}{= down}{= up}{1 down}{1 up}{Alt up}")
~!2::ClonesPush("{Alt down}{= down}{= up}{2 down}{2 up}{Alt up}")
~!3::ClonesPush("{Alt down}{= down}{= up}{3 down}{3 up}{Alt up}")
~!4::ClonesPush("{Alt down}{= down}{= up}{4 down}{4 up}{Alt up}")
~!5::ClonesPush("{Alt down}{= down}{= up}{5 down}{5 up}{Alt up}")
~!6::ClonesPush("{Alt down}{= down}{= up}{6 down}{6 up}{Alt up}")
~!7::ClonesPush("{Alt down}{= down}{= up}{7 down}{7 up}{Alt up}")
~!8::ClonesPush("{Alt down}{= down}{= up}{8 down}{8 up}{Alt up}")
~!9::ClonesPush("{Alt down}{= down}{= up}{9 down}{9 up}{Alt up}")
~!0::ClonesPush("{Alt down}{= down}{= up}{0 down}{0 up}{Alt up}")
; *******************************
; *** Hotbars Numpad1-Numpad0 ***
; *******************************
~Numpad1::ClonesPush("{Ctrl down}{Alt down}{= down}{= up}{1 down}{1 up}{Ctrl up}{Alt Up}")
~Numpad2::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{2 down}{2 up}{Ctrl up}{Alt Up}")
~Numpad3::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{3 down}{3 up}{Ctrl up}{Alt Up}")
~Numpad4::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{4 down}{4 up}{Ctrl up}{Alt Up}")
~Numpad5::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{5 down}{5 up}{Ctrl up}{Alt Up}")
~Numpad6::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{6 down}{6 up}{Ctrl up}{Alt Up}")
~Numpad7::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{7 down}{7 up}{Ctrl up}{Alt Up}")
~Numpad8::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{8 down}{8 up}{Ctrl up}{Alt Up}")
~Numpad9::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{9 down}{9 up}{Ctrl up}{Alt Up}")
~Numpad0::ClonesPush("{Ctrl down}{Alt Down}{= down}{= up}{0 down}{0 up}{Ctrl up}{Alt Up}")
; **********************************
; *** Move clones (not reliable) ***
; **********************************
Up::ClonesPush("{Up down}")
Up Up::ClonesPush("{Up up}")
Down::ClonesPush("{Down down}")
Down Up::ClonesPush("{Down up}")
Left::ClonesPush("{Left down}")
Left Up::ClonesPush("{Left up}")
Right::ClonesPush("{Right down}")
Right Up::ClonesPush("{Right up}")
;************************************************* ***********************************************
;********************************** SETTINGS **********************************************
;************************************************* ***********************************************
;Some of the settings you'll need to change.
;
;Under "Key Bindings" of the main menu you'll find "MultiAction Bar Bindings"
;By default they have no key binding.
;Set "BottomLeft Action Button 1-12" to "Shift 1-="
;Set "BottomRight Action Button 1-12" to "Ctrl 1-="
;Set "Right Action Button 1-12" to "Alt 1-="
;Set "Right ActionBar 2 Button 1-12" to "Ctrl-Alt 1-=" (For use with Numpad 1-0)
;
;Under "Interface" of the main menu you'll find "ActionBars"
;Click to show "Bottom Left Bar," "Bottom Right Bar," "Right Bar," and "Right Bar 2."
;
;Under "Macros" of the main menu, create a few new macros.
;Here's where things get creative. If you've noticed, I haven't made any
;"ClonesPush" for the "=" as that is your targetting macro on each bar.
;Simply put who you want to target with the spells on said bar.
;For heal classes I suggest you make a /target self for a healing bar.
;The other bars are for things like: /assist, /target leader, and consumables.
Connect With Us