Jump to content

How to link plugins via a master file?


Recommended Posts

So, I have plans to create an expansive universe of companions, at least 12, and I want them to be separate mods but I also want them to be able to speak with each other and be connected. I noticed how Someguy2000 uses a custom master file to link everything together, do you happen to know how I could link two plugins via a master file? For example, I want companion #1 and companion #2 to speak with each other when they are close to each other, is it as simple as making a master and just having both plugins on at once in the GECK or will this require fancy scripting?

Link to comment
Share on other sites

If I were trying to do it, I'd try using global variables for whatever conditions would be used to have the different characters interact. I assume it would take a degree of forethought if you're making them all piece by piece rather than all at once and just releasing them separately.

 

For example, the player completes a quest in character A's mod which sets a global to reflect that it has been completed. Character B then checks that variable to see if it's appropriate to comment on it.

Link to comment
Share on other sites

First of all, you may already know this, but always define your NPCs in an esm. If you don't, you'll likely run into the infamous head/body texture mismatch bug. Some people can fix this bug by tweaking the game's ini files, but this doesn't work for everyone.

 

There are several ways of doing what you want. The easiest way is to define all of the NPCs in a single esm. You've said that you don't want to do this, but you didn't say why not.

 

Another way of doing it is to have a common esm that contains invisible and unplayable objects that you can use to keep track of conversation states by giving them to your NPCs when you want another NPC to have a particular reaction to them. In all honesty, I'm not seeing any advantage to doing this while defining each NPC in their own individual esm. The esm files are all going to depend on that one esm, so it's not like the files can be made independent of each other.

 

I've taken another approach for my own use. I happen to have one esm that has a bunch of NPCs, basically friends and family of my character, and I have another esm that has a lot more NPCs which are some enhancements I made to FNV for my own use. I originally did not intend for these to interact, but when I decided I did want them to interact, I just made an esp that used both esm files as masters and created new quests for the interactive dialog. I intentionally did not touch the dialog quests in either esm so that I could edit the original dialog in the original esm files and not have to worry about the changes being overwritten by my esp.

 

And of course there's the global method that was already mentioned.

 

One thing I often do for companions is define them in a temporary holding cell. Then I have a script that moves them to where I want them to end up in-game. That way, if I want to change where they spawn, all I need to do is change the script that moves them. If you are absolutely certain that you want an NPC in a particular location then there's not much benefit to doing this, but if you might move their start position at some point then it makes your life a lot easier.

Link to comment
Share on other sites

Which mod is it by someguy2000 you're talking about ?

But like I mentioned in the PM ... it seems like a lot of extracurricular work to make your end vision function as 13 separate files.

I'd say best case scenario you still need 50% of the overall work done in the master , but may well be as high as 90%.

And the reality for the end user is they will most likely want to have all your content available , then likely want to merge the .esp's for load order plugin space.

So in essence rendering all the extracurricular work to make these 13 files work together in various combinations ... obsolete.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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