The PAper Papyrus ExtendeR. Plugin to expose new functions and events to Skyrim's "Papyrus" scripting language.
This is an SKSE plugin that can be loaded at runtime (when playing The Elder Scrolls V: Skyrim) and expose additional functionality to the game's scripting language. This functionality can be used by third-party mod authors for scripts in their mods.
Detailed documentation on how to use the new functions and events can be found on this repository's Wiki pages.
- Resources
- ActorBase
- Inventory Events
int[] Function GetInventoryEventFilterIndices(Form[] akEventItems, Form akFilter) global native
int[] Function UpdateInventoryEventFilterIndices(Form[] akEventItems, Form akFilter, int[] aiIndices) global native
Form[] Function ApplyInventoryEventFilterToForms(int[] aiIndicesToKeep, Form[] akFormArray) global native
int[] Function ApplyInventoryEventFilterToInts(int[] aiIndicesToKeep, int[] aiIntArray) global native
ObjectReference[] Function ApplyInventoryEventFilterToObjs(int[] aiIndicesToKeep, ObjectReference[] akObjArray) global native
- Other
The plugin can be downloaded from its NexusMods page.
At runtime, the plugin has the following requirements. Any user of this plugin (or mods that in turn require this plugin) need to have this installed locally.
- The Elder Scrolls V: Skyrim Special Edition.
- Tested with versions 1.5.97 (SSE) and 1.6.353 (the "Anniversary Edition").
- Also compatible with versions 1.6.xxx (beyond 1.6.353), including GOG (tested by users), thanks to CommonLibSSE NG.
- As of version 2.0.0, also compatible with Skyrim VR (tested by users).
- Skyrim Script Extender
- Address Library for SKSE Plugins
Building the code in this repository has the following requirements.
This project was set up exactly as in the CommonLibSSE NG Sample Plugin, and I refer to that repository for highly detailed instructions on installation and building.
- powerofthree's Papyrus Extender, which is similar in that its primary purpose is to expose new Papyrus functions and events, but much more impressive with a significantly greater scope.
Thanks to:
- CharmedBaryon for CommonLibSSE NG and the CommonLibSSE NG Sample Plugin.
- The SKSE authors for SKSE.
- Meh321 for Address Library for SKSE Plugins.
- powerof3 for various (MIT-licensed) SKSE plugins that I used as example code, in particular Papyrus Extender SSE.
- Nightfallstorm for pointing me to the
SendAndRelayEvent()
function.
- THIS MATERIAL IS NOT MADE, GUARANTEED OR SUPPORTED BY ZENIMAX OR ITS AFFILIATES.
- ALL FILES IN THE DOWNLOAD ARE PROVIDED ''AS IS'' WITHOUT ANY WARRANTY OR GUARANTEE OF ANY KIND. IN NO EVENT CAN THE AUTHOR BE HELD RESPONSIBLE FOR ANY CLAIMS, WHETHER OR NOT THEY ARE RELATED TO THE DOWNLOAD.