Cross-posted from the Nexus forums, because I wanted to see if anyone here knew.
I have been searching high and low for an interface mod for Skyrim that will let me craft multiple items at once without having to repeatedly tap the "craft" key on my keyboard. I know there isn't a way to do this for Enchanting, since the game engine doesn't remember the components you selected from the previous item. However, it should work for Smithing and Alchemy since you're just tapping the same keys over and over again in order to spam craft items.
I looked around and found a couple of sources that suggested creating a keyboard macro, so that you can just use your custom hotkey and let it run. The safest program I found is AutoHotkey. The documentation for it said that certain games have cheat protection software that will detect repeat-command macros and ban you from the server; I'm assuming this only applies to online games, and not single-player games like Skyrim. So question is, does anyone know how to get this to work with Skyrim?
One of the things I want is to be able to toggle the script on, and then hold down the R (craft) key to spam craft potions. I've followed the tutorials and created some basic rapid-fire scripts, but I can only get them to work in Windows, not when the game itself is running. I'm running Skyrim in windowed mode as they have recommended, but nothing happens.
Does Autohotkey work with Skyrim?
- FrozenWolf150
- Journeyman

- Posts: 294
- Joined: Sun Sep 02, 2012 11:35 am
- ES Games: TES Anthology
- Platform: PC
Does Autohotkey work with Skyrim?
One thing I never understood about Alchemy is how you're supposed to chew diamonds, unless you're Kanye West.
- FrozenWolf150
- Journeyman

- Posts: 294
- Joined: Sun Sep 02, 2012 11:35 am
- ES Games: TES Anthology
- Platform: PC
Re: Does Autohotkey work with Skyrim?
I finally got it to work. It turns out I was using a key combo to toggle the macro that conflicted with other keys used by the game, so it wasn't switching on like it was supposed to. I changed the toggle to something that isn't already assigned to a function in Skyrim, and it worked fine. This is what I'm using for crafting:
Right-Ctrl switches the macro on and off. For Alchemy, I just select the ingredients and hold down R, and I can crank out a hundred potions every 5 seconds. For Smithing, I use SkyUI to sort the list so I can highlight the item I want to craft, then hold down Y to spam craft that. For Enchanting, I remove every blank item from my inventory except the stack that I want to enchant en masse, and every filled soul gem except for the stack I intend to use. Before I hold down the hotkey, I select the item, then go to the enchantments list and position the mouse on the enchantment right above the one I want, typically the most expensive like Turn Undead, Damage Stamina, or Banishment. This will allow it to repeatedly select the same enchantment for each loop. Finally, the last one is for whenever you have to just spam the E key, like when you're using the Atronach Forge to create a lot of atronach salts at once.
Here is the macro I use for rapid-fire, which is useful for training weapon skills.
I've gotten good use out of it with the Dynamic Things mod, which lets you train your weapon skills on training dummies and archery targets.
Code: Select all
Rctrl::Toggle := Toggle ? 0 : 1
~R:: ;For Alchemy
If Toggle = 1
Loop
{
GetKeyState, var, R, P
If var = U
Break
Send R
sleep 50
}
Else
return
~Y:: ;For Smithing, cooking, etc.
If Toggle = 1
Loop
{
GetKeyState, var, Y, P
If var = U
Break
SetKeyDelay 0, 50, Play
Send {Enter}{Y}
sleep 50
}
Else
return
~X:: ;For Enchanting
If Toggle = 1
Loop
{
GetKeyState, var, X, P
If var = U
Break
SetKeyDelay 50, Delay
Send {R}
sleep 50
Send {Y}
sleep 50
Send {S}
sleep 50
Send {E}
sleep 50
Send {D}
sleep 50
}
Else
return
~H:: ;For Atronach Forge or repeated activations
If Toggle = 1
Loop
{
GetKeyState, var, H, P
If var = U
Break
Send {E}
sleep 100
}
Else
return
Here is the macro I use for rapid-fire, which is useful for training weapon skills.
Code: Select all
Rshift::Toggle := Toggle ? 0 : 1
~LButton::
If Toggle = 1
Loop
{
SetMouseDelay 50
Click down
Click up
If (GetKeyState("LButton","P")=0)
Break
}
Else
return
One thing I never understood about Alchemy is how you're supposed to chew diamonds, unless you're Kanye West.