Jump to content

Help with a Thieves Guild mod.


Skagens

Recommended Posts

Hi everyone.

 

I would like to make a mod that reflects the wealth accumulated by the Thieves Guild as you start to finish the reputation quests. There already exist mods that do this but in (my opinion) a stupid way. They add stuff like the mead-barrels of Sovngarde or the giant dwemer lamp in Blackreach. Not immersive stuff. So I want to make my own mod that does this but in an immersive and logical way. Thing is, I don't really know how to add stuff to an area only after certain quests are completed. I'm assuming it has something to do with setstages but I have no idea how to go about this.

 

Any tips? Thanks.

Link to comment
Share on other sites

Basically, you need to add all the stuff you want into the Ragged Flagon or Ragged Flagon Cistern.

 

Do this logically, so add the stuff you want for each stage and give them an ID, such as 'MyModItem01Stage01', 'MyModItem02stage01', MyModItem01stage02' etc. You can edit the form of the item you placed locally and give this an ID. When you've got dozens of items in the Flagon, this naming will help you keep track of them later.

 

Stick to static objects, or other objects that cannot move. If no static variation of what you need to add exists in the vanilla game, create one. You don't want something that can be knocked over and end up with clutter all over the place. If you can't do that, then you'll prbably want to add a collision cube around it set to L_Static, but I'd not recommend doing it that way.

 

Next, when you place the objects, if they interfere with the vanilla navmesh, your best bet is to place a collision cube around them go to its 'Primitive' tab and set it to L_Navcut. This makes the NPCs avoid that area of navmesh, so that they don't get stuck.

 

Next, for each stage of things you want to add, put down an x-marker. Give it an ID, such as 'MyModXreputation01', 'MyModxReputation02', etcetera. Flag it as 'Initially Disabled'.

 

Click on each of the objects you want to add for each stage, plus any related collision cubes and hit the '-' key to open up the batch menu. Click 'Enable Parent', choose the relevant x-marker and click 'Do'.

 

That's it for the physical set-up.

 

The trickier part is how to link this up to the game.

 

You'll need a quest with all of your x-markers as quest aliases. Name them something like 'Marker01', 'Marker02' etc and select each of your xmarkers as a reference for the aliases. In each of the stages corresponding to the player winning a city for the guild, you need a papyrus fragment Alias_Marker01.GetReference().Enable(), etc.

 

That will enable your x-marker and because all the objects and collision cubes have the x-marker as their enable parent, they'll be enabled, too.

 

If you can, you really want to avoid editing the vanilla TG quests.

 

The TG quests track the player's progress towards being guildmaster by using global variables: TGcrimeMarkarthTaken, TGcrimeSolitudetaken, etcetera. Your best bet would be a quest that tracks these variables and each time they are altered because the player has completed Delvin's special request for that city, your quest stage is set to enable the marker, as outlined above. This way you'll have one set of fancy stuff for Markarth, one for Solitude, one for Windhelm and one for Whiterun.

 

Take a look at the 'TGRshell' quest where all this is handled. Looking at any quest starting 'TG' isn't a bad thing, either.

 

You'll need advice from someone other than me to track the global variables and your quest will need to have a script added to it that checks . I'm not the best with scripts either, but I'd say your quest will need to be set up to allow repeated stages, have one stage (Stage 10, say) set up with a papyrus fragment to 'RegisterForSingleUpdateGameTime(#)'. Your script will have an event 'OnUpdateGameTime' that fires and checks to see if any of the globals have changed and sets a quest stage accordingly.

 

In that stage you enable the x-marker, add another line to set your quest back to stage 10.

 

For neatness, in the script you want to check to see if all 4 holds have been regained for the guild and shut down the quest.

Link to comment
Share on other sites

Thanks for the reply, I'll make sure to read this more thoroughly tomorrow. You brought up an interesting point I didn't consider before though - the navmesh. It never occurred to me that, of course the navmesh would be a problem the more items I placed. This might sound like a stupid question, but I don't suppose it's possible to enable certain navmesh using the same global variables I would use for the items placed, is it? Either way, it might simply be easier with collision cubes.

 

I also have no experience with scrips either. It seemed simple but I guess the mod might be a bit more tedious than I thought. I don't know, might drop the idea.

Nevertheless, I appreciate the reply, it helped a lot.

Link to comment
Share on other sites

Don't drop the idea!... it's a good one.

 

Most stuff in making mods takes a lot of learning, but there are plenty of people on this forum who can help you with different aspects.

 

As far as disabling parts of navmesh goes, I'm not aware of it, though I'd love someone to say it can be done. My gut feeling is that it can't. if it could be done, Bethesda wouldn't have stuck hundreds of L_Navcut collision cubes in their hearthfire homes and all over Skyrim.

 

On the navmesh part, I'd make sure you don't put any new objects anywhere near Xmarkers and XmarkerHeadings, too, espescially if you put a navmesh collision cube around it. That could stop certain scenes and quests from starting, if the NPC can't move to their marker because of the L_Navcut cube. Same applies to any green highlighted load door navmesh triangles. Cut them out and the NPCs won't be able to use the doors!

Link to comment
Share on other sites

I'll try but if it proves too beyond my basic understanding of modding then I might drop the idea (for now).

I get modding takes time but the reason I thought I could do it is because the idea seemed rather simple. But if scripts are required, it complicates things. But again, I'll try.

 

My gut feeling also tells me it can't be done, and you're probably right, if it could be done, Bethesda would've probably done so.

Ah yeah, the Xmarkers. Thanks for the tip, and thanks for the reply.

Link to comment
Share on other sites

Ah!

 

i feel guilty for putting you off. Also i'm intrigued by what you're trying to do, and I like it, as I said before.

 

I dare say that we can probably do this together.

 

If it comes to scripts that are beyond you or I, we could call in the experts on the forum. (I'm actually a bit better with scripts than I let on, but not a whizz with them... I'm just too modest)

 

I'm testing the last few bits of my mod prior to release, right now, but after that I could happily help out on your mod.

 

What say you?

 

Honestly, the stuff I said isn't that tough once you get used to the kit.

 

Partners?

Link to comment
Share on other sites

There's no need to feel guilty at all, you took time to write and actually gave me insight on what to expect.

 

That sounds awesome actually, and it's really cool to you for offering. I do hope you know what you're getting yourself into though. Like I said, i'm somewhat familiar with the kit, but not even close to what it has to offer.

And yeah, I'll leave the scripting to more experienced people than me. Hopefully you'll be able to figure that out, if it's even needed.

 

Hey look at that, this looks do-able. Deal, partners.

Link to comment
Share on other sites

It's a deal, then.

 

It's your concept, though, so you decide how it's to work.

 

I'd be more than happy to do as you ask.

 

Believe me, I know what I'm getting myself into!

 

They call it the 'Creation Kit', but in my head, I've always called it the 'Frustration Kit'.

 

PM me with what you need me to do and I'll work it in with my own mod.

Link to comment
Share on other sites

First off I have a question. Is there a global variable that is based not necessarily on which reputation quest is completed but rather is based on you actually just completing one of them?

 

So for example: The first stage of items is based on you completing one of the reputation quests. Now, I don't want it to matter which of them you complete. It shouldn't matter if you complete TGcrimeMarkarthTaken or TGcrimeSolitudetaken, only that you complete one of these for the first stage of improvement to activate. Am I making sense? Or do I have to link one aspect of the improvements to a specific reputation quest?

Link to comment
Share on other sites

I've looked at it a bit more. I think we can do this much more easilly.

 

The quest TGstatus has stages set for each of the merchants that are added. These are added by enabling markers. The markers are all lined up in a row in the Ragged Flagon. You could use these as the enable parents of your new items. If you do it this way you can add items every time a merchant is added.

 

The only thorny issue is that these can be set in any order. That's where the global variables come in. The value of the variable is checked each time a new merchant is added. When it gets to 4 the TGleadrship quest is started. I've now read your PM and I see that you are wanting to add a new room to the Flagon. If you simply set the wall shelf and clutter to initially disabled and have your new room there from the start, but with nothing but empty shelves or similar, maybe with cobwebs around some of the clutter, you could use these markers to remove the cobwebs and clutter from a shelf at a time and repopulate the shelf with your nice new items.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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