0 of 0

File information

Last updated

Original upload

Created by

SoleVaultBoy

Uploaded by

SoleVaultBoy

Virus scan

Safe to use

About this mod

Provides a common set of tools to be used with Papyrus. Includes temporary and persistent global variables, tons of form-related stuff, extensive file management and more.

Requirements
Permissions and credits
Changelogs
Donations
Features
  • Supports Old- and Next-Gen (except for three events)
  • Offers over 1000 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
  • Each script is under the System namespace, to provide better a distinction and visibility
  • Tons of base object related functions, like for forms, form lists, projectiles and more
  • Filesystem management within the game's root folder and its subdirectories
  • 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 and Spell Perk Item Distributor
  • A simple function runner is also included
    Spoiler:  
    Show
    Create a file with a ".ini" extension under "Data/PCL/Functions".
    Use the following template (the section can be anything; must be unique):
    [MyScript.OnGameStart]
    sEventName = OnGameStart
    sScriptName = MyScript
    sFunctionName = OnGameStart

    Notes:
    • Nested directories are supported.
    • The files are loaded alphabetically.
    • Be sure that the function in Papyrus has no arguments and is flagged as global.
    • You can have multiple function calls by adding new sections, which are parsed alphabetically.

    Events:
    • OnGameStart: Runs once on game start
    • OnGameLoad: Runs on every game load
    • OnPostGameStart: Runs on every game load after game start
  • And a command runner
    Spoiler:  
    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 loaded.

    Notes:
    • Nested directories are supported.
    • The files are loaded alphabetically.
    • To run multiple commands per file, separate them with a new line.
    • The commands won't actually appear in the console, due to not being written to the log.
  • And a translation runner too
    Spoiler:  
    Show
    Create an UTF-8 encoded file with a ".json" extension under "Data/PCL/Translations".
    In there, you can write basic key-value pairs that are loaded before the splash screen.
    Example:
    {
    "$MyString1": "My String 1",
    "$MyString2": "My String 2",
    "$MyString3": "My String 3"
    }

    Notes:
    • Nested directories are supported.
    • The files are loaded alphabetically.
    • They translation keys should start with a dollar sign ("$").
    • The filename needs to end with one of the following, separated by an underscore ("_"):
      • "Default": Gets loaded before all other files; ideal to have strings be present independent of the current language
      • "{LanguageCode}": Gets loaded after the default files; only gets loaded if the current language code matches the one of the file
      • "Override": Gets loaded after all other files; useful if you want to override existing translation strings

    Examples:
    • "MyTranslations_Default.json"
    • "MyTranslations_en.json"
    • "MyTranslations_Override.json"

    Language Codes:
    • "cn": Traditional Chinese
    • "de": German
    • "en": English
    • "es": Spanish (Spain)
    • "esmx": Spanish (Mexico)
    • "fr": French
    • "it": Italian
    • "ja": Japanese
    • "pl": Polish
    • "ptbr": Portuguese (Brazil)
    • "ru": Russian

Included Scripts
Spoiler:  
Show
  • IO
    • Directory
    • File
    • INI
    • JSON
    • Path
  • Activator
  • AimModel
  • Ammo
  • Array
  • Assert
  • Book
  • Boolean
  • Cell
  • Char
  • Colors
  • Component
  • Console
  • Container
  • Door
  • Enchantment
  • EncounterZone
  • Enumerable
  • Events
  • Explosion
  • Faction
  • Flora
  • Form
  • FormList
  • Game
  • Holotape
  • Int32
  • MagicEffect
  • Math
  • MemVar
  • Message
  • MiscObject
  • MovementType
  • NetImmerse
  • ObjectReference
  • Operator
  • Outfit
  • Perk
  • Potion
  • Projectile
  • Regex
  • SaveVar
  • ScriptObject
  • Single
  • Spell
  • Strings
  • Structure
  • Translations
  • UInt32
  • Vectors
  • Versions
  • WorldSpace

Notes
  • If you get compiler errors about arrays/structs not being allowed inside structs, install this compiler patch

Recommendations

Source Code