Jump to content

Compiling with Notepad++ ?


Zefaxet

Recommended Posts

There are numerous tutorials for the old CK telling people how they can use Notepad++ to write and compile their scripts. Seeing as how the interface has basically changed not at all (still crap), I find it reasonable to continue in this method. The old way of running the batch from notepad++ to set the whole thing up doesn't work anymore because special edition's file tree is different. Can someone update the batch script, and/or anything else necessary, so that I can work notepad++ with the new CK? It would be much appreciated.

 

Extra information:

I did a bunch of experimenting inside and outside of the ScriptCompiler.bat (the batch file in question) trying to get it to work myself before coming here.

(It can be found at ...\Steam\steamapps\common\Skyrim Special Edition\Papyrus Compiler\ScriptCompiler.bat\)

The biggest problem I kept getting was that the batch couldn't find "TESV_Papyrus_Flags.flg." That file is actually really easy to find, it's nested among the source scripts. I'm mostly unsure where that file actually needs to go.

The command in the batch file is -f="TesV_Papyrus_Flags.flg." if you're not up to looking at the batch yourself.

 

Boy am I excited for my first day of DOS 101.

Link to comment
Share on other sites

This is what I use for my bat file

cd %2
"%~dp0PapyrusCompiler" %1 -f="TESV_Papyrus_Flags.flg" -i="%~dp0..\Data\Scripts\Source" -o="%~dp0..\Data\Scripts"
pause

Make sure the Data\Scripts\Source is correct order.

When the CK unpacks the scripts archive.. the order is NOT correct.

 

I use Notepad++ for writing and compiling Skyrim scripts. It took me some time to get it right because of that.

Edited by Lisselli
Link to comment
Share on other sites

Special Edition swaps where the scripts live by default. It's probably a mistake, but the path they're using now is Data\Source\Scripts instead of Data\Scripts\Source.

 

You can edit your bat file to point to that location or you can physically move the source scripts back to the old location and change the appropriate configuration line in your CreationKit.ini file so that the CK knows where to find them. There are people approaching the problem both ways and I'm not sure which is best.

Link to comment
Share on other sites

There are numerous tutorials for the old CK telling people how they can use Notepad++ to write and compile their scripts. Seeing as how the interface has basically changed not at all (still crap), I find it reasonable to continue in this method. The old way of running the batch from notepad++ to set the whole thing up doesn't work anymore because special edition's file tree is different. Can someone update the batch script, and/or anything else necessary, so that I can work notepad++ with the new CK? It would be much appreciated.

 

Extra information:

I did a bunch of experimenting inside and outside of the ScriptCompiler.bat (the batch file in question) trying to get it to work myself before coming here.

(It can be found at ...\Steam\steamapps\common\Skyrim Special Edition\Papyrus Compiler\ScriptCompiler.bat\)

The biggest problem I kept getting was that the batch couldn't find "TESV_Papyrus_Flags.flg." That file is actually really easy to find, it's nested among the source scripts. I'm mostly unsure where that file actually needs to go.

The command in the batch file is -f="TesV_Papyrus_Flags.flg." if you're not up to looking at the batch yourself.

 

Boy am I excited for my first day of DOS 101.

Thank you. This fixed the problem. Where do I need to save my scripts to for the compiler to find them based on the quick compile setup on the wiki?

Link to comment
Share on other sites

The last one was actually having trouble finding files it turns out. I got it to work, though. Code compiled through this bat works in game according to my trial and error runs.

cd %2
"%~dp0PapyrusCompiler" %1 -f="TESV_Papyrus_Flags.flg" -i="E:\Steam\steamapps\common\Skyrim Special Edition\Data\Source\Scripts" -o="E:\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts"
pause

I still have to define properties in CK but thats not as much of a hassle. Thanks guys for getting me this far.

Edited by Zefaxet
Link to comment
Share on other sites

  • 3 months later...

Has anyone had any luck with figuring this out? My sse .bat is the following:

set base=H:\Games\steamapps\common\Skyrim Special Edition\Data\Scripts\source
set DLC1=H:\Games\steamapps\common\Skyrim Special Edition\Data\Scripts\source\Dawnguard
set DLC2=H:\Games\steamapps\common\Skyrim Special Edition\Data\Scripts\source\Hearthfire
set DLC3=H:\Games\steamapps\common\Skyrim Special Edition\Data\Scripts\source\Dragonborn
set backup=H:\Games\steamapps\common\Skyrim Special Edition\Data\Scripts\source\Backup



set AllScripts=%~2;%base%;%DLC1%;%DLC2%;%DLC3%;%backup%;%temp%;

"H:\Games\steamapps\common\Skyrim Special Edition\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="TESV_Papyrus_Flags.flg" -i="%AllScripts%" -o="H:\Games\steamapps\common\Skyrim Special Edition\Data\Scripts"
pause

and I get the error that the bat can't locate the TESV_Papyrus_Flags.flg. It's in the Scripts/source folder.

 

My Fallout 4 .bat is pretty much the same, though I haven't bothered to add all the newest dlc scripts to it:

set base=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base
set baseFragPack=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Fragments\Packages
set baseFragPerk=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Fragments\Perks
set baseFragQst=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Fragments\Quests
set baseFragScn=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Fragments\Scenes
set baseFragTerm=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Fragments\Terminals
set baseFragTpIn=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Fragments\TopicInfos
set baseHard=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Hardcore
set baseHardFragQst=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\Base\Hardcore\Fragments\Quests
set DLC1=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC01\DLC01
set DLC1FragPack=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC01\DLC01\Fragments\Packages
set DLC1FragQst=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC01\DLC01\Fragments\Quests
set DLC1FragScn=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC01\DLC01\Fragments\Scenes
set DLC1FragTerm=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC01\DLC01\Fragments\Terminals
set DLC1FragTpIn=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC01\DLC01\Fragments\TopicInfos
set DLC2=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC02\DLC02\DLC02
set DLC2FragQuests=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\DLC02\DLC02\DLC02\Fragments\Quests
set UserScripts=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source\User
set LooseScripts=H:\Games\steamapps\common\Fallout 4\Data\Scripts\source
set AllScripts=%~2;%base%;%baseFragPack%;%baseFragPerk%;%baseFragQst%;%baseFragScn%;%baseFragTerm%;%baseFragTpIn%;%baseHard%;%baseHardFragQst%;%DLC1%;%DLC1FragPack%;%DLC1FragQst%;%DLC1FragScn%;%DLC1FragTerm%;%DLC1FragTpIn%;%DLC2%;%DLC2FragQuests%;%UserScripts%;%LooseScripts%;

"H:\Games\steamapps\common\Fallout 4\Papyrus Compiler\PapyrusCompiler.exe" %1 -f="Institute_Papyrus_Flags.flg" -i="%AllScripts%" -o="H:\Games\steamapps\common\Fallout 4\Data\Scripts"
pause

and it works perfectly? What gives?

Edited by elezraita
Link to comment
Share on other sites

1. CK looks in Scripts\Source for .PSC files

- The Scripts.ZIP file in Data that installs with CK has incorrect folders - it will install to Source\Scripts and needs to be corrected manually.

- Extract to separate folder on desktop and manually copy or move all PSC files into a Scripts\Source folder also move DLC .PSC files into that main source folder overwriting as needed - use the order Dawnguard, Hearthfire, Dragonborn.

- Once you are done you should have one Scripts\Source folder with all .PSC files and the .FLG file.

- Zip this folder as Scripts.zip and place back in Data folder.

- Opening CK should see that the zip is new and will ask to extract. Say yes. This step will update the CreationKitPrefs.INI with date code for the scripts install.

That will look like this...

[ZipInstall]
PapyrusSource_ScriptPackageInstalled=9308A41E6C89D20125

 

2. I use the CK to compile scripts by just opening CK then go to the drop down menu Gameplay - Papyrus Script Manager - find my script and right click to compile - then close CK. No need to Load Plugins.

- This is my CreationKitCustom.INI file...

 

[Audio]
;don't want to overwhelm the CK now do we
bEnableAudio=0

[General]
;becasue mods do more than what beth thought they would
bAllowMultipleMasterLoads=1

[MESSAGES]
;ahhhh no more error popups ad nasium - can still check the EditorWarnings.txt
bBlockMessageBoxes=1

[Papyrus]
;CK's script.zip installs backwards to Source\Scripts - manually move to correct this and move source\dlc files into source folder
sScriptSourceFolder =Data\Scripts\Source\

 

 

3. I have Notepad++ set so CK will open scripts in editor if double clicked - I forget where to set that up though.

 

Hope that helps...

Link to comment
Share on other sites

My number 1. above is important because when packaging your mods for upload to Nexus or Beth.net - other users and modders want to look for your scripts source files in the correct place Data\Scripts\Source..

If they are in Data\Source\Scripts it will just cause headaches trying to see how great your mod is. :)

Link to comment
Share on other sites

That was the first thing I noticed when started setting this up, even before I wrote the batch file. I will try your fix though. The issue is probably the ini setting. I've never had this many problems before getting notepad++ to work with the papyrus compiler.
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...