dizietemblesssma Posted January 20, 2022 Share Posted January 20, 2022 1. What should the layout of script source files be for the F4 dlc?My creation kit unpacked C:\Program Files (x86)\Steam\steamapps\common\Fallout 4\Data\Scripts\Source\DLC06\DLC06.zip thus:C:\Program Files (x86)\Steam\steamapps\common\Fallout 4\Data\Scripts\Source\DLC06\DLC06\*.pscbut that doesn't seem right. 2. If a script is not in the scripts\base folder then would the following work as a property:VaultWorkshopScript Property Vault88Workshop Autowhen the VaultWorkshipScript.pex is packed in the bsa as under ..\scripts\DLC06 and if I were to fill the property in the script as such:Vault88Workshop = Game.GetFormFromFile(0x0000BCE7, "DLC03.esm") As VaultWorkshopScript? this seems to work with base game workshops i.e:WorkshopScript Property AbernathyWorkshop AutoAbernathyWorkshop = Game.GetFormFromFile(0x0006F5C5, "Fallout4.esm") As WorkshopScript but when looking at the Vault88 workshop the script that is attached is listed in the CK as DLC06:ValutWorkshopScriptwhich I think the the namespace thing I've read about but not used yet. diziet Link to comment Share on other sites More sharing options...
GrimGrim31 Posted January 25, 2022 Share Posted January 25, 2022 Why use Game.GetFromFromFile to reference a script? I often use that function to pull object references in from other mods but not from Bethesda's base game or its DLCs. I usually reference scripts in my properties as Namespace:Scriptname Property Shortnameforscript Auto Const. The DLC files should be in a folder named for the DLC (DLC06 in your example above) and there should not be a second folder with that name inside the first folder. The NameSpace is usually the name of the User folder such as DLC06. Mine is GrimGrim31. Scripts in the Base folder don't have a Namespace. Link to comment Share on other sites More sharing options...
LarannKiar Posted January 27, 2022 Share Posted January 27, 2022 (edited) 1. What should the layout of script source files be for the F4 dlc?My creation kit unpacked C:\Program Files (x86)\Steam\steamapps\common\Fallout 4\Data\Scripts\Source\DLC06\DLC06.zip thus:C:\Program Files (x86)\Steam\steamapps\common\Fallout 4\Data\Scripts\Source\DLC06\DLC06\*.pscbut that doesn't seem right. 2. If a script is not in the scripts\base folder then would the following work as a property:VaultWorkshopScript Property Vault88Workshop Autowhen the VaultWorkshipScript.pex is packed in the bsa as under ..\scripts\DLC06 and if I were to fill the property in the script as such:Vault88Workshop = Game.GetFormFromFile(0x0000BCE7, "DLC03.esm") As VaultWorkshopScript? this seems to work with base game workshops i.e:WorkshopScript Property AbernathyWorkshop AutoAbernathyWorkshop = Game.GetFormFromFile(0x0006F5C5, "Fallout4.esm") As WorkshopScript but when looking at the Vault88 workshop the script that is attached is listed in the CK as DLC06:ValutWorkshopScriptwhich I think the the namespace thing I've read about but not used yet. diziet It should be Namespace:Scriptname. DLC06:VaultWorkshopScript Vault88Workshop = Game.GetFormFromFile(0x0000BCE7, "DLC03.esm") as DLC06:VaultWorkshopScript By the way, 0000BCE7 is the FormID of the Nuka World Workshop (DLCNukaWorld.esm). Edited January 27, 2022 by LarannKiar Link to comment Share on other sites More sharing options...
dizietemblesssma Posted February 2, 2022 Author Share Posted February 2, 2022 Hi, I'm back:)I corrected the error workshop formid, thanks.I also got the namespace things working except for using my own namespace as a folder(s) for my source and .pex files. After reading and searching I think, but would like confirmation, that this can only be done in an external editor (notepad++) using papyrus project files?Using the following in the notepad++ nppexec plugin: npe_console -- m- npp_save set local F4HOME = C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4 set local F4Compile = $(F4HOME)\Papyrus Compiler\PapyrusCompiler.exe set local F4SRC = $(F4HOME)\Data\Scripts\Source set local FLAGS = $(F4SRC)\Base\Institute_Papyrus_Flags.flg set local F4INCLUDE=$(F4SRC)\Base set local F4INCLUDE=$(F4SRC)\DLC01;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\DLC02;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\DLC03;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\DLC04;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\DLC05;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\DLC06;$(F4INCLUDE)set local F4INCLUDE=$(F4SRC)\User;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\User\diziet;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\User\Fragments;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\User\Fragments\Quests;$(F4INCLUDE) set local F4INCLUDE=$(F4SRC)\User\Fragments\Terminals;$(F4INCLUDE) npp_console - cd $(CURRENT_DIRECTORY) npp_console + "$(F4Compile)" "$(CURRENT_DIRECTORY)\$(FILE_NAME)" -f="$(FLAGS)" -i="$(F4INCLUDE)" -o="$(F4HOME)\Data\Scripts\user\diziet"I can get .pex files to appear in the scripts/user/diziet folder but only if I my script says e.g.:Scriptname dz_no_attacks_quest_script Extends Quest If it says:Scriptname diziet:dz_no_attacks_quest_script Extends Questthen I get an error about mismatced scriptname.Unfortunately if it does compile, it then doesn't show up as a script tp add in the Creation Kit. diziet Link to comment Share on other sites More sharing options...
Recommended Posts