LOL - Experiment 01 - Papyrus Compiling with Notepad++
LOL - Papyrus Compiling with Notepad++
✍️ Idea:
-
Compile scripts with Notepad++ instead with Creation Kit (CK)
- Only source files are needed (and the compiler of course)
- Locations for input/output are variable.
Links to additional information:
- http://www.cipscis.com/skyrim/tutorials/beginners.aspx
- https://www.creationkit.com/index.php?title=Papyrus_Compiler_Reference
- https://www.creationkit.com/index.php?title=Notepad%2B%2B_Setup#Papyrus_plugin_for_Notepad.2B.2B
- https://www.nexusmods.com/skyrim/mods/87715?tab=description
- Alternative route to prepare Notepad++ for papyrus compiling: NotepadPlusPlus Papyrus Script Highlighting - Compiling - and Function Lists
- A bolt claim and probably an alternative way to do it with MO2: Papyrus Compiler App (Mod Organizer 2 Integration) LE
⚙️ For comparison and as reference to change paths according to your own system:
-
Those locations are variable:
-
My Skyrim installation folder: "D:\Steam\steamapps\common\Skyrim\"
- "D:\Steam\steamapps\common\Skyrim\Papyrus Compiler\"
-
My PapyrusScripting folder for input and output: "D:\PapyrusScripting"
- "D:\PapyrusScripting\scripts\source"
- "D:\PapyrusScripting\CompiledScripts"
-
My Skyrim installation folder: "D:\Steam\steamapps\common\Skyrim\"
Files needed:
- Notepad++ -> don't forget to check if you need the x64 (64bit) or x86 (32bit) version (important later for Notepad++ plugins too)
- Creation Kit -> located on Steam under Library > Tools > Skyrim Creation Kit
- SKSE -> download the 7z archive
-
Bethesda Archive Extractor (BSA and BA2) -> needed for extracting BSA files if no loose files are available
Preparation:
-
Create the folders "D:\PapyrusScripting\scripts\source"
- Input folder: All source scripts (psc) that are needed to compile go into this folder
-
Create the folder "D:\PapyrusScripting\CompiledScripts"
-
Output folder: all successfully compiled scripts will end here
- Drink a beer for any script that makes it that far ?? (or magically enchanted tea ?♂️?)
-
Output folder: all successfully compiled scripts will end here
-
For compiling we need source scripts from SKSE, CK and any source scripts (*.psc) related to the script to compile:
- CK's Scripts.rar -> can be found in "D:\Steam\steamapps\common\Skyrim\Data\Scripts.rar" -> extract script folder to "D:\PapyrusScripting\scripts"
- SKSE's scripts -> can be found in skse_1_07_03.7z -> extract "SKSE\Scripts\Source" to "D:\PapyrusScripting\Scripts\Source"
- psc scripts from source mods -> if you don't know which are needed check the errors during compiling to get a clue. Often those scripts are the same as the requirements for the mod you want to manipulate the script from.
-
Modifying ScriptCompile.bat for use with our own PapyrusScripting folder (basically redirecting the input/output directories):
- Go To "D:\Steam\steamapps\common\Skyrim\Papyrus Compiler\" -> open ScriptCompile.bat with an editor -> Replace the content with this:
"D:\Steam\steamapps\common\Skyrim\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="D:\PapyrusScripting\Scripts\Source" -o="D:\PapyrusScripting\CompiledScripts" cd %2 "%~dp0PapyrusCompiler" %1 -f="TESV_Papyrus_Flags.flg" -i="D:\PapyrusScripting\Scripts\Source" -o="D:\PapyrusScripting\CompiledScripts" pause
Notepad++ Configuration:
- Open Notepad++ and hit F5 [Run]
-
Paste the following line into the input in the "Run..." dialogue window and select "Save..."
- "D:\Steam\steamapps\common\skyrim\Papyrus Compiler\ScriptCompile.bat" "$(FILE_NAME)" "$(CURRENT_DIRECTORY)"
-
Name the new "Run.." routine "Compile Papyrus"
- Set up a keyboard shortcut, for example CTRL+F5.
-
The new shortcut "Compile Papyrus" can be found in the [Run] menu option if you want to change the shortcut or shortcut name later.
- If you attempt to use the shortcut and nothing happens, double check that you have linked the shortcut to the ScriptCompile.bat file, and not the PapyrusCompiler.exe
- Executing the "Compile Papyrus" routine will compile the script in the active Notepad++ tab.
Editing and compiling scripts in Notepad++:
-
To Edit and Compile an existing script:
- Go To "D:\PapyrusScripting\Scripts\Source" -> Back Up the script -> Edit the Script using Notepad++ -> Compile The Script -> Get the compiled script from "D:\PapyrusScripting\CompiledScripts"
-
To Compile a new script:
- Go To "D:\PapyrusScripting\Scripts\Source" -> Create or paste the script -> Edit the Script using Notepad++ -> Compile The Script -> Get the compiled script from "D:\PapyrusScripting\CompiledScripts"
Troubleshooting:
-
There is a good chance you get this error message a lot:
-
"cannot name a variable or property the same as a known type or script"
-
This is a missing source script message, check the name of the source script to find out from what mod they are from.
- Or post the error message in tech support in the hopes to find someone that knows he/she is doing. ?
-
This is a missing source script message, check the name of the source script to find out from what mod they are from.
-
"cannot name a variable or property the same as a known type or script"
Source script lists for compiling scripts of various Mods:
-
Devious Devices v5.1 LE
-
Spoiler
DD 5.1
- CK Scripts.rar
- SKSE
- SkyUI, SKI source files on github (to download press the green Code button and choose download)
- ConsoleUtil
- SLAR v28b, loose files
- Sexlab
- PapyrusUtil v33
- RaceMenu, extract BSA for psc, nioverride psc included
- DD 5.1
-
FNIS
- behavior
- creature
- spells
- sexy move
- XPMSE
-
-
Deviously Enslaved Continued v13.25.0 LE
-
Spoiler
DEC 13.25.0
- CK scripts.rar
- SKSE
- SkyUI
- UIextension
- JContainers
- ConsoleUtil
- RaceMenu
- DEC
- ZAP < or = v8+
- DCL < or = v8
-
Devious Devices v4.3a
- DDa v3.0e
- DDi v4.3a
- DDx v4.3a
-
FNIS
- behavior
- creature
- spells
- sexy move
- SLAL
- Bathing in Skyrim
- sLola = v1.5
- Sexlab
- SLAR
- SD+ < or = v20210131
- Wolfclub
- POP
- XPMSE
- Deviously Helpless
- Trapped in Rubber
- Captured Dreams
- SlaveRun Reloaded
- Pet Collar
- PAHE + SL extension
- Mia's Lair
- SL Defeat
- SL Sexual Fame
- SS++
- Slave Tats
- Display Model
- Devious FrameWork
- Skooma Whore
- Aradia extension
- Amputator Framework
- Maria Eden = v1.19
- SILF = v1.1.9f
-
Backup LL research
Examples for missing source scripts:
- https://www.loverslab.com/topic/141128-solved-using-devious-devices-integration-with-creation-kit/
- https://www.loverslab.com/topic/81116-got-a-problem-with-compiling-zaz-and-devious-scripts/
- https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/355/
- Happens even to the best thanks to an old DD documentation: https://www.loverslab.com/topic/69936-devious-devices-framework-developmentbeta/page/92/
- https://www.loverslab.com/topic/63650-devious-devices-compiling-errors/
- solve one issue and get another https://www.loverslab.com/topic/57761-problem-with-devious-devices-script-compilation/
Example for additional ways to fuck up:
Examples for issues with sublime and MO and a solution:
- https://www.loverslab.com/topic/144713-could-not-compile-script-need-help/
- https://www.loverslab.com/topic/41857-scripting-for-sl-w-mod-organizer/#comment-1068465
Example of source lists:
Mod authors additional self made utilities:
Possible BSA extractor alternative:
Now DTMT is lost in LL, distracted by a link collection:
https://www.loverslab.com/blogs/entry/10570-devious-social-interactions-dev-blog/
I know I can look at a list of all my own attachments, but can't find a way to see a list for someone else's,
I currently only have files for
- Slaverun (version check changes to allow use of newer version of DDs)
- SLAX (various bug fixes)
- Treasure Hunter Whore (more configurability, fixed some odd interactions, and some additional interactions)
- and in the SLSurvial thread an altered esp for Bikini Maidens to use the altered Bikini slots from the altered TAWoBA linked on the download page, as well as a possibly outdated patch to allow the toll box to recalculate the toll so it includes your level should you have leveled since it last calculated the toll with per level on.
Still lost:
Edited by donttouchmethere
4 Comments
Recommended Comments