About this mod
Provides a common set of tools to be used with Papyrus. Includes temporary global variables, 2D-arrays, maps, extensive file management, console interaction and more.
- Requirements
- Permissions and credits
- Changelogs
- Donations
- Offers over 900 common functions to be used with Papyrus, the game's scripting language,
with the goal of making it feel less like a language from the last century and enhancing its functionality - Filesystem management within the game's root folder and its subdirectories
- Reflection to modify script types at runtime
- Restoration of EditorIDs - They can now be used in-game, via script commands, in the console,
and with mods that require this feature, like Base Object Swapper - A simple function runner is also includedSpoiler:Show
Create a file with a ".ini" extension under "Data/PCL/Functions".
Use the following template:
[MyScript.OnGameStart]
sEventName = OnGameStart
sScriptName = MyScript
sFunctionName = OnGameStart
Change the values to your needs and be sure that the function in Papyrus has no arguments
You can have multiple function calls by adding new sections.
Events:- OnGameStart: Runs on game start
- OnGameLoad: Runs on game load
- And a command runner tooSpoiler:Show
Create a file with a ".txt" extension under "Data/PCL/Commands".
In there, you can write any commands that the console would normally support
and they get executed once the main menu is opened.
To run multiple commands per file, separate them with a new line.
Included Scripts
- IO
- Directory - Read from and write to directories
- File - Read from and write to files
- INI - Read from and write to INI files
- JSON - Serialize and deserialize any kind of data using the JSON format
- Path - Queue paths: GetRelative, GetFileName, GetDirectoryName and more
- Activator - Contains all of SKSE's activator functions
- Array - Includes Create, Copy, Repeat and modifications without the 127 size limit
- Array2D - Represents immutable 2D-arrays
- Book - Contains all of SKSE's book functions
- Boolean - Has min and max values and string formatting for booleans
- Cell - Contains all of SKSE's cell functions, with additions
- Char - Has min and max values and string formatting for ASCII characters
- Console - Interaction with the in-game console: Executing commands, clearing the console, etc.
- Container - Contains all of SKSE's container functions
- Door - Contains all of SKSE's door functions
- Enumerable - Fluent API for arrays, heavily inspired by LINQ from C#
- Flora - Contains all of SKSE's flora functions, with additions
- Form - Dynamically create and copy forms at runtime, filter by keywords and more
- FormList - Retrieve all forms from form lists and those added by scripts
- Holotape - Contains all of SKSE's holotape functions
- Int32 - Has min and max values and string formatting for signed 32-bit integers
- Map - Represents a collection of key-value pairs to simulate maps/dictionaries in other languages
- Math - Has common constants like PI and E, many geometry functions and more
- MemVar - Represents temporary global variables, inspired by the ones from JIP LN NVSE
- Operator - Useful operators, like comparing any type, copying any variable, etc.
- Outfit - Contains all of SKSE's outfit functions, with additions
- Perk - Contains all of SKSE's perk functions, with additions
- Potion - Contains all of SKSE's potion functions, with additions
- Projectile - Contains all of the game's projectile functions
- Random - Random number generation using custom seeds
- ScriptObject - Create and copy any type of script object at runtime, allowing for true object-orientation
- ScriptType - Provides all kind of type information and allows for modification of variables and properties at runtime
- Set - Represents a collection of unique elements
- Single - Has NaN, infinity, min and max values for single-precision floating point numbers
- Spell - Contains all of SKSE's spell functions, with additions
- Strings - Many common functions for strings, like getting the length, retrieving a substring, etc.
- UInt32 - Has min and max values and string formatting for unsigned 32-bit integers
Recommendations