Dynamic Key Action Framework NG
Dynamic Key Action Framework (DKAF)
This is a framework that you can use to create key binds for the Idle Animation or Action using JSON format data.
Any JSON files placed under Data\SKSE\Plugins\DKAF directory will be read on game launch.
If your game crashes on startup, it's most likely due to the error in JSON data{
"UniqueName": {
"Keys": "42,47",
"GamepadKeys": "",
"PairedSearchMode": 1,
"PairedSearchDist": 300,
"PairedTargetKeywords": "Skyrim.esm|0x13795,Skyrim.esm|0x13796",
"ActionOrIdle": "NestedIdleTest1.esp|0x803",
"PressDuration": 0.0,
"Priority": 100
}
}
Required Data
Only Keys, GamepadKeys, and ActionOrIdle are required for the data. Everything else are optional.
UniqueName can be any name that is unique within the file.
Keys & GamepadKeys: Refer to https://www.creationkit.com/index.php?title=Input_Script for key codes.
Each key is separated by comma (,) and the player must enter the command in the written order, from left to right.
ActionOrIdle: Action or Idle Animation form that will be played
The format should be "esp/esl/esm name|Form ID" ex) Skyrim.esm|0x2E2F6
Optional Data
Priority: This determines the priority of the action. When there are multiple actions with overlapping keybinds, actions with higher priority will be tried first.
By "tried" it implies that the idle animation or the action can fail. It might not have transitions in the behavior, is limited by conditions, etc.
Since the mod uses int32 to store, the value must in range between -2,147,483,648 and 2,147,483,647.
PressDuration: The minimum duration that the player must press & hold the keys to perform the action.
Paired Idle Animation Data
PairedSearchMode: Determines the targeting algorithm that will be used for the paired animation
0 - None (Default, Doesn't find target)
1 - Cast ray from Player character's Eye
2 - Cast ray from Camera
3 - Search radius around Player character and select an Actor closest to the eye direction
PairedSearchDist: Limits the distance of ray/search radius in Skyrim units.
I recommend something around 300 for cast ray, but you might need bigger numbers for search radius as it might fail on bigger actors.
PairedTargetKeywords: A list of keywords separated by comma (,) that will be used to filter the target actor.
The format should be "esp/esl/esm name|Form ID" ex) Skyrim.esm|0x13795