What is MS and how can I change it? Answered (With working AHK script you can use with Modifiers)

First of all, I’d like to thank you for these wonderful macros you have made for WoW. The have changed my enjoyment of the game 100%! Anyway, my question is that my ‘sleep’ is set at 70 and in-game this looks awfully fast. Is 70 a well tried and trusted speed for your macros to work well? Once again, thanks for your work in this field.

1 Like

Your very welcome, and yes the “sleep” time is the ms speed. By default I have created all of my macros @70ms so when using them start there :smiley: enjoy!

Hey, trying to use this to spam my mouse button 4 which corresponds to XButton1 but when in game the button spam opens all my menus, any idea why it might be doing this only on that button?

No idea sorry I have never tried to get it to work directly on a mouse button before :frowning:

but it sounds like it might be doing all the letters in “XButton1” like pressing x then b then u and so on but that’s just a guess

Ahh that seems like it could be the issue, any idea how I would make it read Xbutton1 as the input itself rather than individually?

not sure but I would guess just replacing all the 3’s with Xbutton1

#IfWinActive World of Warcraft
$2::
GetKeyState, state, 2, P
if state = D

Loop
{
Send {2}
Sleep, 70
return
}
#IfWinActive
What do I change for setting Q?
Tried changing all the 2’s, nothing worked then :stuck_out_tongue:

try this one:

#ifWinActive World of Warcraft  ; Only run if window 'World of Warcraft' is active
{
	$q::  ; If q is pressed
	$^q:: ; If q+control is pressed
	$+q:: ; If q+shift is pressed
	$!q:: ; If q+alt is pressed
		Loop ; If any of the above is true then loop below
    			{
				if not GetKeyState("q", "P") ; If E is not pressed then break the loop
					break
				if GetKeyState("LCtrl", "P") ; If left control is pressed then send control+e
					Send ^q
				else if GetKeyState("LShift", "P") ; If left shift is pressed then send shift+e
					Send +q
				else if GetKeyState("LAlt", "P") ; If left alt is pressed then send alt+e
					Send !q
				else
					Send q ; If q is pressed with no other modifiers send q
				sleep 70 ; Time in milliseconds between key repeats
			 }
		return
}
1 Like

Thank you! That did the trick :smiley:

1 Like

That’s great to hear :smiley: have fun!

can u make this script work like a single press button to start and stop when u press it again?

ooooooo I am not sure I will have a fiddle over the weekend and see

1 Like
toggle = 0
#MaxThreadsPerHotkey 3
#ifWinActive World of Warcraft
{
$3:: ; If 3 is pressed
$^3:: ; If 3+control is pressed
$+3:: ; If 3+shift is pressed
$!3:: ; If 3+alt is pressed
Toggle := !Toggle
While Toggle{
if GetKeyState("LCtrl", "P")
Send ^3
else if GetKeyState("LShift", "P")
Send +3
else if GetKeyState("LAlt", "P")
Send !3
else
Send 3
sleep 70
}
return
}

I think this is the best for now

1 Like

That’s the one I’m using, but in button 2 instead. I have two files, one named FAST-20-DPS running at 20ms and another SLOW-80-TANK for tanking as I realised it went better.

Hi Elfyau,
I use a lot of your macros, thank you :slight_smile:
I am a not over sure about stuff, is it legal to use this ingame please?

Tom

yes it is when you use it to spam a key (the toggle is a very VERY grey area)

hi Elfyau,

can i request a little help ? im new in this AHK but does it work when i hold my key . but is it possible to set up it with key presse ? mean press one time the bind lauch macro… then press 2nd time the bind end the macro ??

here my script :frowning:

#ifWinActive World of Warcraft ; Only run if window ‘World of Warcraft’ is active
{
$e:: ; If e is pressed
$^e:: ; If e+control is pressed
$+e:: ; If e+shift is pressed
$!e:: ; If e+alt is pressed
Loop ; If any of the above is true then loop below
{
if not GetKeyState(“e”, “P”) ; If E is not pressed then break the loop
break
if GetKeyState(“LCtrl”, “P”) ; If left control is pressed then send control+e
Send ^e
else if GetKeyState(“LShift”, “P”) ; If left shift is pressed then send shift+e
Send +e
else if GetKeyState(“LAlt”, “P”) ; If left alt is pressed then send alt+e
Send !e
else
Send e ; If e is pressed with no other modifiers send e
sleep 40 ; Time in milliseconds between key repeats
}
return
}

Thank you I may try to use it :grin:

Am I guessing right to assume this in for one key?
Would I have to write different scripts for different key?