About this mod
Plugin to expose new functions and events to Skyrim's "Papyrus" scripting language.
This is an SKSE plugin that can be loaded at runtime and expose additional functionality to the game's scripting language. This functionality can be used by mod authors for scripts in their mods.
- Requirements
- Permissions and credits
- Changelogs
The PAper Papyrus ExtendeR
Version 2.2.4
19 July 2023
Borgut1337
Requirements
- SKSE: https://skse.silverlock.org/
- Address Library for SKSE Plugins: https://www.nexusmods.com/skyrimspecialedition/mods/32444
Description
- In isolation this does not do anything for users. It makes new functions/events available for modders to use in scripts.
- If you have a mod that requires this, you should of course install it. Otherwise that mod will not work.
Documentation
Detailed documentation on the new functions and events can be found at: https://github.com/DennisSoemers/PAPER/wiki
New events:
- Event OnImpact(ObjectReference akAggressor, Form source, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
- Event OnSpellEquipped(Spell akSpell, ObjectReference akReference)
- Event OnSpellUnequipped(Spell akSpell, ObjectReference akReference)
- Event OnShoutEquipped(Shout akShout, ObjectReference akReference)
- Event OnShoutUnequipped(Shout akShout, ObjectReference akReference)
- Event OnBatchItemsAdded(Form[] akBaseItems, Int[] aiItemCounts, ObjectReference[] akSourceContainers)
- Event OnBatchItemsRemoved(Form[] akBaseItems, Int[] aiItemCounts, ObjectReference[] akDestContainers)
New functions:
- bool Function ResourceExists(String asResourcePath) global native
- String[] Function GetInstalledResources(String[] asStrings) global native
- ColorForm[] Function GetWarpaintColors(ActorBase akActorBase) global native
- int[] Function GetPaperVersion() global native
- 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
Installation
Same as any other standard mod, recommend installing using a Mod Manager.
Recommended Other Mods
- powerofthree's Papyrus Extender, which provides many more new functions and events (including some closely related variants of OnHit events)
(In)compatibilities
Confirmed compatible: Skyrim versions 1.5.97 (SE) and 1.6.353 (AE)
Confirmed (by users) compatible: Skyrim versions 1.6.6xx (AE) (beyond 1.6.353) (including GOG)
Confirmed (by users) compatible: VR (as of version 2.0.0)
Source Code
https://github.com/DennisSoemers/PAPER
Permissions & Disclaimer
- 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.
Credits
- 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.
- Bethesda Game Studios for The Elder Scrolls V: Skyrim, and The Creation Kit