Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » User Interface and AddOns

Reply
 
LinkBack Thread Tools
Old 11/02/08, 8:35 PM   #76
kelben
Piston Honda
 
Draenei Death Knight
 
Ysera
I tried xbutton 1 and 2, and my UI freaks out, spells are triggered, trinkets used, screens open and close its crazy. I have no idea why its causing all the additional side effects but it does catch the mouse click. Thats the script I used

$XButton1::
Loop
{
if not GetKeyState("XButton1", "P")
break
Send XButton1
sleep 1
}
return

Last edited by kelben : 11/02/08 at 9:06 PM.

Haste is the devil...

Offline
Reply With Quote
Old 11/07/08, 4:48 AM   #77
Aarcani
Von Kaiser
 
Dwarf Rogue
 
Hydraxis
I'm not sure about the use of the return command in these scripts. Is this correct? It works, but I'd like the script to be clean, and I'd like to understand it better.
#ifWinExists World of Warcraft
{
~Enter::Suspend, toggle
~Esc::Suspend, off
~BS::
~/::
IfEqual, A_IsSuspended, 1, Return
Suspend, on
Return
$4::
   Loop  
   {
    if not GetKeyState("4", "P")
      break
     Send 4 
     sleep 1
    }
return
}

Offline
Reply With Quote
Old 04/25/09, 8:12 PM   #78
Kazadora
Glass Joe
 
Blood Elf Hunter
 
Daggerspine
I'm very very very new to AHK. I've gone through every page on this thread and i'm very confused. I just got into dual boxing. I use jamba. I have a Hunter as my main account toon, and a pally as my 2nd account toon. I'm trying to get it so that when I fire an arrow at a mob, my pally will automatically attack that target with <said spell> or just auto attack it with his hammer. I know for everyone here its a very noob question but it is also a very simple one. As since I'm new to this I dont need anything fancy. just have the tank, well .... tank. Any help would be greatly appreciated.

Offline
Reply With Quote
Old 04/26/09, 7:57 PM   #79
Zoroaster
Zor*
 
Zoroaster's Avatar
 
Zorops
Blood Elf Priest
 
No WoW Account
Originally Posted by Kazadora View Post
I'm very very very new to AHK. I've gone through every page on this thread and i'm very confused. I just got into dual boxing. I use jamba. I have a Hunter as my main account toon, and a pally as my 2nd account toon. I'm trying to get it so that when I fire an arrow at a mob, my pally will automatically attack that target with <said spell> or just auto attack it with his hammer. I know for everyone here its a very noob question but it is also a very simple one. As since I'm new to this I dont need anything fancy. just have the tank, well .... tank. Any help would be greatly appreciated.
From what it sounds like you just want a macro similar to the following, using the same keybind as your hunter's auto-shot.
/startattack
/cast Judgement of Wisdom
You could also do a /castrandom and put in your commonly used paladin abilities, Judgement, Exorcism, Shield, etc.

I'm not sure how you setup AHK to do this, I use Keyclone when I multi-box. Main Page - Dual-Boxing.com Community Forum is a great resource for questions like this.

United States Offline
Reply With Quote
Old 04/27/09, 8:18 AM   #80
Kazadora
Glass Joe
 
Blood Elf Hunter
 
Daggerspine
I gave that a try and it worked, the only problem I am coming across now is. With my hunter when I Auto shoot and attack the mob, my pally does not go towards the mob to attack it, he just stays on the side of me until the mob is within range of his melee. I tried to reverse it a bit and play as my Pally as my main client, and hunter as 2nd. My hunter will auto follow, and when I initiate combat with my pally my hunter does not stop and use his bow, he runs up next to my pally and melee's it. But thanks for your macro cuz that is helping out alot. I'll try Keyclone out. I notice there is a fee for it. Just hope it works well. It just sucks that I dont understand scripts at all.

Offline
Reply With Quote
Old 04/27/09, 3:56 PM   #81
Rott
Von Kaiser
 
Rott's Avatar
 
Goblin Warrior
 
Shattered Hand
Originally Posted by Kazadora View Post
I gave that a try and it worked, the only problem I am coming across now is. With my hunter when I Auto shoot and attack the mob, my pally does not go towards the mob to attack it, he just stays on the side of me until the mob is within range of his melee. I tried to reverse it a bit and play as my Pally as my main client, and hunter as 2nd. My hunter will auto follow, and when I initiate combat with my pally my hunter does not stop and use his bow, he runs up next to my pally and melee's it. But thanks for your macro cuz that is helping out alot. I'll try Keyclone out. I notice there is a fee for it. Just hope it works well. It just sucks that I dont understand scripts at all.
I don't multi-box but i'm quite sure that you cannot automate your character's movement without violating the TOS. You can have it attack but you cannot automate it moving to the target independantly. The paladin staying next to your hunter and attacking when the mob is in melee range is the expected behavior.

This is why you usually see mutli-boxers using all ranged classes (mages/priests/hunters/shamans/etc) as they can all attack at the same time from the same range.

United States Offline
Reply With Quote
Old 04/27/09, 7:47 PM   #82
Kazadora
Glass Joe
 
Blood Elf Hunter
 
Daggerspine
That answers my question then. Because I always see people using Mage/Mage or Shaman/Mage for dual boxing, but thats it. Thanks for the help.

Offline
Reply With Quote
Old 04/28/09, 6:21 AM   #83
sarf
Great Tiger
 
sarf's Avatar
 
Fars
Human Paladin
 
No WoW Account (EU)
Originally Posted by Kazadora View Post
That answers my question then. Because I always see people using Mage/Mage or Shaman/Mage for dual boxing, but thats it. Thanks for the help.
If you use ranged/melee combo, always control the melee and use a button to stop the ranged character from moving (for instance, I unbind S from the melee character and have all my keypresses distributed to both chars).

You can also dual melee by just using /follow and /startattack then running through the mob with your main character. The added benefit here is for one character to always hit the back of the mob. Dual rogues are fun in this way since you just spam the Backstab button and the mob flips between the rogues. The reason this works is because follow stops in melee combat.

In the end, however, using all ranged is much easier (preferably with a BM hunter as one of the ranged to keep the mob at range) - although from an ease-of-use point of view, anything/healer is probably your best bet.

Originally Posted by Wraithlin View Post
Do your hospitals have unusually narrow doorways?
If not how do "lifestyle choices" explain the waiting time statistics?

Offline
Reply With Quote
Old 04/28/09, 8:21 AM   #84
Kazadora
Glass Joe
 
Blood Elf Hunter
 
Daggerspine
Sarf, what kind of macros do you have bound to your S key for both characters? i'm curious to know. I did make a macro that would cancel the auto follow of my hunter which now allows her to attack with auto shoot and my pally to attack melee so that is working out great so far. Granted they are both low levels so I'm sure its gonna get tougher as more spells and shots are available to me.

Offline
Reply With Quote
Old 04/29/09, 8:38 AM   #85
sarf
Great Tiger
 
sarf's Avatar
 
Fars
Human Paladin
 
No WoW Account (EU)
Originally Posted by Kazadora View Post
Sarf, what kind of macros do you have bound to your S key for both characters? i'm curious to know. I did make a macro that would cancel the auto follow of my hunter which now allows her to attack with auto shoot and my pally to attack melee so that is working out great so far. Granted they are both low levels so I'm sure its gonna get tougher as more spells and shots are available to me.
Eh? I just meant that I used the S key to stop the ranged class, then ran in with the melee class. No macros involved.

The other thing I did was to make an attack macro on the "main" character and an assist macro on the other character, and bind them to the same button. The real benefit with a Hunter is that you literally bind everything you need for levelling to that button - /startattack, /petattack, /cast Hunter's Mark - and you're done, the Hunter will plonk away at the target.

The easiest way I ever levelled dualboxing was with two Hunters. as they can both just unload on mobs. The important consideration there was to give the supporting character range extension, so it could attack mobs at the edge of the other characters range.

Your best bet for dualboxing is to get multiboxing addons like twoboxtoolkit or Jamba, and skip as many "pick up / loot quest item" quests as you can. While alt-tabbing (or using multiple screens / windows) works, it does slow down your pace. Having addons that notify you when your characters are out of sync and auto-shares quests etc are a godsend.

Sorry for the derail - if you have any particular questions about macros and so on we can take them in PMs.

Originally Posted by Wraithlin View Post
Do your hospitals have unusually narrow doorways?
If not how do "lifestyle choices" explain the waiting time statistics?

Offline
Reply With Quote
Old 05/27/09, 8:33 AM   #86
Ruiz
Glass Joe
 
Ruiz's Avatar
 
Blood Elf Death Knight
 
Wrathbringer (EU)
I finally decided to get rid of Macaroon since it had some anoying happits as soon as I entered a vehicle. However I really like it's ability to active spells on key down but not key up. I've recognized that AHK is able to do the same, however I have never before done any script. So basically I am looking for a little support on how to create a script that actives button 1, 2.. on down click.

So far I was able to find the command Send {X down} but have no clue on how to start the script and include the commands for all the keys. Additionally I want to include 3 mouse buttons as well. I've seen that AHK also inclused LButton, RButton and MButton however my Logitech G9 has 2 buttons on the left instead of 1 left 1 right. Don't know if this would be an issue.

Offline
Reply With Quote
Old 06/02/09, 1:50 PM   #87
Omidin
Von Kaiser
 
Blood Elf Paladin
 
Outland (EU)
Thats a pretty cool idea with holding down a button to cast. However, WoW freaks out with "Cannot cast this yet" errors. Is there any way to get rid of that?

EDIT: Found my answer on some random WoW thread:

#showtooltip
/console Sound_EnableSFX 0
/cast frostbolt.(Highest rank ofc, just type /cast in the macro and shiftclick the spell in spellbook)
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1

Last edited by Omidin : 06/02/09 at 1:57 PM.

Offline
Reply With Quote
Old 06/02/09, 5:57 PM   #88
AmeroGER
Von Kaiser
 
AmeroGER's Avatar
 
Orc Warrior
 
Stormscale (EU)
Originally Posted by Omidin View Post
Thats a pretty cool idea with holding down a button to cast. However, WoW freaks out with "Cannot cast this yet" errors. Is there any way to get rid of that?

EDIT: Found my answer on some random WoW thread:
Download ErrorMonster

It does the same trick but is a little more configurable.

Offline
Reply With Quote
Old 06/14/09, 5:40 AM   #89
markc1999
Glass Joe
 
None
Draenei Death Knight
 
No WoW Account
How can i send mouse clicks to multiple windows

I tried asking on the AHK forum and all i could get was "you're doing this wrong" responses, which were things I had already done anyway, and did not help me solve my problem. My guess is none of em knew how to do it.
Anyway, im trying to send mouse clicks to all 3 of my WoW windows, namely (atm) my Mouse Button 5 (also known as Xbutton2 or the Fwd button in a browser)
this is my script so far
;ClonesPush(strKeys)
;{
;	global WowWinId1
;	global WowWinId2
;	global WowWinId3
;	global WowWinId4
;	global WowWinId5
;	IfWinNotActive, ahk_id %WowWinId1%
;		ControlSend, , %strKeys%, ahk_id %WowWinId1%
;	IfWinNotActive, ahk_id %WowWinId2%
;		ControlSend, , %strKeys%, ahk_id %WowWinId2%
;	IfWinNotActive, ahk_id %WowWinId3%
;		ControlSend, , %strKeys%, ahk_id %WowWinId3%
;	IfWinNotActive, ahk_id %WowWinId4%
;		ControlSend, , %strKeys%, ahk_id %WowWinId4%
;	IfWinNotActive, ahk_id %WowWinId5%
;		ControlSend, , %strKeys%, ahk_id %WowWinId5%
;}

;ClonesClick(strKeys)
;{
;	IfWinNotActive, ahk_id %WowWinId1%
;		ControlClick, , ahk_id %WowWinId1%,, %strKeys%,
;	IfWinNotActive, ahk_id %WowWinId2%
;		ControlClick, , ahk_id %WowWinId2%,, %strKeys%,
;	IfWinNotActive, ahk_id %WowWinId3%
;		ControlClick, , ahk_id %WowWinId3%,, %strKeys%,
;	IfWinNotActive, ahk_id %WowWinId4%
;		ControlClick, , ahk_id %WowWinId4%,, %strKeys%,
;	IfWinNotActive, ahk_id %WowWinId5%
;		ControlClick, , ahk_id %WowWinId5%,, %strKeys%,
;}

ClonesPush(keys) {

  global WowWinId1
  global WowWinId2
  global WowWinId3
  global WowWinId4
  global WowWinId5

  Loop, 5 {
    win := WowWinId%A_Index%
    IfWinNotActive, ahk_id %win%
      ControlSend, , %keys%, ahk_id %win%
  }

}

ClonesClick(button) {

  global WowWinId1
  global WowWinId2
  global WowWinId3
  global WowWinId4
  global WowWinId5

  Loop, 5 {
    win := WowWinId%A_Index%
    IfWinNotActive, ahk_id %win%
      ControlClick, , ahk_id %win%, , %button%,
  }

}

;Grab unique window ID's
WinGet, WowWinId, List, World of Warcraft

; *******************************
; *** Only if WoW is in focus ***
; *******************************
#IfWinActive, World of Warcraft

;*** Special Functions ***

; *** Makes clones follow main ***
^-::ClonesPush("{- down}{- up}")

; *** Makes clones assist main ***
^=::ClonesPush("{= down}{= up}")

; *** Makes clones jump with main ***
~Space::ClonesPush("{Space down}{Space up}")

; *** Suspends HotKeys while typing on main ***
~Enter::Suspend, Toggle
~/::Suspend, On
~Escape::Suspend, Off


; *******************
; *** Hotbars 1-0 ***
; *******************
; *** Hotbars 1-0 ***
~1::ClonesPush("{1 down}{1 up}")
~2::ClonesPush("{2 down}{2 up}")
~3::ClonesPush("{3 down}{3 up}")
~4::ClonesPush("{4 down}{4 up}")
~5::ClonesPush("{5 down}{5 up}")
~6::ClonesPush("{6 down}{6 up}")
~7::ClonesPush("{7 down}{7 up}")
~8::ClonesPush("{8 down}{8 up}")
~9::ClonesPush("{9 down}{9 up}")
~0::ClonesPush("{0 down}{0 up}")
~-::ClonesPush("{- down}{- up}")
~=::ClonesPush("{= down}{= up}")



; ***************************
; *** Hotbars SHIFT(+) 1-0 ***
; ***************************
~+1::ClonesPush("{Shift down}{1 down}{1 up}{Shift up}")
~+2::ClonesPush("{Shift down}{2 down}{2 up}{Shift up}")
~+3::ClonesPush("{Shift down}{3 down}{3 up}{Shift up}")
~+4::ClonesPush("{Shift down}{4 down}{4 up}{Shift up}")
~+5::ClonesPush("{Shift down}{5 down}{5 up}{Shift up}")
~+6::ClonesPush("{Shift down}{6 down}{6 up}{Shift up}")
~+7::ClonesPush("{Shift down}{7 down}{7 up}{Shift up}")
~+8::ClonesPush("{Shift down}{8 down}{8 up}{Shift up}")
~+9::ClonesPush("{Shift down}{9 down}{9 up}{Shift up}")
~+0::ClonesPush("{Shift down}{0 down}{0 up}{Shift up}")

; **************************
; *** Hotbars CTRL(^) 1-0 ***
; **************************
~^1::ClonesPush("{Ctrl down}{1 down}{1 up}{Ctrl up}")
~^2::ClonesPush("{Ctrl down}{2 down}{2 up}{Ctrl up}")
~^3::ClonesPush("{Ctrl down}{3 down}{3 up}{Ctrl up}")
~^4::ClonesPush("{Ctrl down}{4 down}{4 up}{Ctrl up}")
~^5::ClonesPush("{Ctrl down}{5 down}{5 up}{Ctrl up}")
~^6::ClonesPush("{Ctrl down}{6 down}{6 up}{Ctrl up}")
~^7::ClonesPush("{Ctrl down}{7 down}{7 up}{Ctrl up}")
~^8::ClonesPush("{Ctrl down}{8 down}{8 up}{Ctrl up}")
~^9::ClonesPush("{Ctrl down}{9 down}{9 up}{Ctrl up}")
~^0::ClonesPush("{Ctrl down}{0 down}{0 up}{Ctrl up}")

; *** Move clones ***
~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}")

; Quest Turn ins
~[::ClonesPush("{[ down}{[ up}")
~]::ClonesPush("{] down}{] up}")

; Healing
~H::ClonesPush("{H down}{H up}")
~+H::ClonesPush("{Shift down}{H down}{H up}{Shift up}")

; Buff Weapon
~V::ClonesPush("{V down}{V up}")

; Totems
~F1::ClonesPush("{F1 down}{F1 up}")
~F2::ClonesPush("{F2 down}{F2 up}")
~F3::ClonesPush("{F3 down}{F3 up}")
~F4::ClonesPush("{F4 down}{F4 up}")

; Attacks
~t::ClonesPush("{t down}{t up}")

; Formation
~Delete::ClonesPush("{Delete down}{Delete up}")
; Misc
~\::ClonesPush("{\ down}{\ up}")

; Clicks
;~XButton2::ClonesClick("X2")
;~XButton1::ClonesClick("X1")
^x::ClonesClick("X2")
The stuff at the top that's ;'d out was my original functions, 2nd set is one someone suggested.
I cannot get it to work, i've tried alot of variations, only thing that happens is the mouse clicks on the active window and thats it.
Any help would be greatly appreciated. I spent about 5 hours or more last night searching AHK website and google frantically to no avail.

Offline
Reply With Quote
Old 06/14/09, 3:39 PM   #90
Stolen
Glass Joe
 
Human Rogue
 
Stormscale (EU)
Interesting mod but I would personally be worried about using it.

One little thing about wow that has always bugged me and inadvertantly adds to lag of you using an ability is the fact an ability does not cast until you release the key you press. Certain othere abilities do not function this way, they from what are can tell are all stance change moves including stealthing and destealthing, these abilities activate as you press the button and not on the release.

Does any one know if its possible to remove this function of an action requiring you to press and depress the key for the ability to fire off. I am sure it would help with perceived lag.

Offline
Reply With Quote
Old 06/14/09, 8:24 PM   #91
Talsh
Von Kaiser
 
Night Elf Druid
 
Burning Blade
Originally Posted by Stolen View Post
Interesting mod but I would personally be worried about using it.

One little thing about wow that has always bugged me and inadvertantly adds to lag of you using an ability is the fact an ability does not cast until you release the key you press. Certain othere abilities do not function this way, they from what are can tell are all stance change moves including stealthing and destealthing, these abilities activate as you press the button and not on the release.

Does any one know if its possible to remove this function of an action requiring you to press and depress the key for the ability to fire off. I am sure it would help with perceived lag.
I just tried this on my druid where I'm assuming stance changes function the same as shapeshift changes. First off, I tried prowling, and found that prowl activates and deactivates as the button is released, not pressed, contrary to what you mentioned in your post. Secondly, I found that if I bind a key from the stance bar to my keyboard, the action triggers when the key is depressed like you suggest, but, if I move the shapechange action to a regular bar, the action triggers upon release. This leads me to believe that when the action takes place is a function of the bar containing the action rather than the action itself.

Offline
Reply With Quote
Old 06/15/09, 5:40 AM   #92
sarf
Great Tiger
 
sarf's Avatar
 
Fars
Human Paladin
 
No WoW Account (EU)
Originally Posted by markc1999 View Post
I tried asking on the AHK forum and all i could get was "you're doing this wrong" responses, which were things I had already done anyway, and did not help me solve my problem. My guess is none of em knew how to do it.
<snip>

The stuff at the top that's ;'d out was my original functions, 2nd set is one someone suggested.
I cannot get it to work, i've tried alot of variations, only thing that happens is the mouse clicks on the active window and thats it.
Any help would be greatly appreciated. I spent about 5 hours or more last night searching AHK website and google frantically to no avail.
If it works with every other thing, then there's a problem with either a) the extra button or b) using the mouse. The logical problem would be that you are trying to send a mouse-click to a window which is not active. While sending key-clicks works OK, perhaps the mouse is treated differently.

Other than that, I can only recommend you to use Keyclone instead if all you want to do is to distribute clicks. I am unsure if Keyclone supports mouse clicking, however.

What are you trying to accomplish by clicking? If it is for interacting with the world, most people just tab around to the particular window and use the mouse themselves (for quests etc) which is why most people skip multiboxing non-kill quests.

Originally Posted by Wraithlin View Post
Do your hospitals have unusually narrow doorways?
If not how do "lifestyle choices" explain the waiting time statistics?

Offline
Reply With Quote
Old 06/15/09, 8:34 AM   #93
Stolen
Glass Joe
 
Human Rogue
 
Stormscale (EU)
Originally Posted by Talsh View Post
I just tried this on my druid where I'm assuming stance changes function the same as shapeshift changes. First off, I tried prowling, and found that prowl activates and deactivates as the button is released, not pressed, contrary to what you mentioned in your post. Secondly, I found that if I bind a key from the stance bar to my keyboard, the action triggers when the key is depressed like you suggest, but, if I move the shapechange action to a regular bar, the action triggers upon release. This leads me to believe that when the action takes place is a function of the bar containing the action rather than the action itself.
So its an actual function of the stance bar that it activates when pressed down. Then its an actual function of the action bar when the key is released the ability gets activated.

I wonder if there is a way around this, i doubt it as its probably coded into the game engine, but (and this is the reason i posted this in this thread) is there a mod out there that will automatically send a release key command as i press a key, so i would be free of this release key lag :P?

Offline
Reply With Quote
Old 06/15/09, 10:42 AM   #94
markc1999
Glass Joe
 
None
Draenei Death Knight
 
No WoW Account
Originally Posted by sarf View Post
If it works with every other thing, then there's a problem with either a) the extra button or b) using the mouse. The logical problem would be that you are trying to send a mouse-click to a window which is not active. While sending key-clicks works OK, perhaps the mouse is treated differently.

Other than that, I can only recommend you to use Keyclone instead if all you want to do is to distribute clicks. I am unsure if Keyclone supports mouse clicking, however.

What are you trying to accomplish by clicking? If it is for interacting with the world, most people just tab around to the particular window and use the mouse themselves (for quests etc) which is why most people skip multiboxing non-kill quests.
im trying to send the mouse-click to the active wow window and 2 in the background
right now Im trying to get it to do the FWD button on the mouse for browsers, which the game says is Mouse Button 5
this is tied to an ability of my Character, a shapeshift. when i click the button I want all 3 to shapeshift.

Offline
Reply With Quote
Old 06/15/09, 11:26 AM   #95
sarf
Great Tiger
 
sarf's Avatar
 
Fars
Human Paladin
 
No WoW Account (EU)
Originally Posted by markc1999 View Post
im trying to send the mouse-click to the active wow window and 2 in the background
right now Im trying to get it to do the FWD button on the mouse for browsers, which the game says is Mouse Button 5
this is tied to an ability of my Character, a shapeshift. when i click the button I want all 3 to shapeshift.
Personally, the path of least resistance being my karmic path, I'd just switch to Keyclone and use a key combination to shapeshift.

Originally Posted by Wraithlin View Post
Do your hospitals have unusually narrow doorways?
If not how do "lifestyle choices" explain the waiting time statistics?

Offline
Reply With Quote
Old 06/16/09, 3:43 PM   #96
markc1999
Glass Joe
 
None
Draenei Death Knight
 
No WoW Account
AHK passes clicks as well
I only have so many keys to work with. I am trying to limit the amount of shift/ctrl+a key I use and I use my mouse for alot of things even when not multiboxing. So I really want to get this working

Offline
Reply With Quote
Old 07/19/09, 6:30 AM   #97
kcvip
Glass Joe
 
Orc Hunter
 
Tichondrius
Simple way to send the same key, or different keys to controlled clients. You can change the %id#% to whatever client you want to send the keys to. Change the hotkey, or keys sent to whatever you want.
SetKeyDelay, 0, 0
WinGet, id, List, World

$1:: ;assuming you use 1 as your "everyone follow me" macro, and you're playing your main char, you won't want to send the macro to your main.  So don't put your main's %id% down and it won't send the key.  Not only that, but by putting a $ infront of your hotkey you block all native input from the key(s) and it only sends the hotkey command.
ControlSend,, 1, ahk_id %id2%
ControlSend,, 1, ahk_id %id3%
ControlSend,, 1, ahk_id %id4%
ControlSend,, 1, ahk_id %id5%
return
More advanced way to send the same key to multiple clients. This is a more lightweight method of sending the same keys to all clients. Change "boxes=3" to however many clients you are using.
boxes=5
SetKeyDelay, 0, 0
WinGet, id, List, World

~1:: ; sometimes you'll use the ~ command before your hotkey because sometimes if you use the $ it won't send the key to your active window.
loop %boxes%
{
Controlsend,, 1, % "ahk_id " id%A_Index%
}
return
For all of those AOE junkies, theres a way to even send mouseclicks! In order for this to work properly you client windows need to be the same size. Helpful for casting things like Volley, or Blizzard.
coordmode, mouse, relative ; add this under SetKeyDelay

~1::
ControlSend,, 1, ahk_id %id1%
ControlSend,, 1, ahk_id %id2%
ControlSend,, 1, ahk_id %id3%
ControlSend,, 1, ahk_id %id4%
ControlSend,, 1, ahk_id %id5%
keywait, lbutton ; the script waits for you to click and cast your spell
MouseGetPos, xpos, ypos, id, control ; it takes the X/Y relative cords of your mouse
ControlClick, x%xpos% y%ypos%, ahk_id %id1%,, LEFT, 1, NA ; sends the mouseclick to the same spot on the other client.
ControlClick, x%xpos% y%ypos%, ahk_id %id2%,, LEFT, 1, NA
ControlClick, x%xpos% y%ypos%, ahk_id %id3%,, LEFT, 1, NA
ControlClick, x%xpos% y%ypos%, ahk_id %id4%,, LEFT, 1, NA
ControlClick, x%xpos% y%ypos%, ahk_id %id5%,, LEFT, 1, NA
return
And the lightweight version!
coordmode, mouse, relative ; add this under SetKeyDelay

~1::
loop %boxes%
{
Controlsend,, 1, % "ahk_id " id%A_Index%
}
keywait, lbutton
loop %boxes%
{
ControlClick, x%xpos% y%ypos%, % "ahk_id " id%A_Index%,, LEFT, 1, NA
}
return

I stopped playing WoW like a year ago or so. Just got bored to tears. I started playing Runegard, a private server for NexusTK. I play 14x chars at once the GM's love me. I don't honestly remember what the WoW header was, but I'm sure it was "World of Warcraft". For that code, World should work just fine in the WinGet. If anyone wants help setting up their own FREE (unlike keyclone) custom scripts message me on MSN hmraggy@hotmail.com

Last edited by kcvip : 07/19/09 at 6:52 AM.

Offline
Reply With Quote
Old 07/25/09, 1:12 AM   #98
Aximous
Von Kaiser
 
Tauren Shaman
 
Jaedenar (EU)
I'm trying to eliminate the idiot design of my mouse (cruise buttons keep the scroll function even if remapped) by trying to make a script for it in autohotkey, the only difficulty I found that is there any way to determine in a script if the keystroke was artificial or not and take an action depending on the result of that check? Obviously I don't want to kill the scroll function totally, just want to erase it from the 2 cruise keys, the 2 scroll functions can be clearly distinguished: the ones not needed are artificial the others (needed) are not.

Offline
Reply With Quote
Old 08/04/09, 5:12 AM   #99
kcvip
Glass Joe
 
Orc Hunter
 
Tichondrius
that post didn't make a whole lot of sense regarding your scroll question. if you could post up an example of what your script looks like I could probably get a better feel for what is is you're asking. It sounds like you're using the mouse scroll buttons as hotkeys? and you don't want it to send the native function?

In order to override the native function of a key while scripting hotkeys with AutoHotkey, you need to put a $ as a prefix to your key statement, ex.
$1::
send, hello
return

if you press the key "1" it will send "hello"

if you script it with a ~ it will send the native function of the key + the hotkey
~1::
send, hello
return

if you press the "1" key, this time it will send "1hello"

I don't know if that was your issue or not, but I hope it might help you out. Well anywhos since my last post I went ahead and re-registered my multiboxing account. I'll post up my script for ya.

#InstallMouseHook
WinGet, id, List, World of Warcraft
SetKeyDelay, 0, 0
$`::Suspend
~!r::reload
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;spells;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$space::
ControlSend,, {space down}, ahk_id %id1%
ControlSend,, {space down}, ahk_id %id2%
keywait space
ControlSend,, {space up}, ahk_id %id1%
ControlSend,, {space up}, ahk_id %id2%
return
$^s::
ControlSend,, {a down}, ahk_id %id1%
ControlSend,, {a down}, ahk_id %id2%
sleep, 504
ControlSend,, {a up}, ahk_id %id1%
ControlSend,, {a up}, ahk_id %id2%
ControlSend,, {q down}, ahk_id %id1%
ControlSend,, {q down}, ahk_id %id2%
sleep 400
ControlSend,, {space}, ahk_id %id1%
ControlSend,, {space}, ahk_id %id2%
ControlSend,, {q up}, ahk_id %id1%
ControlSend,, {q up}, ahk_id %id2%
ControlSend,, {d down}, ahk_id %id1%
ControlSend,, {d down}, ahk_id %id2%
sleep 670
ControlSend,, {d up}, ahk_id %id1%
ControlSend,, {d up}, ahk_id %id2%
return

$1::
ControlSend,, 1, ahk_id %id1%
ControlSend,, 1, ahk_id %id2%
return
$+1::
ControlSend,, {shift down}1{shift up}, ahk_id %id1%
ControlSend,, {shift down}1{shift up}, ahk_id %id2%
return
$2::
ControlSend,, 2, ahk_id %id1%
ControlSend,, 2, ahk_id %id2%
return
$+2::
ControlSend,, {shift down}2{shift up}, ahk_id %id1%
ControlSend,, {shift down}2{shift up}, ahk_id %id2%
return
$3::
ControlSend,, 3, ahk_id %id1%
ControlSend,, 3, ahk_id %id2%
return
$+3::
ControlSend,, {shift down}3{shift up}, ahk_id %id1%
ControlSend,, {shift down}3{shift up}, ahk_id %id2%
return
$4::
ControlSend,, 4, ahk_id %id1%
ControlSend,, 4, ahk_id %id2%
return
$+4::
ControlSend,, {shift down}4{shift up}, ahk_id %id1%
ControlSend,, {shift down}4{shift up}, ahk_id %id2%
return
$5::
ControlSend,, 5, ahk_id %id1%
ControlSend,, 5, ahk_id %id2%
return
$+5::
ControlSend,, {shift down}5{shift up}, ahk_id %id1%
ControlSend,, {shift down}5{shift up}, ahk_id %id2%
return
$6::
ControlSend,, 6, ahk_id %id1%
ControlSend,, 6, ahk_id %id2%
return
$r::
ControlSend,, r, ahk_id %id1%
ControlSend,, r, ahk_id %id2%
return
$+r::
ControlSend,, {shift down}r{shift up}, ahk_id %id1%
ControlSend,, {shift down}r{shift up}, ahk_id %id2%
return
$f::
ControlSend,, f, ahk_id %id1%
ControlSend,, f, ahk_id %id2%
return
$+f::
ControlSend,, {shift down}f{shift up}, ahk_id %id1%
ControlSend,, {shift down}f{shift up}, ahk_id %id2%
return
;$t::
;ControlSend,, t, ahk_id %id1%
;ControlSend,, t, ahk_id %id2%
;return
;$+t::
;ControlSend,, {shift down}t{shift up}, ahk_id %id1%
;ControlSend,, {shift down}t{shift up}, ahk_id %id2%
;return
$g::
ControlSend,, g, ahk_id %id1%
ControlSend,, g, ahk_id %id2%
return
$+g::
ControlSend,, {shift down}g{shift up}, ahk_id %id1%
ControlSend,, {shift down}g{shift up}, ahk_id %id2%
return
$z::
ControlSend,, z, ahk_id %id1%
ControlSend,, z, ahk_id %id2%
return
$+z::
ControlSend,, {shift down}z{shift up}, ahk_id %id1%
ControlSend,, {shift down}z{shift up}, ahk_id %id2%
return
$x::
ControlSend,, x, ahk_id %id1%
ControlSend,, x, ahk_id %id2%
return
$+x::
ControlSend,, {shift down}x{shift up}, ahk_id %id1%
ControlSend,, {shift down}x{shift up}, ahk_id %id2%
return

$f1::
ControlSend,, {f1}, ahk_id %id1%
ControlSend,, {f1}, ahk_id %id2%
return
$+f1::
ControlSend,, {shift down}{f1}{shift up}, ahk_id %id1%
ControlSend,, {shift down}{f1}{shift up}, ahk_id %id2%
return
$^f1::
ControlSend,, {ctrl down}{f1}{ctrl up}, ahk_id %id1%
ControlSend,, {ctrl down}{f1}{ctrl up}, ahk_id %id2%
return
$f2::
ControlSend,, {f2}, ahk_id %id1%
ControlSend,, {f2}, ahk_id %id2%
return
$f3::
ControlSend,, {f3}, ahk_id %id1%
ControlSend,, {f3}, ahk_id %id2%
return
$+f3::
ControlSend,, {shift down}{f3}{shift up}, ahk_id %id1%
ControlSend,, {shift down}{f3}{shift up}, ahk_id %id2%
return
$f4::
ControlSend,, {f4}, ahk_id %id1%
ControlSend,, {f4}, ahk_id %id2%
return
$f5::
ControlSend,, {tab}2, ahk_id %id1%
ControlSend,, {tab}2, ahk_id %id2%
return
$^1::
ControlSend,, {lctrl down}1{lctrl up}, ahk_id %id1%
ControlSend,, {lctrl down}1{lctrl up}, ahk_id %id2%
return
$^2::
ControlSend,, {lctrl down}2{lctrl up}, ahk_id %id1%
ControlSend,, {lctrl down}2{lctrl up}, ahk_id %id2%
return
$numpad1::
ControlSend,, {numpad1}, ahk_id %id1%
ControlSend,, {numpad1}, ahk_id %id2%
return
$numpad2::
ControlSend,, {numpad2}, ahk_id %id1%
ControlSend,, {numpad2}, ahk_id %id2%
return
$numpad4::
ControlSend,, {numpad4}, ahk_id %id1%
ControlSend,, {numpad4}, ahk_id %id2%
return
$numpad5::
ControlSend,, {numpad5}, ahk_id %id1%
ControlSend,, {numpad5}, ahk_id %id2%
return
$numpad7::
ControlSend,, {numpad7}, ahk_id %id1%
ControlSend,, {numpad7}, ahk_id %id2%
return
$numpad8::
ControlSend,, {numpad8}, ahk_id %id1%
ControlSend,, {numpad8}, ahk_id %id2%
return
I use the keys 123456rftgzx as my main bar setup, I use macros with just about every single key with [modifier: ]'s, I'll show you some of my examples
;1
#showtooltip Hunter's Mark
/cast [modifier: shift] Hunter's Mark
/f "focus"
;2
#showtooltip Chimera Shot
/cast [modifier: shift] Serpent Sting
/cast [modifier: ctrl] Viper Sting
/cast [modifier: alt] Scorpid Sting
/cast Chimera Shot
;3
#showtooltip Aimed Shot
/castrandom Rapid Fire
/userandom 13, 14
/cast [modifier: shift] Multi-Shot
/cast Aimed Shot
;4
#showtooltip Arcane Shot
/castrandom Rapid Fire
/userandom 13, 14
/cast [modifier: shift] Arcane Shot
/cast Steady Shot
those hotkeys are my 1-4 keys that cover my entire shot-rotation, reducing the hell out of clutter. Instead of sucking up 10 different action bar slots, I only use 4. Since Aimed Shot, and Multi-Shot are on the same CD, I posted them both on the same key, steady shot is just a filler shot, and I cast it alot and I don't need to see the GCD for it, I didn't bother with allowing it to show. I use the #showtooltip for now, but if you didn't have it on the macros, every time you'd hit one of your [modifier: ] keys it will change the icons. Some of my other simple macros for handling other things look like these.
;Mend Pet/Revive Pet
#showtooltip Mend Pet
/cast [modifier: shift] Revive Pet
/cast Mend Pet
;Mounts casts a random mount of it's type, hold shift for flying mounts, or nothing for ground mounts, put your correct mounts in, or just use /cast if you only have one, or only want to use one.
/castrandom [modifier: shift] Swift Blue Gryphon, Swift Green Gryphon, Swift Purple Gryphon
/castrandom Swift Mistsaber, Swift Stormsaber, Swift Frostsaber
NOTE: keybinds override macros. Sometimes you'll have problems with the in game keybinds, just find the problem and fix it.

Offline
Reply With Quote
Old 08/04/09, 3:55 PM   #100
Aximous
Von Kaiser
 
Tauren Shaman
 
Jaedenar (EU)
Let me elaborate: I have a scroll wheel and 2 "special" buttons on my mouse, the scroll wheel is fine, but the other 2 keys are doing basically the same as the wheel, one button acts as scroll down the other as scroll up. Those 2 buttons keep this function regardless of what key I bind them to in setpoint w/ uberoptions. My goal is to get rid of the scrolling function of those 2 buttons and what I wrote on the other post is how I could distinguish them. The wheel produces normal wheeldown/wheelup string the other 2 buttons produce artificial wheeldown/wheelup strings.

So I don't think the code you posted is what I need. I'm rather interested if there's any way to check if a string is either artificial or not.

Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » User Interface and AddOns

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
The WWS Thread Praetorian Public Discussion 4068 08/04/09 2:03 PM