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.
Used to map hotkeys and auto cast spells and shouts
Permissions and credits
Credits and distribution permission
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou must get permission to earn Donation Points for your mods if they use my assets
Author notes
This mod bundles SkyUI lib (earlier versions prior to 4.0 bundle JContainers). Please refer to their permissions for use of these files.
I've included source files in the package for others to look at and use if they wish, but would appreciate credit if significant portions are used for other projects. The source files are included also for the purposes of bug identification if anyone is so inclined.
Redistribution on other sites is ok, but with due credit given (include Nexus link with the redistribution if possible), but I won't be able to give much in the way of support through any other site than Nexus Mods.
Abandoned Mod Clause: While I do intend to continue supporting this mod, if there's no activity from me on the Nexus for over 6 months, then anyone so inclined may re-release AH Hotkeys (including both SSE and LE versions) on the Nexus to maintain the mod, fix bugs, improve functionality etc. While I reserve the right to come back to my mod at a later date, the author of the re-released version may continue working on their version however they deem appropriate.
File credits
Inspiration from: • More Hotkeys Please: http://www.nexusmods.com/skyrim/mods/23416/? • Hotkeys Plus Plus: http://www.nexusmods.com/skyrim/mods/36728/? • Loadout: http://www.nexusmods.com/skyrim/mods/34593/?
Also, thanks to the authors of: JContainers: http://www.nexusmods.com/skyrim/mods/49743/? JContainers64: https://github.com/ryobg/JContainers/releases SkyUI Lib: http://www.nexusmods.com/skyrim/mods/57308/? SKSE: http://skse.silverlock.org/ SkyUI: http://www.nexusmods.com/skyrim/mods/3863/?
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
AH Hotkeys - Skyrim Hotkey Manager SSE - Chinese Translation
Changelogs
Version 4.4.3
31 May 2020
Bug Fixes: 1. Fixed bug with ritual auto-casting timing out midway through the animation. Note: this was caused by certain spells (incorrectly?) having a cast time of zero which is not useful since these spells actually required a casting time greater than zero in order to cast. For these spells, a default cast time was assumed as 0.75 seconds for fire and forget spells and 3.0 seconds for ritual/master level spells. This may not be appropriate for all spells with zero cast time, but worked for all the spells I tested to date.
Version 4.4.2
25 May 2020
Bug Fixes: 1. Another attempt at fixing the bug with dual/ritual auto-casting.
Version 4.4.1
23 May 2020
Bug Fixes: 1. Fixed bug with dual auto-casting not working.
Version 4.4
21 May 2020
Bug Fixes: 1. Fixed issue where duplicating an equipset linked the auto-add items to the EquipSet being duplicated (so changing the auto-add items of the duplicated EquipSet incorrectly changed the auto-add items of the original as well). 2. Fixed potential CTD with two-handed auto-casting. 3. The inventory cache no longer updates when entering the MCM unless the options to auto update the inventory or spells are enabled in the Configuration page. 4. Fixed the issue where pressing the wasd keys in certain menus and arrow keys in the console to navigate would cause the keys to act as if they were held down or pressed rapidly, skipping several menu items with a single tap. Due to this fix, the shortcut to open the MCM to AH Hotkeys or another mod now just emulates pressing the Journal key (e.g. "J") to open the menu.
Features: 1. Option to repeat auto-casting for spells until the cancel key is pressed (either left or right attack key or jump key as per the settings), the player is out of magicka or the spell is otherwise interrupted. Note that auto-repeating spells (e.g. fire bolt in the right hand) can continue to cast while a ward in the left hand is blocking. If a shield is blocking, the auto-repeat recommences when the blocking ceases. 2. Optimised auto-casting of spells a little more. Spell auto-casting should be a little more responsive (note that overall responsiveness depends on script performance which depends on script load and fps). 3. The option to specify that a spell is a concentration-type spell is deprecated as it is no longer required - AH Hotkeys knows if a spell is a concentration spell or not (also, I've reached the ceiling of 128 states for the MCM script, so needed to do this for the auto-repeat button). 4. New macro to type a console command. This brings up the console, types the command and presses enter. An empty value in this macro just brings up the console without typing anything. Console text can be typed with the 'text' macro. Note that macros cannot currently be executed while the console is up, so the macro will need to bring up the console and execute all the commands in the one macro. 5. New macro to type text. The macro will type the keys one at a time. e.g. in the console (note that a 'key' macro to press enter will be needed to execute the console command).
Other: 1. Modified the UILib files for the ListMenu and TextInputMenu functions to make them specific to AH Hotkeys. This was done primarily for the text input function so that it notifies the calling script that the cancel button was hit (rather than just returning an ambiguous empty result). Further modified the ListMenu and TextInput functions and swf files to return an AH Hotkeys-specific event. The modified UILib files for the ListMenu and TextInput were renamed with an "AH_Hotkeys" prefix to avoid conflicting with vanilla UILib files from other mods. Note that the UILIB_1_notificationarea.swf and buttonArt.swf files were unchanged and will still have the same names as the same files bundled with other mods.
Version 4.3
11 November 2019
The controlmap file is now a separate download from the AH Hotkeys package by request due to it conflicting with custom controlmaps that some users have. If you need to use the AH Hotkeys controlmap to enable the autocasting functionality (it's only used for this purpose), then this is available as an optional download.
Features: 1. Added 'waitUntil' macro key. When included in a macro script (see Macros MCM page), 'waitUntil' waits until a mouse button or key is pressed (or both).
Bug fixes: 1. Fixed bug with the custom modifier key settings not working in the Configuration 2 page. 2. Fixed bug with shouts and powers not re-equipping after executing an EquipSet with a shout or power even though 'Equip last item after spell is autocast' is checked in the EquipSet page.
Version 4.2
29 October 2019
1. Rebuilt esp to hopefully fix issues being experienced by some users with scripts not working properly. Note: during the rebuild, I've determined that converting the esp to an ESPFE or ESL (i.e. to save an esp slot) breaks AH Hotkeys, so users are advised against this (or come back with some suggestions on how to do this without breaking things). Note: the previous esp for v4.1 and earlier will not be compatible with the scripts for v4.2 since the script structure has changed.
2. Fixed some bugs with the Equipset Overview page.
3. Installation instructions: if updating from 4.1 or an earlier version, a clean save will be required. This is because the form ID of the main AH Hotkeys quest has changed. To update:
1) Backup your hotkey set and user settings using the two respective options in the Configuration page of the MCM.
2) Uninstall AH Hotkeys from the Configuration page of the MCM. This clears the JContainers data from save file.
3) Save the game and quit.
4) Deactivate the AH Hotkeys esp (in your Mod Manager of choice).
5) Load the save game again without the AH Hotkeys esp, then save again, then quit.
6) Install AH Hotkeys v4.2 (using your Mod Manager of choice).
7) Load the save. There should be some notifications that AH Hotkeys is now installed and to go to the MCM menu to complete the setup.
8) Go to the AH Hotkeys MCM Configuration page. A dialogue box should pop up with some instructions. Click on Install.
9) Re-import your backed up user settings and hotkey set data (if you forgot to backup, then reinstall the previous version of AH Hotkeys, load the previous save, and start again at Step 1).
10) Rebuild the inventory (in Configuration page).
11) Try out your previous EquipSets or create new ones and try those out. Cross your fingers - hopefully it should all work if it didn't before...
Version 4.1
20 October 2019
Features: 1. Added new EquipSet Overview page along with a corresponding hotkey to bring up the page with a keypress. The EquipSet Overview page displays all EquipSets that have been setup along with their key combinations. - The sort menu can be used to sort the EquipSets by order of creation ("No Sort"), by name, by modifier key combo (key combos sorted by modifiers, then hotkeys) and by hotkey combo (key combos sorted by hotkey first, then modifiers). There is also an option to group the list of EquipSets by Hotkey Group (Armour, Weapons etc). - The EquipSet sort order in the EquipSet Overview page will also sort the list of EquipSets in the EquipSet page. - The Execute EquipSet When Clicked check box changes the behaviour when clicking on the EquipSet name. Instead of opening a panel to change the key assignments, clicking the name will close the MCM menu and execute the EquipSet. Together with the hotkey to bring up the EquipSet Overview page, this can be used to quickly display the entire list of EquipSets and run them without needing to assign hotkeys to each one. - This page is still a work in progress and more options may be included in future.
Bug Fixes: 1. Another attempt at fixing the issues some people are having with JContainers variables not assigning properly. This version includes some additional error checking and code to self correct the errors. However, since I've been unable to replicate these issues, this code should be considered experimental.
Version 4.01
10 October 2019 Overview Mostly a bug fix release. If there are still issues with errors in the lua logs, please report them. Also added some additional logging to help with identifying similar issues.
Features 1. Added option in Configuration page to open the AH Hotkeys MCM to the last executed EquipSet. 2. Wizards now automatically switch to the EquipSets or Macros pages (as applicable) to display the newly-created EquipSet.
Bug Fixes 1. AH Hotkeys now creates the AH Hotkeys Data folder in the JC User folder if it doesn't exist on loading a game (previously this folder was only created when a hotkey file was saved from the Configuration Page, or if the user created it themselves). This should resolve errors with the lua log file not being created if the folder didn't already exist. 2. Hopefully fixed issues being experienced by some users where lua variables weren't being properly assigned (resulting in lua scripts failing). 3. Fixed debug level reverting to level 2 (notices) by default on reloading a game. 4. Removed redundant "Close MCM" button from Macros page. 5. Fixed the included controlmap.txt file to allow shouts to be remapped in the game control settings.
Version 4.0
29 September 2019
Overview
1. Version 4.0 is a refinement of the earlier versions with more streamlined code and various efficiency improvements for improved responsiveness (mileage will vary depending on machine specs) and added functionality to various mechanics such as auto-casting, auto-adding of potions, now including food and ammo, and a new fast(er), but simpler, equip mode.
2. AH Hotkeys is no longer bundling JContainers due to confusion caused by conflicting versions as a result of people using different versions of the Skyrim executable. You just need the version of JContainers that works with your version of Skyrim. It's a good idea to keep JContainers below all other mods (if using MO2) to overwrite them in case one of those mods replaces JContainers with an older version that's incompatible with your version of Skyrim.
Note: at least version 4.1.11 of JContainers is recommended for Skyrim SE 1.5.80 as it includes a fix for ESL/ESPFE forms being invalidated on reload as well as a fix to a lua form comparison function used by AH Hotkeys.
3. Note: AH Hotkeys now also bundles the controlmap to allow autocasting of spells rather than it being a separate download. If you have any other controlmap that you wish to use in preference to the AH Hotkeys controlmap, it should be placed below AH Hotkeys in MO2 or otherwise overwritten in your mod manager of choice.
Features
1. Reworked the modifier key code. Key combos with modifier keys should be more reliable, though there may still be issues with keys being detected at different times if there is high script lag.
2. Reworked the spell auto-casting mechanics. Added some limited multi-threading so that 2 spells with different cast times can be cast together, e.g. concentration spell with non-concentration spells.
3. Auto add items are now more flexible, allowing auto adding of potions and posions, food and ammo.
Matching rules for auto-adding items:
- Magic effect matches are delimited by commas and are partial matches by default. e.g. "health,invis" matches Restore Health, Fortify Health, Invisibility etc.
- All effects are matched exactly if surrounded by parentheses. e.g. "(Restore Health)" will not include potions with both Restore Health and Fortify Health.
- Negative matches are prefixed with "!". e.g. "Health,!Fortify" matches all potions with 'health' in the effects but not fortify health.
- If auto adding food, raw (uncooked) food is not added if using CC Survival Mode. There is a form list in the Survival Mod esl that defines what food is considered to be raw).
- Added buttons for showing auto-add items and to auto-add new items to the EquipSet page (to make the auto-add functionality more visible).
4. Food can be sorted by its hunger rating (i.e. if using CC Survival Mode).
5. Added options in the EquipSet page Options menu to convert all items to generic or specific items.
6. Added new fast equip mode (via toggle button), which improves the times to execute an equipset. The improvement to responsiveness will depend on machine specs. The downside is that, because this is a simpler equipping process, it doesn't support the more complex features of the standard equipping mode such as toggling, equipping last equipped items, cycling etc (these may come in future). The fast equip mode can be used if a simple equip is all that is required, but it does support auto-casting of spells. The side-benefit is that a fast equip is not queued by AH Hotkeys, so can be executed when other equipsets are running - e.g. a potion equipset using the fast equip mode can be executed when a spell is being autocast.
7. Reworked the open MCM macro. This now directly opens the MCM menu to the SkyUI mod configuration page (using the built-in SkyUI functions as near as I can figure them out) and opens the required mod by name rather than emulating keypresses to navigate to the mod's position. The wizard has also been updated to display a list of all available MCM mods to choose from.
8. Improved speed of inventory updates when accessing the MCM.
Bug Fixes
1. Fixed bug where object equipped events stopped working on occasion (which would cause shouts to no longer be able to be added to EquipSets after being equipped).
2. Fixed issues with items not equipping when swapping between equipsets due to overlapping armour slots.
3. Fixed issue with macro hotkeys not registering after loading a new hotkey config from file.
4. Fixed issue where the same inventory items may appear multiple times in the MCM inventory lists.
5. Fixed some issues with adding and equipping two-handed items.
6. Fixed some issues when installing AH Hotkeys in a new game. Should hopefully work right off the bat now.
Version 3.1
25 September 2018
1. The default Open AH Hotkeys macro now uses the mapped "Journal" key, not the "J" key.
2. Fixed bug with items not being added to an EquipSet properly via the Action Menu in the Inventory screen.
3. Fixed issue with the unequip item exclusions where items were not prevented from being unequipped if the inventory item was different to the item that is actually equipped (e.g. Chesko's Wearable Lanterns) - these items are now matched by name, not by form (because the form is different).
4. Fixed bug with currently-worn armour items not being unequipped if the EquipSet contains an item no longer present in the player's inventory.
5. Improved auto-casting of spells:
- Fixed bug with spells not autocasting in some situations (including scrolls). This namely affected master level spells and scrolls using the 'ritual' spell casting animation.
- Improved handling of dual-casted spells where there wasn't enough magicka to cast the spell in one or both hands.
- Improved reliability of auto-casting.
6. Fixed bug with food and ingredient items not sorting in the EquipSet list.
7. Fixed bug with name filtering - excluding words by prefixing with an exclamation mark ("!") now works properly.
8. Added option when selecting items in the EquipSet page to convert between generic items and specific items:
- Generic items are equipped using the base form of the item regardless of a change in name due to enchanting or tempering. Use generic items where you want an item to continue being equipped despite it changing name. However, equipping generic items may result in another item of the same base form being equipped instead of the item that was expected (e.g. Iron Sword instead of Iron Sword (Fine)).
- Specific items are identified by their base form and display name. Use specific items where you want an item to only be identified on the basis of their current name, such as a specifically-named user-enchanted item. Note that the item will need to be re-added to the EquipSet if the name of a specific item changes (e.g. due to further tempering or enchanting).
- When converting to a specific item, AH Hotkeys will search its cache for specific items equipped previously and present a list of possible choices (because specific items can only be identified when equipped or selected in the inventory window). Note that these listed items may not be currently in the player's inventory (there is currently no way, that I know, of determining this by script).
9. Added check box option in the Action Menu when in an inventory screen to select and add generic or specific items to an EquipSet.
10. Changed the filter by EquipSet option in the EquipSet page (accessed via the "Filter by item type menu") to use the fast method of generating the list. The speed of generating this list is now noticeably faster.
11. Added new option in Config 2 screen to select the input device for auto casting. If the controlmap.txt file included in the AH Hotkeys page is used, this should be set to the keyboard input device. The keyboard input device is now set by default. Try setting this to mouse or gamepad if the controlmap.txt uses these devices for the right and left attack/block keys rather than the keyboard (you will need to know what you are doing when changing these settings).
12. Improved drop all items equipMode. Now applies a user-definable havok push to the dropped items to make the item susceptible to gravity if they weren't before (i.e. torches) and to allow items to be thrown with force in the direction where the player is facing. Values range from 1% to 100%. A value of 100% equates to a havok impulse magnitude of 35, which is based on how far I thought a reasonably strong person should be able to throw a torch without it being obvious that the player can throw a torch to the very top of a mountain from ground level due to the scaled down nature of Skyrim terrain. Throwing force should scale with item mass, but wonky results may happen if an item has a strange mass value. Throwing forces have been normalised by distance (based on my tests with the aforementioned torch) to prevent very light items from being thrown halfway across Skyrim.
- This could be used, for example, to throw lit torches down dark dungeon passageways, doorways or ledges to light the way (due to Skyrim, whether the lit torch will actually light anything once thrown is another matter).
- Note that there may be a slight flicker when the object appears. This is because the object is disabled, repositioned and re-enabled prior to being thrown due to the default DropObject() function placing the object too far away, which causes wonky results when in close proximity with other objects.
13. Minor back-end improvements (i.e. queuing of items added to the inventory and cutting down redundant processing to potentially avoid script overload during bulk crafting sessions etc).
14. Updated bundled JContainers SE to version 4.1.3 for compatibility with SKSE 2.08 and Skyrim SE 1.5.50. Note that JContainers 4.1.2 will still work with AH Hotkeys if you are on the previous version of Skyrim SE and SKSE 2.07 - just install version 4.1.2 on top of AH Hotkeys (or place below AH Hotkeys in the left hand mod priority panel if using Mod Organiser). Note that AH Hotkeys 3.1 (and 3.02) won't work properly for versions prior to 4.1.2 (for SKSE versions prior to 2.07) due to reliance on some functions introduced in 4.1.2.
Version 3.02
Fixed equipsets not displaying in the equipset menu due to an assigned hotkey not being named in the internal lookup array (e.g. the Windows key). Note that SkyUI will likely display a default 'Del' for these keys.
Removed the default Escape and Journal keys to exit the AH Hotkeys MCM. The Exit MCM key is now assignable in the Configuration page. Note that you can press 'T' when hovering over the key map button to remove a key assignment.
Version 3.01
Fixed shouts not appearing in the inventory lists. Note that shouts still need to be selected / equipped in the Inventory window in order to show up in AH Hotkeys inventory lists.
Fixed the Find Item option in the shouts inventory list.
Version 3.0
12 August 2018
1. Updates bundled JContainers version to 4.1.2. Version 3.0 of AH Hotkeys relies on some of the new functions included with the latest version of JContainers.
2. Improved the performance of generating the inventory lists in the MCM menu as well as the responsiveness of executing hotkeys. Also removed the previous limitation on inventory lists of 128 items (inventory lists can now be as long as the number of items in the player's inventory). Mileage will vary across different Skyrim installs on the speed increases.
3. Added option in Configuration screen to disable hotkeys when in the crafting menu. This is to avoid unintended hotkey execution when some hotkeys are the same as those used in the crafting menu (this could be a problem for those with only a limited number of keys that can be used - such as game pads).
4. AH Hotkeys now recognises, and can equip, user-enchanted items rather than using generic forms as previously. This means you can equip a regular unenchanted weapon (or armour), as well as user enchanted versions of the same item. Note that this requires the names to be different. If two items of the same type have different enchantments (or one has no enchantment) but they are named the same, then AH Hotkeys will not be able to distinguish the two apart.
Note that uniquely identiable (specific) items can only be selected for inclusion in an equipset if they are: (1) currently equipped, or (2) selected from the player inventory window via the new AH Hotkeys Action Menu (see below). When added to an equipset, that unique item will be equipped on execution of the equipset rather than other items of the same generic form also present in the player inventory. These items are also marked with an asterix (*) in the equipset item lists.
Also note that AH Hotkeys will lose track of specific items if their name changes. This is because the unique item ID is tied to that item's display name. If the name changes (e.g. at the enchanting table, from tempering, or due to an item sorting mod), then the item ID is no longer valid and that item will need to be re-added to the equipset.
5. Added options to the cycling equipmode to reset the cycle (to first item in the cycle or last-cycled item) if the items that were last cycled are different, and option to reset the cycle after a user-specified timeout.
6. Added check box to the equipset MCM to 'Favorite' an equipset. Favorited equipsets are listed in the AH Hotkeys Action menu or can be executed from the new 'Favorites' window directly using a hotkey (default hotkey 'Backspace').
7. Added Macro functionality, accessible and edited via the new 'Macros' MCM page. Macros emulate keypresses (using either a letter, keycode or Skyrim mapped key) in a particular order and presses these keys as if they were pressed by the player. A macro to auto-open the AH Hotkeys MCM menu is built-in (see below).
8. Added macros to open and close the AH Hotkeys MCM much more quickly than manually navigating the menu system. The open MCM key is user-configurable. The close MCM key is the Journal key (e.g. 'J') or Escape. Note for the Open MCM menu macro: this relies on pressing the keyboard keys to quickly navigate to the mod position in the MCM mod list. The number of times the bottom-most down-arrow key in the macro script is repeated is the mod's position in the list. Change the number of repeats in the macro script to the number in the mod list (there is also a wizard to do this in the new Wizards MCM page).
9. Added AH Hotkeys Action menu, which can be opened outside of the MCM by a hotkey (configured in the Configuration MCM, default 'Insert'). Current options are:
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.
- Also note that inventory items added from the Inventory Window are specific items (see notes above) and will no longer be recognised by AH Hotkeys if the item is renamed (such as from tempering or enchanting). These items will need to be re-added if their name changes.
10. Potions can now be auto-added to equipsets (e.g. a health, magicka, stamina potion equipset etc) - this auto-adds potions with the same magic effects. The potion auto-add check is done when adding an item to the player inventory or when opening the equipset MCM. To use, add a potion to an equipset, click on it to bring up the menu and select the option to Auto Add Potion to EquipSet. Auto-added potion effects are listed above the equipset items and can be removed by either selecting the menu option when clicking on the auto-add item or from the Options Menu.
11. Option to exclude items from being unequipped by an equipset, unless overridden explicitly in an equipset. e.g. a lantern or torch. This option is located in the new 'Configuration 2' MCM page. This allows switching clothing or armour equipsets that completely changeout the previous items with the new set, while not unequipping the excluded items such as lanterns or torches.
12. Added a Wizards MCM page to automatically set up some examples of equipsets and macros.
13. Modifier keys are now customisable in the Configuration 2 MCM page. The Alt, Control and Shift keys can be changed to any other key (including mouse button).
14. Added a 4th user-definable modifier key. This can be any key, including mouse button (and perhaps also a gamepad button - I don't have one to test however).
Version 2.03
Version 2.03
18 April 2018
1. Fixed dual casted bound weapons - one bound weapon could fail to autocast.
2. Possible fix for multiple autocasting (because I couldn't replicate the issue in the bug report). The Spell Start Buffer Time setting in the Configuration screen now also controls how long an autocast spell will wait without animating for the autocast to be attempted again. Premature re-attempts of the autocast may not have been the cause of the issue, but the change shouldn't cause an issue for anyone else.
3. Fixed an incorrect object reference in the Configuration screen. This had no effect (it wasn't used for anything) but did cause JContainers to print an error in the console and log file.
4. Updated bundled JContainers to version 4.1 for Skyrim SE 1.5.39 and SKSE 2.07. Note that JContainers 4.1 will not be compatible with any earlier versions of Skyrim SE or SKSE. Also note that JContainers 4.1 is not binary compatible with data from earlier versions of JContainers (due to a bug fix in v4.1) - this means all JContainers data in the SKSE co-save file (such as AH Hotkeys equipsets etc) will not survive the upgrade to JContainers 4.1. This also means that if you're using an earlier version of Skyrim and SKSE, then you will need to install the earlier (v4.01) version of JContainers on top (drag JC 4.01 below AH Hotkeys in Mod Organizer, install after AH Hotkeys in NMM or manually, or use the Base Package of AH Hotkeys and install JContainers 4.01 and SkyUI Lib separately).
5. AH Hotkeys 2.03 (JContainers 4.1) update instructions:
- Backup your hotkeys in the Configuration screen first before upgrading.
- Due to the incompatibility with pre-JContainers 4.1 data, AH Hotkeys will appear to be deactivated on upgrading to v2.03 (or JContainers 4.1). Go to the Configuration screen and "Reinstall".
- Restore your backed up hotkeys in the Configuration screen.
Version 2.02
Hotfix release.
24 March 2018
Fixed bug with powers (not shouts) incorrectly casting multiple times.
Version 2.01
Hotfix release to include the previously-missing UILIB_1.pex script from SkyUI Lib into the full package. This is required for the SkyUI Lib functions to work. No other changes.
Version 2.0
Version 2.0 - initial SSE release.
14 March 2018
1. Fixed double equipping animation and sound when switching from two-handed weapons to an equipset consisting of 2 one-handed items.
2. Improved concentration spell autocast - concentration spells will continue autocasting if some of the keys are held down (e.g. a modifier key if the other key was a mouse button). e.g. if Longstride (Apocalypse) is set to shift-mouse4, holding down the shift key after releasing the mouse button will continue casting the spell until the shift key is released (this is more convenient since it is easier to continue holding one key than all of them).
3. Fixed equipsets with non-concentration spells not executing again on pressing the same hotkey if the equipset also contained a concentration spell.
4. Added option in Configuration page to adjust the maximum string length in the equipset inventory item lists before they strings are truncated. This was initially to prevent text in the menu options from overlapping on the same line, but this is highly dependent on the custom font being used (some fonts are wider than others).
5. Improved handling of switches between spells and weapons when chaining equipsets.
6. Improved handling of the toggle equipmode and added a "Propogate EquipMode" option to the equipset. Propogate EquipMode carries forward the equip mode to (and overrides) other equipsets that are added to this one and combines all apparel items together to determine equipping behaviour. Check this to ensure that all equipsets linked to this equipset are considered as one equipset (except for hand items and autocasting - these are still actioned separately). e.g. An armour equipset with a linked 'Pouches and Satchels' equipset (which is useful to avoid having to re-add all the individual pouches and satchel items to each armour equipset) will equip the pouches and satchel items as if they were added directly to the equipset.
7. Fixed originally-equipped item not re-equipping after an autocast spell from the other hand during execution of a chain of equipsets.
8. Improved handling of shouts. AH Hotkeys now detects the current shout recovery time to better decide whether to execute the shout or not.
9. Added menu to select the number of words to shout - from 1 to 3 words. This affects the time the shout key is held down.
10. Added ability to have multiple name filters in the "Filter by item name:" menu. Each filter is delimited by a comma. E.g. to specify a list of all items with "Stamina" or "Magicka" in the name but exclude all items with "Fortify" and "Regenerate", enter into the 'Filter by item name:' text box: "Stamina,Magicka,!Fortify,!Regenerate". Positive matches are successful if one or more of the words match and fail if none of the words match. Reverse matches (with the exclamation "!" prefix) are successful if none of the excluded words match and fail if one or more words match.
AH Hotkeys – Skyrim Hotkey ManagerSSE
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:
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.