While I am waiting in the 1/2 hour queue I thought I might write a blurb about my experience with AutoHotKey and SWTOR. I realize this thread will probably be met with some contempt from the people who think macros are for people who don't know how to play the game. But hopefully this thread will be useful to some people.
I really liked the macro system in Rift where you could stack cast macros on top of each other and create a kind of mashable attack button. Using AutoHotKey I did sort of the same thing with my Sith Inquisitor.
$NumPad2::
Loop
{
if not GetKeyState("NumPad2", "P")
break
SendInput, = ;Recklessness
SendInput 8 ;Crushing Darkness
SendInput 9 ;Force Lightning
SendInput 0 ;Lightning strike
SendInput - ;Shock
Sleep 500 ;Need a slight sleept to avoid issues
}
First I use a Razor Naga gaming mouse. The keypad on the mouse is bound to the number pad. What the above macro does is cast Recklessness if it's up, Crushing Darkness if it's up, Force Lightning if it is up, Lightning Strike and will cast Shock if I am moving. I'm not saying this is the perfect rotation for my class, I might still be figuring that out but it does work pretty well.
Next, I wanted to roll a healer. It annoyed me to no end that I didn't have the ability to make mouse over macros for healing. Call it habit but in any game I've ever played the ability to mouse over heal was there.
$NumPad4::
Loop
{
if not GetKeyState("NumPad4", "P")
break
Click ;Mouse Over Target
SendInput 4 ;Dark Heal
SendInput +{tab} ;Target Previous Target
Sleep 500 ;Need a slight sleept to avoid issues
}
So in the above example, when I hover my mouse over a unit frame and push the NumPad4 button on my mouse, it sends the left click which targets the person I want to heal, casts Dark Heal and retargets my last target. I have to say this works way better than I thought it might. I've made similar macros for other heals and shield as well.
Last one thing that tripped me up for a minute with AutoHotKey and SWTOR is that the game runs as administrator so in order for AHK to work you need to run the scripts as administrator as well.