Jump to content

[LE] Creation Kit: Modify an existing cell after completing a quest?


Recommended Posts

Hello all. I'm a total noob at modding and only know the basics of the Creation kit, so I apologize if this is a stupid question. I was wondering if it was possible to trigger changes to an interior cell after completing a quest? Specifically, I wanted to make a mod that transforms the Pelagius Wing after the player completes The Mind of Madness. Is this possible? If so, where would I begin? Would I have to create a new cell entirely?

 

Thanks,

 

Bethari

Link to comment
Share on other sites

Hello all. I'm a total noob at modding and only know the basics of the Creation kit, so I apologize if this is a stupid question. I was wondering if it was possible to trigger changes to an interior cell after completing a quest? Specifically, I wanted to make a mod that transforms the Pelagius Wing after the player completes The Mind of Madness. Is this possible? If so, where would I begin? Would I have to create a new cell entirely?

 

Thanks,

 

Bethari

 

Yes, it's possible. A lot of the vanilla quests do so by placing the objects in the editor, setting them to be disabled initially, and tying them to an enable parent. The quest, when completed, will then toggle the parent to be enabled, and all the new stuff will appear. A similar process can be done to remove clutter. This is how, e.g., the changing of the guards is handled during the civil war, or adding bits and bobs to a purchased house, or the Thieves Guild upgrades during their questline.

Link to comment
Share on other sites

Oh, cool! Thank you. :happy:

 

Do you have to create a special script to enable a parent or use activators? Also, should I uncheck the "respawn" box under the reference menu?

Edited by bethari
Link to comment
Share on other sites

As you are talking about a fair number of objects link them all to Xmarkers and disable the Xmarker linked to the objects you don't want to appear yet (the objects themselves should not be disabled). In the appropriate quest stage you would use:

 

Alias_XMarkeOn.GetReference().Enable()
Alias_XmarkerOff.GetReference().Disable()

 

The Alias names can be anything you like.

Link to comment
Share on other sites

As you are talking about a fair number of objects link them all to Xmarkers and disable the Xmarker linked to the objects you don't want to appear yet (the objects themselves should not be disabled). In the appropriate quest stage you would use:

 

Alias_XMarkeOn.GetReference().Enable()

Alias_XmarkerOff.GetReference().Disable()

 

The Alias names can be anything you like.

Wow, that sounds a lot simpler than I thought it would be. Thanks :thumbsup:

 

EDIT: If anyone else has the same question I did, I found this tutorial on Youtube describing Xmarkers. It's funny what you miss when you don't know what to look for.

 

https://www.youtube.com/watch?v=UQvM520pyjo

 

Information on Xmarkers starts around 14:30.

Edited by bethari
Link to comment
Share on other sites

I would personally suggest, instead of editing the quest proper, attaching a simple script to the marker reference in the cell editor (NOT the base object!). All it has to do is, whenever the cell is attached, check if the quest you're after has been completed. If it has, it can then enable itself, which will enable everything else. Or disable, depending on how you set up the links. To set up enable parents, there's a tab on the reference editor that says "Enable Parent" with the appropriate stuff. You can set something to have the same enable status as the parent, or the opposite, so you only need one marker to do a binary swap.

Link to comment
Share on other sites

The other way of doing it, particulalry it If you have a ton of objects which are very difficult to place when the old set of objects are still there, is to duplicate the cell and make all your deletions and changes in that cell. You then have two doors each linked to a different cell and you disable and enable only the doors.

Link to comment
Share on other sites

The other way of doing it, particulalry it If you have a ton of objects which are very difficult to place when the old set of objects are still there, is to duplicate the cell and make all your deletions and changes in that cell. You then have two doors each linked to a different cell and you disable and enable only the doors.

 

That might actually be the best plan here. It's not like anything else uses the Pelagius Wing after the quest, so it shouldn't break anything.

Link to comment
Share on other sites

The other way of doing it, particulalry it If you have a ton of objects which are very difficult to place when the old set of objects are still there, is to duplicate the cell and make all your deletions and changes in that cell. You then have two doors each linked to a different cell and you disable and enable only the doors.

 

Okay, so I'm trying to have one door link to the vanilla cell and one link to my modified cell. The compilation was successful, but is there a better way to write this script?

 

Scriptname XmarkerWing01OnOff extends ObjectReference

{ObjectReference Property XmarkerWing01On Auto

ObjectReference Property XmarkerWing01Off Auto

 

Event OnActivate (ObjectReference akActionRef)

if (DA15.IsCompleted())

if (akActionRef == Game.GetPlayer())

XmarkerWing01On.Disable()

XmarkerWing01Off.Enable()

 

endif

 

endevent

 

 

EDIT: I play-tested this script, but it doesn't seem to work. :mellow:

Edited by bethari
Link to comment
Share on other sites

I don't think you can do this method with a script attached to something. Because it has to be the correct door before the player activates it. You would have to put the script on something the player has to activate to before going to the door. Do it in a quest stage.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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