Skyrim Special Edition

File information

Last updated

Original upload

Created by

RealAntithesis

Uploaded by

RealAntithesis

Virus scan

Some manually verified files

About this mod

AH Hotkeys is a hotkey manager mod. Now for Skyrim SE. The objective of this mod is to allow anything that can be equipped to be hotkeyed, including sets of equipment, and to enable autocasting of spells and shouts. Equip Sets can contain weapons, armour, clothing, spells, shouts, powers, scrolls, potions, food, ingredients and other Equip Sets.

Requirements
Permissions and credits
Translations
  • Mandarin
Changelogs
AH Hotkeys – Skyrim Hotkey Manager  SSE

The objective of this mod is to allow anything that can be equipped to be hotkeyed, including equipment sets, and to enable autocasting of spells and shouts.

**NOTE: there have been a number of queries about this, so I'm putting this notice on top. To get auto casting of spells to work, install the Control Map included in the file downloads. Further, for now, the shout key will need to be a keyboard key in the Skyrim settings for auto casting of shouts to work, not a mouse button.** 

News

  • 21 May 2020: released version 4.4. See change log for details. Key feature: option to repeat auto-casting of spells. Bug fixes.
  • 29 September 2019: released version 4.0. See change log for details. Improvements to responsiveness (YMMV), added fast equipmode, improvements to auto-add and auto-casting functionality, and bug fixes. Note that there is now only one package to download. The AH Hotkeys package from version 4.0 includes SkyUI Lib and the AH Hotkeys controlmap. JContainers will need to be downloaded separately from the JContainers SE Nexus page or from github.
  • 13 August 2018: released bug fix version 3.01. This fixes the bug with shouts not showing up in the shouts inventory list, as well as the find
    function not working in the shouts list.
  • 12 August 2018: v3.0 released. Key new features include: improved responsiveness and speed of generating inventory lists, ability to recognise and equip specific user-enchanted and tempered items, improved cycling options, macros (including one that opens the AH Hotkeys MCM page quickly with a hotkey), Action Menu to execute and edit equipsets outside of the MCM, auto-add potions with specific magic effects to an equipset, user-definable and changeable modifier keys as well as adding a 4th modifier key.
  • 18 April 2018: v2.03 released. Fixes some bugs with bound weapon autocasting and updates the AH Hotkeys Full Package to JContainers 4.1 for Skyrim 1.5.39 and SKSE 2.07. See change log, especially re: updating JContainers to 4.1 (i.e. 1) back up your hotkeys (to external file in the Configuration screen) before updating; 2) after updating, AH Hotkeys will appear to be deactivated - "Re-install" AH Hotkeys in the Configuration screen; 3) restore the backed up hotkeys from the Configuration screen).
  • 24 March 2018: v2.02 released. Fixes bug with powers (as opposed to shouts) incorrectly casting multiple times.
  • 19 March 2018: v2.01 released. Only change is to include the UILIB_1.pex script file from SkyUI Lib that was missing in the full package of the original v2.0 release. This is required for the SkyUI Lib functions to work, such as text input boxes, some list boxes, notifications and text boxes.
  • 13 March 2018: first version for Skyrim SE. This is not just a port of the last LE version 1.8.1 - I've been fixing up a few things, such as making spell and shout casting a little more reliable, including equipment set toggling behaviour and a few other things. Refer to the change log.

Demo Videos


Simple Tutorial:
1. Open up AH Hotkeys MCM. It opens to the EquipSets page.
2.
If first time install, activate by going to the Configuration page and rebuild the inventory.

Left hand side of EquipSet page:
3. In the EquipSets page, go to the File Menu and select "New EquipSet" from the list.
4. Enter a name for the new equipset.
5. Set a hotkey by clicking the "Hot Key" button. Select any of the modifier key check boxes.

Right hand side of EquipSet page:
6. Add weapons and/or a shield by clicking on "Right" or "Left" (shields are left hand only).
7. Add a shout or power by clicking on "Shout/Power".
8. Add clothing or armour (or other items that can be equipped in one of the apparel slots) by clicking on "Add Item...".
If no items are showing up in the above inventory lists, go to the Configuration page to rebuild the inventory.
9. Exit the MCM and try out the new equipset by pressing the hotkey and any modifiers that were set.

That's pretty much it. All the other options are extras that can be investigated once your needs require them.

Features:

1. Assign hotkeys to equipment sets (“Equip Sets”). Equip Sets can contain weapons, armour, clothing, spells, shouts, powers, scrolls, potions, food, ingredients and anything else that can be equipped (torches etc), including other Equip Sets.

Examples:
  • Weapon Equip Sets that equip different weapon or spell combinations (left hand, right hand, shout);
  • Armour Equip Sets that equip different armour and/or clothing load outs. Option to unequip all other items first.;
  • Chain together equipsets that are executed from a single key press - e.g. shout unrelenting force, cast oak flesh, launch fireball, ice spike, drink magicka potion, launch lightning bolt etc from one key (or spare mouse button).

2. Hotkeys can consist of keyboard keys (including numpad keys), mouse buttons and including any combination of alt, control and shift modifier keys. There is practically no limit to the number of hotkeys that can be assigned and Equip Sets created.
- With Version 3.0, modifier keys can be changed to any other key. A 4th modifier key (in addition to alt, control, shift) can also be defined.

Examples:
  • Assign “1” to the flames spell, “2” to a combo lightning and flames spell, "5" to a healing spell etc; Alt-1 to a heavy armour set, Alt-2 to a town clothing set; Shift-1 to a one-handed weapon set, Shift-2 to a two-handed or ranged weapon set; Alt-Shift-Control-E to a combination of different items, potions, shouts, spells and other Equip Sets to equip and cast all at once etc, number key pad keys to other spells, clothing sets etc.

3. Weapons can be dual wielded when placed into both left and right hand slots in the Equip Set.

Examples:
  • Wield a dagger in the left hand and war axe in the right, or shield on the left and war axe on the right.

4. Equip and/or autocast spells, scrolls, shouts and powers. Spells can be dual casted when placed into both left and right hand slots in the Equip Set, or combined with another spell in the other hand. Option to re-equip the previously-equipped items on completion of the autocast. Concentration type spells (flames, healing, wards etc) can be cast for as long as the hotkey is held down (or until magicka depletes or the spell is interrupted).

Examples:
  • Equip Sets to auto single or dual-cast oakflesh, flames, then sparks, and then re-equip whatever was equipped prior to the first auto-cast in the chain. All without entering the inventory menu.
  • Autocast a ward spell to a 3rd or 4th mouse button to cast the ward when needed, auto-switching back to the shield/weapon in that hand when done.

5. Drink potions or eat food or ingredients in an Equip Set. Option to either consume all at once (for a certain combination of effects) or consume only the first available. Consuming only the first available will allow the player to build a list of potions (and food) (optionally sorting from greatest to lowest magic effect or vice versa) and consume them one at a time (e.g. during combat) until there are none remaining.

Examples:
  • If there are three Equip Sets for health potions & health food, magicka potions and stamina potions (or any other type of potions or food), all ordered from highest to lowest effect, these potions can be consumed in order with each hotkey press. Or assign a hotkey to execute all three Equip Sets at once (in which case, the first available potion with the highest (or lowest, as desired) effect will be consumed from each Equip Set).
  • If an Equip Set contains (in order): Restore Health Potion IV, down to Restore Health Potion I, a hotkey press will consume one Restore Health Potion IV. Subsequent presses will continue to consume Restore Health Potion IV until there are none left. Then the Health Potion III will be consumed, and so on, until the last potion in the list (Restore Health Potion I) is used up. If you pick up more health potions, then the Equip Set will start using them again depending on the sort order.

5A.
Auto-add potions to equipsets: add a potion to an equipset in the MCM. Clicking on the potion brings up a menu. Choose the option to Auto-Add Potion to the EquipSet. This will then add the potion effects to the top of the item list. Any subsequent potions added to the player inventory that matches the auto-add effects will automatically be added to that equipset.

6. Options to:
- Equip all items in an Equip Set: e.g. for a clothing load out;
- Toggle all items in an Equip Set with previously equipped items: e.g. to toggle an equippable lantern on or off (e.g. Wearable Lanterns);
- Step through an Equip Set equipping one item at a time: e.g. cycle through a number of different equipsets: e.g. cycle between one handed, two handed or bow sets (or anything else), armour or town clothing sets, etc;
- Drop all items in an equipset: this could be useful in some situations such as dropping onto the ground a mod-added container that can then be accessed.
- Exclude items from being unequipped in an equipset that unequips left hand, right hand or clothing/apparel, unless that same equipset overrides this behaviour to unequip excluded items. The item exclusion list is in the Configuration 2 MCM page.

7. Organise Equip Sets into Groups to keep track of them more easily.
The following groups are set up on installation: Armour Sets, Weapon Sets, Spell Sets, Potion Sets, Equip Sets. Any number of other groups can be added.

8. Filter items to allow for easier searching for inclusion into Equip Sets. Items can be filtered by type (weapons, armour etc), magic effect and name. Also filter items by favourited status.

9. Save the Equip Set database (a “Hotkey Set”) to a file in either the Skyrim Data folder or User folder. The database can be read back in to any other save file. Multiple Hotkey Set files can be saved (the user will be asked for the file name). The mod user configuration settings can also be backed up to a file and restored later or imported into any other save game.

10. Macros:
Macros are set up in the Macros MCM page. Macros emulate keypresses in a user-definable sequence (the 'macroscript') which is built in the Macros page. Available keywords in a macroscript include:
Keyword/Value
repeat: number of times to repeat the next sequence of actions
end: ends a repeat block
key: taps the key
keydown: holds down the key
keyup: releases the key
keycode: taps the key (by keycode)
keycodedown: holds down the key (by keycode)
keycodeup: releases the key (by keycode)
mappedkey: taps the key (being one of the Skyrim mapped keys)
mappedkeydown: holds down the key (being one of the Skyrim mapped keys)
mappedkeyup: releases the key (being one of the Skyrim mapped keys)
wait: waits for a time, in seconds or parts of second
waitformenu: waits for a Skyrim menu window to appear (e.g. Inventory Menu, Journal Menu etc).
stopifmenu: cancels the macro if a Skyrim menu window is up.
keydelay: sets the delay between key press actions (in seconds).
equipset: execute an EquipSet.
macro: execute another Macro.

11. AH Hotkeys Action Menu:
The Action Menu can be brought up at anytime by pressing a hotkey (definable in the Configuration MCM page). Functions include:
1) Open AH Hotkeys MCM.
2) Execute Favorited equipsets.
3) List equipsets by group and execute.
4) Search for and execute equipsets by name. The search follows the same logic as the name and magic effect filtering options in the equipset MCM (search criteria separated by commas, prefix search text with "!" to find equipsets that don't have the string). This could be useful if you have a lot of equipsets.
5) Execute Macros.
6) In inventory, magic and shout windows: option to add currently selected item to an EquipSet, asking to replace any current item in the same slot. You can add any inventory item, spell or shout to any EquipSet this way without entering the AH Hotkeys MCM page. 

12. Other functions:
  • Notification messages when equipping Equip Sets or items.
  • Unequip left hand, right hand, and/or all other items (to only unequip, just don't add other items to the EquipSet).
  • Equip Set File Menu options to create new Equip Sets, Revert changes, duplicate, delete or rename Equip Sets.
  • Equip Set Options Menu to add all currently equipped items to an Equip Set or remove all items.
  • The Wizards MCM page provides a way to setup some examples of equipsets and macros.

User Enchanted and Tempered Items
With version 3.0 of AH Hotkeys, user-enchanted and tempered items (e.g. Iron Sword of Flame, Iron Sword (Fine)) are recognised as being distinct from the generic base forms (e.g. Iron Sword) and can be equipped by AH Hotkeys specifically.
- Specific items are added to equipsets either by choosing from the list of items currently-equipped by the player or as selected from the inventory window.
- The limitation is that AH Hotkeys can only track these specific items through their display name. If the name changes, either due to enchanting, tempering or an item-sorting mod, then these items are no longer recognised and need to be re-added to the equipset.


Notes

1. On installation or rebuild of the inventory lists, shouts are not automatically placed into the mod’s inventory database since there is currently no way for a script to get the list of learnt shouts. You will need to first go into your inventory and click on the shout to equip it. The shout should then show up in the shouts inventory list.

2. If weapons, armour or spells aren’t showing up in the inventory menu list, check whether the option to show only favourited items is selected in the “Configuration” page and check whether that item is favourited or not.

3. User enchanted items are displayed using the name of the base object in the inventory lists, even if a new name was given when the item was enchanted. This is because there is no way currently for a script to distinguish between enchanted and unenchanted items in the player’s inventory. In this case, try not to carry around unenchanted versions of the same item as the mod may not equip the enchanted one every time (or place these items in a separate container). Note that this also appears to apply to some pre-enchanted items such as the Axe of Whiterun, which may display as another name (e.g. Orcish Axe of Flames).

4. Items in the inventory lists with an asterisk in the name (*) have been favourited.

5. A name or magic effect name filter can be reversed by prefixing the search string with an exclamation mark "!".
Example: to list all health potions that don't have the string "fortif" in its name (i.e. you want all health potions that restore health but aren't fortification potions), you would set the filter to: 1. Potion item type; 2. Health magic effect; and 3. a name search string of "!fortif". This is helpful if you want to add all the restore potions to your health potion set but don't want to include the fortification potions (you may want a different potion set for that).
- As of version 2.0, multiple name filters can be added: e.g. filtering for potions with a name key word search for "health,heal,magicka,!fortify,!regen" will display all potions with "health", "healing" or "magicka" in their name, but not "fortify" or "regeneration" - i.e. potions called "potion of health", "draft of healing", "potion of magicka" etc will display, but not "potion of stamina", "potion of regenerate health", "potion of fortify magicka" etc.

6. AH Hotkeys will allow you to place shields on the right-hand slot of the Equip Set, but Skyrim will still equip them on the left-hand, which will conflict with whatever other item you try to put in the left hand. AH Hotkeys allows this flexibility in case another mod figures out how to change shields to allow them to be equipped on the right (however unlikely that may be). For now, just put shields on the left hand.

7. All the various options and settings display help text when hovering over them.


Tutorials
1. How to set up a chain of equipsets that cycle with each key press
1) Set up separate equipsets for each step that requires multiple actions or contains multiple items and/or if you need things to happen
in a certain order that isn't possible within just one equipset - e.g. multiple sets of hand items, spells, armour sets or even potion sets where only one potion should be used at a time).

If, for example, you want to set up a chain that (a) casts Oakflesh with the first key press, (b) equips your bow with the second key press, and then (c) equips your sword and shield with the third key press:
1. Set up 'child' equpsets:
A) set up spell equipset with Oakflesh (in left or right hands or both). This could be set to autocast or not.
B) set up bow equipset (you may also want to equip the particular ammo you want to use as well).
C) set up sword and shield equipset to equip in the right and left hands respectively.

2) Set up the 'master' equipset and give it the hotkey you want to use. Set the equipmode option to "cycle one at a time".

3) Add the 3 equipsets you created above to the items list, in the order that you want. To do this, you need to set the item type filter to
"Equipsets". You will then be able to add your other equipsets (the ones you created above) like you can any other inventory item.

4) This will then cycle through the equipsets (A) to (C) one at a time with each tap of the hotkey.



Installing

Use the Nexus Mod Manager (NMM), its successor Vortex, WryeBash, Mod Organiser 2 (MO2) or manually drop the contents of the zip file into the Data folder (generally, manual installation is not recommended due to the difficulty in tracking all the files, which makes uninstallation and isolating conflicts with other mods problematic).  I’ve used Mod Organiser for this mod with no issues.

Note: if the mod is being installed on an already-existing game with a large player inventory, the inventory list may take a while to build. The inventory list is required to be built in the MCM menu's "Configuration" page. This is to ensure that the intense scripting load from rebuilding the inventory list doesn't interfere with anything else that may be running when the save game first starts.



Uninstalling

A “Deactivate” and “Uninstall” function can be found in the “Configuration” menu. ‘Deactivate’ will deactivate the script so it will no longer process key presses and inventory events.

To uninstall the mod, use the ‘Uninstall’ option. This will deactivate the mod and delete all data, including all JContainers data structures associated with the mod. Make sure that you save your Hotkey Set database to a file (see the “Configuration” menu) if you want to import into another save game later on.

AH Hotkeys is primarily a script-based mod, with the following entry-points:

1. OnInit(), which runs once on first install, and OnPlayerLoadGame(), which runs once on every load game.
2. OnKeyDown() event: to catch key presses.
3. OnItemAdded(), OnItemRemoved(), OnObjectEquipped(): to manage certain inventory-based functions, such as keeping the mod’s inventory item cache up to date.
4. SkyUI MCM configuration menu entry points: for the MCM menus to work.
5.OnAnimationEvent(): to track casting state of spells. Bulk of the script is only active when autocasting spells (otherwise returns immediately).

There are no OnUpdate() events that could hang around to cause issues if the mod is deleted from the Skyrim Data folder. Note that, as with any scripted mod, the papryus log may print out some minor errors informing of objects in the save that are no longer present in-game.


Control Maps for Spell Auto-Casting

Included for download is a slightly modified version of the vanilla controlmap.txt file. The modifications allows AH Hotkeys to simulate mouse button presses for the Left Attack/Block and Right Attack/Block actions. This is required in order for auto spell casting to work. You won’t need this file if you already have a custom controlmap.txt file that does the same thing. If auto spell casting does not work, then download this file.


Prerequisites and Compatibility


AH Hotkeys SSE requires the following mods to be installed:

1. Skyrim Script Extender (SKSE), version 2.06: http://skse.silverlock.org/
2. SkyUI (specifically, the MCM configuration menus): SkyUI SSE


AH Hotkeys also requires, and bundles, the following 3rd party mod resources:

1. JContainers SE: version 4+ is required, and is included with AH Hotkeys. If JContainers is required to be downloaded separately, it can be found here: JContainers SE.
. JContainers is required due to AH Hotkey’s data-intensive feature set that will not be possible with just the vanilla papyrus scripting engine. All JContainers data is stored in the SKSE co-save file that is saved along-side the normal save file.

2. SkyUI Lib: version 1.0 is required, and is also included. If SkyUI Lib is required to be downloaded separately, it can be found here: http://www.nexusmods.com/skyrim/mods/57308/?. Required for the text input dialog box.

It should be ok to overwrite JContainers and SkyUI Lib with later (minor) versions. Later minor versions of JContainers and SkyUI Lib should be backwards compatible with mods developed using earlier minor versions. Later major versions of JContainers and SkyUI Lib should have different file names, so should not conflict with AH Hotkeys.

AH Hotkeys SSE is not compatible with any 32bit version of JContainers nor versions earlier than 4.01, nor any version of SKSE prior to 2.06 (note that JContainers 4.1 is required for Skyrim 1.5.39 and SKSE 2.07). I will also make AH Hotkeys available for download without JContainers and SkyUI Lib bundled, for those who want to manage these separately.

AH Hotkeys can work alongside the vanilla hotkeys as well as other mods that provide various hotkey functions, though bear in mind that they will all try to process the same key press and compete for priority. Usually, this shouldn't cause an issue (the actions from both mods will occur), but there may be strange behaviour if both mods are trying to do things to the same items.



Credits

Prior to developing this mod, I used other hotkey mods available on the Nexus, so naturally I would have drawn inspiration from these mods in creating this one. Inspiration from:

Credits go to the authors of JContainers (SilverIce), SkyUI Lib, SKSE and SkyUI for their help, provided at various points in time and to others on the Bethsoft forums.
Since v3.0, AH Hotkeys uses some code adapted from the SKSE source for the itemID hashing (see the AH Hotkeys lua code).
Thanks also goes to ryobg and others for their efforts in porting JContainers to the 64bit Skyrim SE - see the github page linked above. AH Hotkeys SSE cannot have been made without JContainers SE.
Thanks to dunc001 for providing insights and assistance with accessing the ActionScript properties of Skyrim's menu system.
Finally, thanks to dtrail and others for testing the SSE port.