Functionally it works great. However, I've noticed that the UI button prompt is a tad bit off alignment. It's like 2 pixels below the other prompts. Also, sometimes the font switches from custom back to default temporarily.
If you want to use AutoHotkey to automate individual inventories, I have discovered that only a very specific method will work with Skyrim.
The following example shows how I map the first follower's inventory to Alt+1, where Z opens my inventory, N is the hotkey for this mod, and 1 is the key for the first follower's inventory:!1:: ; Alt+1 is pressed FIQA := True Send, {z Down} Sleep, 100 Send, {z Up} ; Open the player inventory Sleep, 100 Send, {n Down} Sleep, 100 Send, {n Up} ; Open the Follower Inventory Quick Access Sleep, 100 ; You may need to adjust these delay, depending on your frame rate Send, {1 Down} Sleep, 100 Send, {1 Up} ; Open the first follower's inventory Return As you can see, in this case, Skyrim sometimes requires the script to send both the down and up sequences to register certain keystrokes, which took me quite a long time to figure out. This is required for certain player functions like Sneak and Sprint, as Bethesda coded those abilities to be "toggle on" and "toggle off".
For some reason, the above function also causes Skyrim to detect a Left Control keystroke as well. In my case, I have Left Control mapped to sneak mode, so this causes my player to crouch after exiting the inventory using the Escape key.
If you have something mapped to Left Control, then you will need to do what I did, and add a variable to the script to anticipate this. I called it "FIQA", and the full script is below: #NoEnv #SingleInstance, Force SetWorkingDir, %A_ScriptDir% #Persistent FIQA := False ; A variable for when Follower Inventory Quick Access (FIQA) is engaged, set to false on script launch
#IfWinActive ahk_exe SkyrimSE.exe ; Only activate the script if Skyrim SE's window is in focus
Escape:: KeyWait, Escape, T0.5 ; Wait up to 500ms to see if the key is held If ErrorLevel ; Escape key was held for longer than 500ms { Send, {Escape} Send, {Numpad5} ; Switches to the "Settings" menu MouseMove, 0, 0 ; Move the mouse cursor to the interface's zero reference point Sleep, 50 MouseMove, 15, 9,, R ; Moves the mouse cursor to the Load option, calculated relative to the reference point Sleep, 50 KeyWait, Escape ; Do not allow this function to repeat if the Escape key is held } Else If (FIQA) ; Key was just tapped, but we are in a Follower Inventory Quick Access menu { Send, {Escape} Sleep, 300 ; This needs to be a fairly long delay depending on player framerate Send, {LControl Down} Sleep, 100 Send, {LControl Up} ; This will automatically negate the erroneous keystroke that triggers sneak mode FIQA := False } Else ; Key was just tapped, and we are not in a FIQA menu { Send, {Escape} } Return
!1:: ; Alt+1 is pressed FIQA := True Send, {z Down} Sleep, 100 Send, {z Up} ; Open the player inventory Sleep, 100 Send, {n Down} Sleep, 100 Send, {n Up} ; Open the Follower Inventory Quick Access Sleep, 100 ; You may need to adjust these delay, depending on your frame rate Send, {1 Down} Sleep, 100 Send, {1 Up} ; Open the first follower's inventory Return
!2:: ; Alt+2 is pressed FIQA := True Send, {z Down} Sleep, 100 Send, {z Up} ; Open the player inventory Sleep, 100 Send, {n Down} Sleep, 100 Send, {n Up} ; Open the Follower Inventory Quick Access Sleep, 100 ; You may need to adjust this delay, depending on your frame rate Send, {2 Down} Sleep, 100 Send, {2 Up} ; Open the second follower's inventory Return
!3:: ; Alt+3 is pressed FIQA := True Send, {z Down} Sleep, 100 Send, {z Up} ; Open the player inventory Sleep, 100 Send, {n Down} Sleep, 100 Send, {n Up} ; Open the Follower Inventory Quick Access Sleep, 100 ; You may need to adjust this delay, depending on your frame rate Send, {3 Down} Sleep, 100 Send, {3 Up} ; Open the third follower's inventory Return
#IfWinActive
; If Skyrim SE is exited, terminate this script CheckProcess: if !ProcessExist("SkyrimSE.exe") { ExitApp } Return
Again, you can see above that we do not always need to send separate down and up functions to register keystrokes, such as when we want to send the Escape key, we only use one Send command!
Is this mod compatible with multiple followers? With one follower and a horse, I can switch between both of their inventories. If I have two followers then I only switch between my two followers (not my horse). With three followers I can only switch between one follower (not the other two or my horse).
It would also be really nice if this mod wouldn't reset the currently selected inventory filter. For example, I want to swap armor between myself and my followers. But when I switch followers with 'G', the window resets to all inventory items. This requires a lot of extra clicking to retain the active filter.
I use Papyrus Extender's GetPlayerFollowers(), so I'm not sure how well it detects followers from other mods. Who are the three you have with you? For the horse, can you please check: does it appear if you fast travel to an stable?
I really like the idea of keeping the active tab whenever you switch. I'll look into that :)
I started out with a horse, then picked up Gorr from Riverwood. I could access both my horse and Gorr just fine but, once I picked up Faendal, I could only access his inventory with the "G" key.
Hey again! I'm testing various survival mods for Skyrim and giving Last Seed a try. It has a provisions container for shared meals. I know it might be a bit of a stretch to call it a follower, but this mod is a rather convenient way of jumping from one container to another. What would you say to optionally supporting Last Seed in "Follower Inventory Quick Access", too? Thanks in advance!
Hi! I looked into CH, it has its own thing, separate from followers and the vanilla's horse system. I pushed an update now so you can access your horse's inventory directly, however note that this is separate from the Sack option that CH mod gives. I may make a patch for it if I find the time. Thank you for your suggestion!
Edit: so patch is up. Please let me know how it works.
This might be a reeaally stupid ask, and I apologize for it ahead of time - but would it be possible to have it where you can access the horses actual inventory 'normally' (i.e. just like any other follower), but have a separate button or option to access the CH inventory? I ask because there's a few mods that use horse inventory that the only reason they're incompatible with CH is that CH uses it's own inventory, and most other mods that add a way to access the horses' inventory directly also add other features that would conflict.
Please feel free to call me an idiot for asking this! :D
If you don't install the CH patch, that's what the mod does, you get the horse's actual inventory. Tbh I'm not sure why CH has a separate inventory, I think one could entirely ignore it as with this mod, you have easy access to the actual inventory.
57 comments
NMV, I failed to realise I have to use it in MY inventory, rather than in the follower's
The following example shows how I map the first follower's inventory to Alt+1, where Z opens my inventory, N is the hotkey for this mod, and 1 is the key for the first follower's inventory:
!1:: ; Alt+1 is pressed
As you can see, in this case, Skyrim sometimes requires the script to send both the down and up sequences to register certain keystrokes, which took me quite a long time to figure out. This is required for certain player functions like Sneak and Sprint, as Bethesda coded those abilities to be "toggle on" and "toggle off".FIQA := True
Send, {z Down}
Sleep, 100
Send, {z Up} ; Open the player inventory
Sleep, 100
Send, {n Down}
Sleep, 100
Send, {n Up} ; Open the Follower Inventory Quick Access
Sleep, 100 ; You may need to adjust these delay, depending on your frame rate
Send, {1 Down}
Sleep, 100
Send, {1 Up} ; Open the first follower's inventory
Return
For some reason, the above function also causes Skyrim to detect a Left Control keystroke as well. In my case, I
have Left Control mapped to sneak mode, so this causes my player to
crouch after exiting the inventory using the Escape key.
If you have something mapped to Left Control, then you will need to do what I did, and add a variable
to the script to anticipate this. I called it "FIQA", and the full script is below:
#NoEnv
#SingleInstance, Force
SetWorkingDir, %A_ScriptDir%
#Persistent
FIQA := False ; A variable for when Follower Inventory Quick Access (FIQA) is engaged, set to false on script launch
#IfWinActive ahk_exe SkyrimSE.exe ; Only activate the script if Skyrim SE's window is in focus
Escape::
KeyWait, Escape, T0.5 ; Wait up to 500ms to see if the key is held
If ErrorLevel ; Escape key was held for longer than 500ms
{
Send, {Escape}
Send, {Numpad5} ; Switches to the "Settings" menu
MouseMove, 0, 0 ; Move the mouse cursor to the interface's zero reference point
Sleep, 50
MouseMove, 15, 9,, R ; Moves the mouse cursor to the Load option, calculated relative to the reference point
Sleep, 50
KeyWait, Escape ; Do not allow this function to repeat if the Escape key is held
}
Else If (FIQA) ; Key was just tapped, but we are in a Follower Inventory Quick Access menu
{
Send, {Escape}
Sleep, 300 ; This needs to be a fairly long delay depending on player framerate
Send, {LControl Down}
Sleep, 100
Send, {LControl Up} ; This will automatically negate the erroneous keystroke that triggers sneak mode
FIQA := False
}
Else ; Key was just tapped, and we are not in a FIQA menu
{
Send, {Escape}
}
Return
!1:: ; Alt+1 is pressed
FIQA := True
Send, {z Down}
Sleep, 100
Send, {z Up} ; Open the player inventory
Sleep, 100
Send, {n Down}
Sleep, 100
Send, {n Up} ; Open the Follower Inventory Quick Access
Sleep, 100 ; You may need to adjust these delay, depending on your frame rate
Send, {1 Down}
Sleep, 100
Send, {1 Up} ; Open the first follower's inventory
Return
!2:: ; Alt+2 is pressed
FIQA := True
Send, {z Down}
Sleep, 100
Send, {z Up} ; Open the player inventory
Sleep, 100
Send, {n Down}
Sleep, 100
Send, {n Up} ; Open the Follower Inventory Quick Access
Sleep, 100 ; You may need to adjust this delay, depending on your frame rate
Send, {2 Down}
Sleep, 100
Send, {2 Up} ; Open the second follower's inventory
Return
!3:: ; Alt+3 is pressed
FIQA := True
Send, {z Down}
Sleep, 100
Send, {z Up} ; Open the player inventory
Sleep, 100
Send, {n Down}
Sleep, 100
Send, {n Up} ; Open the Follower Inventory Quick Access
Sleep, 100 ; You may need to adjust this delay, depending on your frame rate
Send, {3 Down}
Sleep, 100
Send, {3 Up} ; Open the third follower's inventory
Return
#IfWinActive
; If Skyrim SE is exited, terminate this script
CheckProcess:
if !ProcessExist("SkyrimSE.exe")
{
ExitApp
}
Return
ProcessExist(ProcessName) {
Process, Exist, %ProcessName%
return ErrorLevel
}
Again, you can see above that we do not always need to send separate down and up functions to register keystrokes, such as when we want to send the Escape key, we only use one Send command!
It would also be really nice if this mod wouldn't reset the currently selected inventory filter. For example, I want to swap armor between myself and my followers. But when I switch followers with 'G', the window resets to all inventory items. This requires a lot of extra clicking to retain the active filter.
For the horse, can you please check: does it appear if you fast travel to an stable?
I really like the idea of keeping the active tab whenever you switch. I'll look into that :)
This is the mod I'm using for multiple followers:
https://www.nexusmods.com/skyrimspecialedition/mods/67735
As with any mod update, make sure to clean your save before updating.
Thank you for your suggestion :)
First of all, thank you very much for this mod.
Maybe a stupid question:
With "Convenient Horses" your own horses are also treated as followers with an inventory.
Does this mod also work with the horse inventorys?
I looked into CH, it has its own thing, separate from followers and the vanilla's horse system. I pushed an update now so you can access your horse's inventory directly, however note that this is separate from the Sack option that CH mod gives.
I may make a patch for it if I find the time.
Thank you for your suggestion!
Edit: so patch is up. Please let me know how it works.
Please feel free to call me an idiot for asking this! :D
Tbh I'm not sure why CH has a separate inventory, I think one could entirely ignore it as with this mod, you have easy access to the actual inventory.
Someday soon I'll get off my lazy ass and setup my headset, then test this.