Jump to content

About function arguments and being optional


Recommended Posts

Quote

Because I hadn't named my scripts, 

Because you hadn't named your TIF scripts, you are setting yourself up for a MASSIVE world of hurt.       

You might have noticed that under Data, all .pex files go directly under Scripts, with no further subdirectory structure.   Which means that scripts with same name will conflict and override.

Here is how Creation Kit operates - say you specify Skyrim.esm and Update.esm   as your mod masters, those load into CK at index 00 and 01, while YOUR active .esp gets loaded at index 02. Meaning all FormIDs  created while working on this mod in CK are going to be 02xxxxxx, i.e. 02000C4A.    Of course, into the actual .esp, that FormID is written as 00000C4A, and if your mod in game is actually loaded at say, index 5F,  that FormID becomes 5F000C4A.    But  while in CK, is is 02000C4A.    And if it happens to be a TopicInfo, and you attach a script to it,  by default that script will be named TIF__02000C4A.  And likewise, any other such scripts will be named TIF_02xxxxxx.    And guess which 'mod' typically loads at index 02, and has all of its TIF scripts also beginning with TIF__02?    Dawnguard.    And all of Dawnguard scripts are in Skyrim-Misc.bsa, so you might not even know you have a conflict.     Until something starts going horribly wrong in the Dawnguard story line cause your mod scripts in Data/Scipts   are overloading those of Dawnguard dialogue.

And lets say another modder also creates a mod with dialogue and Skyrim.esm and Update.esm as masters.    And also does not rename the TIF scripts, so his mod scripts also follow TIF__02xxxxxx naming.    And now they are conflicting with yours, and then people on your mod page are now bombarding you with bug reports, about their quest dialogue going all wonky, like totally unrelated quests advancing stages when you ask Loreius's wife for directions.   700+ mod list attached.

That Rename button for script fragments on Dialog Info page is there for a reason.

  • Like 2
Link to comment
Share on other sites

If you set up a prefix in the Creation Kit (File Menu > Preference > Script tab > enter a four-character prefix), whenever you create a fragment script, the CK will automatically apply the prefix.  This may be helpful in the future to keep track of your script fragment files.

  • Like 1
Link to comment
Share on other sites

Posted (edited)
On 5/16/2024 at 11:12 AM, scorrp10 said:

Because you hadn't named your TIF scripts, you are setting yourself up for a MASSIVE world of hurt.       

You might have noticed that under Data, all .pex files go directly under Scripts, with no further subdirectory structure.   Which means that scripts with same name will conflict and override.

Here is how Creation Kit operates - say you specify Skyrim.esm and Update.esm   as your mod masters, those load into CK at index 00 and 01, while YOUR active .esp gets loaded at index 02. Meaning all FormIDs  created while working on this mod in CK are going to be 02xxxxxx, i.e. 02000C4A.    Of course, into the actual .esp, that FormID is written as 00000C4A, and if your mod in game is actually loaded at say, index 5F,  that FormID becomes 5F000C4A.    But  while in CK, is is 02000C4A.    And if it happens to be a TopicInfo, and you attach a script to it,  by default that script will be named TIF__02000C4A.  And likewise, any other such scripts will be named TIF_02xxxxxx.    And guess which 'mod' typically loads at index 02, and has all of its TIF scripts also beginning with TIF__02?    Dawnguard.    And all of Dawnguard scripts are in Skyrim-Misc.bsa, so you might not even know you have a conflict.     Until something starts going horribly wrong in the Dawnguard story line cause your mod scripts in Data/Scipts   are overloading those of Dawnguard dialogue.

And lets say another modder also creates a mod with dialogue and Skyrim.esm and Update.esm as masters.    And also does not rename the TIF scripts, so his mod scripts also follow TIF__02xxxxxx naming.    And now they are conflicting with yours, and then people on your mod page are now bombarding you with bug reports, about their quest dialogue going all wonky, like totally unrelated quests advancing stages when you ask Loreius's wife for directions.   700+ mod list attached.

That Rename button for script fragments on Dialog Info page is there for a reason.

This is the first mod I've created that involves much in the way of scripts/fragments. The entire endeavor can be pictured as a man leaning far ahead of his skis.

So it doesn't surprise me that I missed this crucial detail before starting.

I'll also add, I haven't released the mod, and the entire reason I'm here beyond learning how to make my mod actually function, is to do due diligence in getting it right for the users ie. without problems.

Is there a way to rectify this at this point that doesn't involve fishing around hundreds of dialogue topics ?

Edit: Not to suggest this isn't a problem--it is--but I just had a look through my 700 mod load order in MO2 to see if I had any conflicts. Surprisingly, with dozens of quest mods, no issues.

Edit2: I just manually renamed all of my TIFs in the CK and then added the prefix in preferences. Annoying, but only an hour or so of work. Thanks a lot for your explanation and guidance here.

Edited by csbx
Link to comment
Share on other sites

  • Recently Browsing   0 members

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