Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate

AUTO HOT KEY / WOW (Vith's script)


  • Please log in to reply
37 replies to this topic
pimpin
  • Guests
  • Last active:
  • Joined: --
YOU ARE MY HERO THIS WORKS PERFECT!



Is it possible to use 1-= buttons as well as add more like alt+1-=


thanks


Not a problem. Now, my approach is different again to the ones taken by most other people on the forums. I found it was easier to identify the WoW windows as mains/clones, then send keystrokes. It is currently set up to only work with 2 instances. With some tweaking I'm sure you could get the idea to work with multiple instances. :twisted:

; 
; 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.



M1ck3y16
  • Guests
  • Last active:
  • Joined: --
i cant get it to work, how do you change wow.exe to wowid1 and wowid2

cloud6
  • Guests
  • Last active:
  • Joined: --
every once in awhile we have to reload the script because the 2nd character doesnt do what its suppose to and we're trying to figure out why? lol

Wowmultibo
  • Guests
  • Last active:
  • Joined: --
Hi,i got some problems, whenever I target some1 with my main character, my 2nd chracter targets it SOMTIMES alsow and will cast her spell, but sometimes it will target a different one, or it wont target anyone.

could some1 post the macro, like, Follow, attack, and stuff

Dixtroy
  • Members
  • 20 posts
  • Last active: Feb 02 2012 01:30 PM
  • Joined: 15 Sep 2008
pimpin, this part should be simple, like this:
; *******************
; *** Hotbars 1-0 ***
; ******************* 
~1::
~2::
~3::
~4::
~5::
~6::
~7::
~8::
~9::
~0::

; ****************************
; *** Hotbars SHIFT(+) 1-0 ***
; ****************************
~+1::
~+2::
~+3::
~+4::
~+5::
~+6::
~+7::
~+8::
~+9::
~+0::

; ***************************
; *** Hotbars CTRL(^) 1-0 ***
; ***************************
~^1::
~^2::
~^3::
~^4::
~^5::
~^6::
~^7::
~^8::
~^9::
~^0::

; **************************
; *** Hotbars Alt(!) 1-0 ***
; **************************
~!1::
~!2::
~!3::
~!4::
~!5::
~!6::
~!7::
~!8::
~!9::
~!0::
  StringSplit, c, A_ThisHotkey
  global idMain
  global idClone
  IfWinNotActive, ahk_id %idMain%
    ControlSend, , % (c0=2 ? "=" c2 : c1 "=" c2 c3), ahk_id %idMain%
  IfWinNotActive, ahk_id %idClone%
    ControlSend, , % % (c0=2 ? "=" c2 : c1 "=" c2 c3), ahk_id %idClone%
return


yo
  • Guests
  • Last active:
  • Joined: --

ok..this program doesn't work very well but i tried another version and worked. my issue is now..if i quest with 2 chars..is there any possibility for the second char to loot quest items?


Looting is the only issue I'm struggling with as well.


hotkey target last target and interact in keybindings

shawnsm
  • Members
  • 2 posts
  • Last active: Dec 12 2011 07:15 PM
  • Joined: 12 Mar 2007
Thought I would mention as I haven't seen anything about it in this thread, for Toons to loot you need to setup IWT (Interact With Target) as a Keybind in WOW.

So I have mine bound, in wow, to g. Going along with the examples in this guide the next two lines aren't needed. If your having issues do this, if not skip the targeting as it's built in this post's examples as the = sign.
/focus YourMainToon <<< This honestly should be done elsewhere as a Global thing for your toons
/target focustarget <<<

Following the examples already here:
~g::ClonesPush("{= down}{= up}{g down}{g up}")

This will send g (Bound to IWT) to the main window your on, then on each clone the = sign /assists the main, basically targeting their target, then we pass g (IWT) to each clone telling them to Interact With the Target.


Icing on the cake.... Turn CTM (Click to Move) on, on your clones. Then when using "g" (IWT) they will run TO the target for you... This allows FAR more than interacting with vendors and quest NPC's, using IWT you now send your toons running at that target, engaging melee when your main may prefer to stick back as a caster.

I know this is an old topic but WoW hasn't left the building yet, so hopefully this and a few other bit's I'll post will help some folks out.

Tylerdurdens Azgalor Alliance

itebejac
  • Members
  • 1 posts
  • Last active: Dec 03 2012 04:07 PM
  • Joined: 03 Dec 2012
Hey,i tryed your script and its great,but i have questions,i was try to make it on my way..(i dont wanna to use keybinds 1-12) is this going to works...

F3::
KeyWait, F3, D
ControlSend,, {F3}, ahk_id %wowid1%
ControlSend,, {F3}, ahk_id %wowid2%
ControlSend,, {F3}, ahk_id %wowid3%
ControlSend,, {F3}, ahk_id %wowid4%
ControlSend,, {F3}, ahk_id %wowid5%
Return
cuz i have on my Main to use on F3 mount...and i wanna to all of my alts do it at same time,like when i press SPACE (they jump at same time)
....Pls answer me cuz i want to edit your script with my keybinds....Than you! Posted Image Posted Image Posted Image Posted Image