 |
AutoHotkey Community Let's help each other out
|
| View previous topic :: View next topic |
| Author |
Message |
Emeraldas
Joined: 19 Nov 2009 Posts: 8
|
Posted: Thu Nov 19, 2009 5:43 pm Post subject: World of Warcraft - Boxing with different classes |
|
|
My GM and I both have multiple accounts, and would like to start pairing them up to level our toons up together to save time. This did not come about with intentions such as PvP or mass dungeon runs, so we're not running the same classes at once. Rather than spend lots of time figuring out macros that I'll have to rework as I gain new spells, what I'd like to do is use my mouse to control one WoW window, and use the keyboard (or more specifically in my case my Nostromo n52 [not TE] gamepad) to control the second WoW window.
I've remapped a second keyset on my Nostromo to include the Alt key, which will be the signifier to send the keypresses to the other window. I'm using standard 1-0 plus - and = for the main bar, +Ctrl for the second, and +Shift for the third bar, so you can imagine what that all looks like with +Alt.
My only problem is that for some reason my script is sending the commands to both windows, even though it only had a send command for one window (non-looped by id). I don't know if it's that WoW is just reading the original and AHK is sending the duplicate like it should, with the breakdown being my Nostromo. Any suggestions or support would be much appreciated.
Here is a copy of my current script:
| Code: |
WinGet, wowid, List, World of Warcraft
~!1::
KeyWait !
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, 1, ahk_id %wowid2%
Return
}
~!2::
KeyWait !
KeyWait 2
IfWinActive, World of Warcraft
{
ControlSend,, 2, ahk_id %wowid2%
Return
}
~!3::
KeyWait !
KeyWait 3
IfWinActive, World of Warcraft
{
ControlSend,, 3, ahk_id %wowid2%
Return
}
~!4::
KeyWait !
KeyWait 4
IfWinActive, World of Warcraft
{
ControlSend,, 4, ahk_id %wowid2%
Return
}
~!5::
KeyWait !
KeyWait 5
IfWinActive, World of Warcraft
{
ControlSend,, 5, ahk_id %wowid2%
Return
}
~!6::
KeyWait !
KeyWait 6
IfWinActive, World of Warcraft
{
ControlSend,, 6, ahk_id %wowid2%
Return
}
~!7::
KeyWait !
KeyWait 7
IfWinActive, World of Warcraft
{
ControlSend,, 7, ahk_id %wowid2%
Return
}
~!8::
KeyWait !
KeyWait 8
IfWinActive, World of Warcraft
{
ControlSend,, 8, ahk_id %wowid2%
Return
}
~!9::
KeyWait !
KeyWait 9
IfWinActive, World of Warcraft
{
ControlSend,, 9, ahk_id %wowid2%
Return
}
~!0::
KeyWait !
KeyWait 0
IfWinActive, World of Warcraft
{
ControlSend,, 0, ahk_id %wowid2%
Return
}
~!-::
KeyWait !
KeyWait -
IfWinActive, World of Warcraft
{
ControlSend,, -, ahk_id %wowid2%
Return
}
~!=::
KeyWait !
KeyWait =
IfWinActive, World of Warcraft
{
ControlSend,, =, ahk_id %wowid2%
Return
}
~!^1::
KeyWait !
KeyWait ^
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, ^1, ahk_id %wowid2%
Return
}
~!^2::
KeyWait !
KeyWait ^
KeyWait 2
IfWinActive, World of Warcraft
{
ControlSend,, ^2, ahk_id %wowid2%
Return
}
~!^3::
KeyWait !
KeyWait ^
KeyWait 3
IfWinActive, World of Warcraft
{
ControlSend,, ^3, ahk_id %wowid2%
Return
}
~!^4::
KeyWait !
KeyWait ^
KeyWait 4
IfWinActive, World of Warcraft
{
ControlSend,, ^4, ahk_id %wowid2%
Return
}
~!^5::
KeyWait !
KeyWait ^
KeyWait 5
IfWinActive, World of Warcraft
{
ControlSend,, ^5, ahk_id %wowid2%
Return
}
~!^6::
KeyWait !
KeyWait ^
KeyWait 6
IfWinActive, World of Warcraft
{
ControlSend,, ^6, ahk_id %wowid2%
Return
}
~!^7::
KeyWait !
KeyWait ^
KeyWait 7
IfWinActive, World of Warcraft
{
ControlSend,, ^7, ahk_id %wowid2%
Return
}
~!^8::
KeyWait !
KeyWait ^
KeyWait 8
IfWinActive, World of Warcraft
{
ControlSend,, ^8, ahk_id %wowid2%
Return
}
~!^9::
KeyWait !
KeyWait ^
KeyWait 9
IfWinActive, World of Warcraft
{
ControlSend,, ^9, ahk_id %wowid2%
Return
}
~!^0::
KeyWait !
KeyWait ^
KeyWait 0
IfWinActive, World of Warcraft
{
ControlSend,, ^0, ahk_id %wowid2%
Return
}
~!^-::
KeyWait !
KeyWait -
IfWinActive, World of Warcraft
{
ControlSend,, ^-, ahk_id %wowid2%
Return
}
~!^=::
KeyWait !
KeyWait ^
KeyWait =
IfWinActive, World of Warcraft
{
ControlSend,, ^=, ahk_id %wowid2%
Return
}
~!+1::
KeyWait !
KeyWait +
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, +1, ahk_id %wowid2%
Return
}
~!+2::
KeyWait !
KeyWait +
KeyWait 2
IfWinActive, World of Warcraft
{
ControlSend,, +2, ahk_id %wowid2%
Return
}
~!+3::
KeyWait !
KeyWait +
KeyWait 3
IfWinActive, World of Warcraft
{
ControlSend,, +3, ahk_id %wowid2%
Return
}
~!+4::
KeyWait !
KeyWait +
KeyWait 4
IfWinActive, World of Warcraft
{
ControlSend,, +4, ahk_id %wowid2%
Return
}
~!+5::
KeyWait !
KeyWait +
KeyWait 5
IfWinActive, World of Warcraft
{
ControlSend,, +5, ahk_id %wowid2%
Return
}
~!+6::
KeyWait !
KeyWait +
KeyWait 6
IfWinActive, World of Warcraft
{
ControlSend,, +6, ahk_id %wowid2%
Return
}
~!+7::
KeyWait !
KeyWait +
KeyWait 7
IfWinActive, World of Warcraft
{
ControlSend,, +7, ahk_id %wowid2%
Return
}
~!+8::
KeyWait !
KeyWait +
KeyWait 8
IfWinActive, World of Warcraft
{
ControlSend,, +8, ahk_id %wowid2%
Return
}
~!+9::
KeyWait !
KeyWait +
KeyWait 9
IfWinActive, World of Warcraft
{
ControlSend,, +9, ahk_id %wowid2%
Return
}
~!+0::
KeyWait !
KeyWait +
KeyWait 0
IfWinActive, World of Warcraft
{
ControlSend,, +0, ahk_id %wowid2%
Return
}
~!+-::
KeyWait !
KeyWait +
KeyWait -
IfWinActive, World of Warcraft
{
ControlSend,, +-, ahk_id %wowid2%
Return
}
~!+=::
KeyWait !
KeyWait +
KeyWait =
IfWinActive, World of Warcraft
{
ControlSend,, +=, ahk_id %wowid2%
Return
}
~!Space::
KeyWait !
KeyWait Space
IfWinActive, World of Warcraft
{
ControlSend,, {Space}, ahk_id %wowid1%
ControlSend,, {Space}, ahk_id %wowid2%
Return
}
~Up::
KeyWait Up
IfWinActive, World of Warcraft
{
ControlSend,, {Up}, ahk_id %wowid1%
ControlSend,, {Up}, ahk_id %wowid2%
Return
}
~Down::
KeyWait Down
IfWinActive, World of Warcraft
{
ControlSend,, {Down}, ahk_id %wowid1%
ControlSend,, {Down}, ahk_id %wowid2%
Return
}
~Left::
KeyWait Left
IfWinActive, World of Warcraft
{
ControlSend,, {Left}, ahk_id %wowid1%
ControlSend,, {Left}, ahk_id %wowid2%
Return
}
~Right::
KeyWait Right
IfWinActive, World of Warcraft
{
ControlSend,, {Right}, ahk_id %wowid1%
ControlSend,, {Right}, ahk_id %wowid2%
Return
}
|
Please note this is my first attempt with AHK, and no one else I know is doing something like this. And yes, the duplicated arrow and space keys is intentional, those are the only ones I want going to both (for the time being).
Thanks in advance for any help. |
|
| Back to top |
|
 |
Guest
|
Posted: Thu Nov 19, 2009 6:01 pm Post subject: |
|
|
| it send to both clients because u have ~ before ur hotkey |
|
| Back to top |
|
 |
Emeraldas
Joined: 19 Nov 2009 Posts: 8
|
Posted: Fri Nov 20, 2009 10:40 am Post subject: |
|
|
| That seems to have fixed it. I haven't tested it extensively, but so far it looks good. Thanks much. |
|
| Back to top |
|
 |
Emeraldas
Joined: 19 Nov 2009 Posts: 8
|
Posted: Fri Nov 20, 2009 2:17 pm Post subject: Modifiers |
|
|
Hm... Something wonky is going on with the modifier heavy sections. I've got them all starting with Alt so that it doesn't interfere with typing in other windows or chat boxes, but the script strips that out when it sends to the specified window. The Alt+1 for example, I have no problems; it's when I'm trying things like Alt+Ctrl+1 or Alt+Shift+1 that it's screwing up, completely ignoring the Ctrl/Shift.
My Nostromo keys are set for Alt+__, with an extra key each for Ctrl and Shift, so it's possible that is the hink, but I tried flipping the script around to look for Ctrl+Alt+1 instead of Alt+Ctrl+1.
Maybe it's just my unfamiliarity with something like AHK, using the Nostromo to do it, or something else, but any help would be appreciated. Here are a couple snippets of script for easier reading.
Alt+ (works)
| Code: |
!1::
KeyWait !
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, 1, ahk_id %wowid2%
Return
}
|
Alt+Ctrl+ (fail)
| Code: |
!^1::
KeyWait !
KeyWait ^
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, ^1, ahk_id %wowid2%
Return
}
|
Alt+Shift+ (also fail)
| Code: |
!+1::
KeyWait !
KeyWait +
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, +1, ahk_id %wowid2%
Return
}
|
I also noticed that my arrow key segment wasn't responding at all, and hijacked those keys in other programs as well. Here's an example:
| Code: |
Right::
KeyWait Right
IfWinActive, World of Warcraft
{
ControlSend,, {Right}, ahk_id %wowid2%
ControlSend,, {Right}, ahk_id %wowid1%
Return
}
|
|
|
| Back to top |
|
 |
moody_tea Guest
|
Posted: Mon Nov 23, 2009 7:35 am Post subject: |
|
|
| how to set a script for WOW auto spacebar in 5secs for qmacro ? |
|
| Back to top |
|
 |
Emeraldas
Joined: 19 Nov 2009 Posts: 8
|
Posted: Mon Nov 23, 2009 9:05 am Post subject: |
|
|
I couldn't figure out why the direction keys weren't working, so I'll just have to figure something out later if using a follow mod won't deal with it for me.
I figured out that to get the CTRL and Shift keys to send properly to work with World of Warcraft, I apparently need to do the Down and Up states on either side. I'm also forcing the left version just simplicity since that's what I normally press when I'm binding, just to prevent future issues. Now I can go on to levelling or playing two characters of differing classes at once.
Thanks for the help to all who offered suggestions and support. |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|