AugustasGreen1 Posted April 11, 2017 Share Posted April 11, 2017 This is probably a noob question because I am new to this, I got most of it figured out I trying to overhaul and create some new auto builders I am mostly copying the base scripts and just making minor changes to fit my needs. The problem I have when I try and create a new one is adding the properties I get the: Papyrus Compiler Version 2.8.0.4 for Fallout 4 Copyright © ZeniMax Media. All rights reserved. Starting 1 compile threads for 1 files... Compiling "Fragments:Terminals:TERM__components"... C:\Users\Fred\AppData\Local\Temp\PapyrusTemp\Fragments\Terminals\TERM__components.psc(89,31): unknown type dlc05:dlc05initscript No output generated for Fragments:Terminals:TERM__components, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on Fragments:Terminals:TERM__components unknown type error I am sure it is something stupid I am missing somewhere but would greatly appreciate a point in the right direction Link to comment Share on other sites More sharing options...
scrivener07 Posted April 12, 2017 Share Posted April 12, 2017 You have included the "import" as part of the type name as if "DLC05" was part of the namespace. Each folder in Data/Scripts/Source/ is an import which is used by the compiler. The namespacing starts at the root of each import which is included in the type name. Open your source code and define the property like this. DLC05InitScript Property InitScript Auto Const Mandatory I will take a guess and say that you probably attempted to define the property like I did above already but got an unknown type error from the compiler. This is because you need to tell the compiler explicitly which scripts to import during compilation. The creation kit already comes with some sensible settings that will work for vanilla stuff but now that you want to work with additional scripts you need to import them. You should create a CreationKitCustom.ini file in your root game directory to override the creation kits default settings. CreationKitCustom.ini [General] bAllowMultipleMasterLoads=1 bUseMyGamesDirectory=1 bAllowMultipleEditors=1 bMaximize Editor=1 [Papyrus] sScriptSourceFolder = ".\Data\Scripts\Source\AugustasGreen" sAdditionalImports = "$(source);.\Data\Scripts\Source\DLC05;.\Data\Scripts\Source\Base" sAutoFillNamespaceDefault1 = "MyMod01" sAutoFillNamespaceDefault2 = "MyMod02" sAutoFillNamespaceDefault3 = "MyMod03" sAutoFillNamespaceDefault4 = "MyMod04" sAutoFillNamespaceDefault5 = "MyMod05" The "sScriptSourceFolder" value is your own import folder. Scripts inside this folder are the ones you intend to create PEX files for. The "sAdditionalImports" are other import folders containing the script sources that are required to compile the scripts contained in "sScriptSourceFolder". For example if one day you decided that you would like to use F4SE functions you would need to import the F4SE folder as well. [General] bAllowMultipleMasterLoads=1 bUseMyGamesDirectory=1 bAllowMultipleEditors=1 bMaximize Editor=1 [Papyrus] sScriptSourceFolder = ".\Data\Scripts\Source\AugustasGreen" sAdditionalImports = "$(source);.\Data\Scripts\Source\F4SE;.\Data\Scripts\Source\DLC05;.\Data\Scripts\Source\Base" sAutoFillNamespaceDefault1 = "MyMod01" sAutoFillNamespaceDefault2 = "MyMod02" sAutoFillNamespaceDefault3 = "MyMod03" sAutoFillNamespaceDefault4 = "MyMod04" sAutoFillNamespaceDefault5 = "MyMod05" Take note that imports listed on the left will override imports on the right if both imports contain scripts of the same type. This is in fact what F4SE does because it overrides scripts in the "Base" import with new versions containing F4SE functions. Link to comment Share on other sites More sharing options...
AugustasGreen1 Posted April 12, 2017 Author Share Posted April 12, 2017 Awesome thank you I knew i was missing something don't have time to test it tonight but i will tomorrow what you said is exactly what the problem is though makes perfect sense when your aware of it :-) I am enjoying making this mod I hope to get good enough with the scripting to help others Link to comment Share on other sites More sharing options...
crusaderyn Posted January 18, 2018 Share Posted January 18, 2018 You have included the "import" as part of the type name as if "DLC05" was part of the namespace. Each folder in Data/Scripts/Source/ is an import which is used by the compiler. The namespacing starts at the root of each import which is included in the type name. Open your source code and define the property like this. DLC05InitScript Property InitScript Auto Const Mandatory I will take a guess and say that you probably attempted to define the property like I did above already but got an unknown type error from the compiler. This is because you need to tell the compiler explicitly which scripts to import during compilation. The creation kit already comes with some sensible settings that will work for vanilla stuff but now that you want to work with additional scripts you need to import them. You should create a CreationKitCustom.ini file in your root game directory to override the creation kits default settings. CreationKitCustom.ini [General] bAllowMultipleMasterLoads=1 bUseMyGamesDirectory=1 bAllowMultipleEditors=1 bMaximize Editor=1 [Papyrus] sScriptSourceFolder = ".\Data\Scripts\Source\AugustasGreen" sAdditionalImports = "$(source);.\Data\Scripts\Source\DLC05;.\Data\Scripts\Source\Base" sAutoFillNamespaceDefault1 = "MyMod01" sAutoFillNamespaceDefault2 = "MyMod02" sAutoFillNamespaceDefault3 = "MyMod03" sAutoFillNamespaceDefault4 = "MyMod04" sAutoFillNamespaceDefault5 = "MyMod05" The "sScriptSourceFolder" value is your own import folder. Scripts inside this folder are the ones you intend to create PEX files for. The "sAdditionalImports" are other import folders containing the script sources that are required to compile the scripts contained in "sScriptSourceFolder". For example if one day you decided that you would like to use F4SE functions you would need to import the F4SE folder as well. [General] bAllowMultipleMasterLoads=1 bUseMyGamesDirectory=1 bAllowMultipleEditors=1 bMaximize Editor=1 [Papyrus] sScriptSourceFolder = ".\Data\Scripts\Source\AugustasGreen" sAdditionalImports = "$(source);.\Data\Scripts\Source\F4SE;.\Data\Scripts\Source\DLC05;.\Data\Scripts\Source\Base" sAutoFillNamespaceDefault1 = "MyMod01" sAutoFillNamespaceDefault2 = "MyMod02" sAutoFillNamespaceDefault3 = "MyMod03" sAutoFillNamespaceDefault4 = "MyMod04" sAutoFillNamespaceDefault5 = "MyMod05" Take note that imports listed on the left will override imports on the right if both imports contain scripts of the same type. This is in fact what F4SE does because it overrides scripts in the "Base" import with new versions containing F4SE functions. You have no idea how much I'd want to appreciate for this instruction !!! I'm not the original poster but I still want to thank you for solving my issue as well. I try to merge multiple mods (Better Manufacturing, Helmet Forge, and Curved Conveyors) by using FO4Edit. Before I found this thread, I had successfully integrated everything except pex script files (I try to redirect original script file from Fragments\\Terminals\\ to BetterManufacturing\\Fragments\\Terminals\\). No matter how I corrected the reference in FO4Edit, the script doesn't works (Such as Messing Up Terminal Console Menu or Losting Animation of conveyors). Eventually I discovered that pex files has its own direction line at header part(using PexInspector), thus you see I had to spent more times to learn how to decompile & re-compile the stuff...... I found there are so few 3rd-party tools & tutorial for Fallout 4 than Skyrim while it is weird because these 2 games are actually based on same engine & Papyrus Language. Link to comment Share on other sites More sharing options...
Recommended Posts