How to swap an interior cell

Post » Fri May 13, 2011 2:58 pm

I want to swap the vanilla Bison Steve interior for my remodeled interior in game after the player does some quests for the materials, furniture and so on.

I have the final interior completed and am going to start the mechanics for the swap pretty soon. I just need to know the best way to do this so I can prepare.

One idea I had (because I don't know any better :hubbahubba: ) was to just place a new door in front of the vanilla door and setting it to initially disabled. Then enabling it when the right time came. (That would make the vanilla door inaccessible behind the new door, right?) Would that be the most simple way to do this? Or is their an easier way to change the teleport marker of the vanilla door with a script or something?

Also, I actually need to do this 3 times as this remodel/rebuild will be in 3 stages.

Stage 1 - basic structure has been finished, but no furniture or clutter. (Basically a completed but empty shell. Player has to buy/trade/scavenge the furniture and stuff.)

Stage 2 – furniture added, but final finishing touches like artwork, supplies, casino tables and staff have to be hired, bought etc.

Stage 3 – final finished rebuild ready for Grand Opening.

For completing the rebuild, the player becomes partners with the owner and gets a monthly cut of the (simulated) profits, most likely based on PC level. (Like the pirate chest or Fighters Guild chests in Oblivion)
User avatar
Lyd
 
Posts: 3335
Joined: Sat Aug 26, 2006 2:56 pm

Post » Fri May 13, 2011 3:50 pm

You could do it in a few ways actually. The ways I'm thinking of are:

1. Like you said, separate doors leading to separate interiors that are enabled/disabled when needed. Only issue with this is that if the player drops items in the one "stage", they won't be accessible when you go to the next stage.
2. Separate doors that are enabled/disabled, but lead to the same cell. So you have say 3 different interior meshes in the same cell, away from eachother, with different doors going to each one. Issue with this is that it can cause slowdowns if not optimised correctly, the navmesh might mess up and items won't be accessible.
3. The same cell, with just the required stuff enabled/disabled on demand. So you'd have say the vanilla version, and you'd set everything there to a parent marker. And then have each stages objects where they should be, but set to their own parent markers. When stage 2 arrives, you disable the original parent marker, and enable stage 2 marker, which enables the stage 2 stuff. This way keeps the player's objects accessible, but can make editing in the GECK tricky as every single object will be visible in it.
User avatar
Raymond J. Ramirez
 
Posts: 3390
Joined: Sun Oct 14, 2007 8:28 am

Post » Fri May 13, 2011 8:13 am

#3 is the way most modders have done this. When stuff is being mostly added at each stage (rather than subtracting), viewing the full version in geck is not too confusing.
User avatar
laila hassan
 
Posts: 3476
Joined: Mon Oct 09, 2006 2:53 pm

Post » Fri May 13, 2011 2:29 pm

Hey, thanks for the responses guys, that helps a LOT. And for me it's a little encouraging in that I was at least partially thinking about how this could be done correctly. Or as we say here in 'da South, "Even a blind hog will still find an acorn every now and then!" LOL. As for the procedure, other than the possibility of someone leaving an item in an old cell, are there any more drawbacks or disadvantages or concerns to using the first method? If they left something really important in an old cell, they could always just use the console to COC back in there and retrieve it, right? The reason I ask, is that my interior is pretty big as it's a full casino and restaurant with a lobby and cashier area. There are a TON of objects in there, and trying to link each and every one to a marker sounds like a tedious and time consuming job. And my finished interior is already 99% finished. The first 2 interiors will not have any containers in them so they would have to just drop it on the ground which could happen, but I don't think it's a huge concern. The mod already includes an awesome player home/display room/armory as it is, so hopefully, they will be using that for their gear.

It would be very, very easy for me to just duplicate my cell 2x, and start removing stuff that I didn't want in that stage. Also, is there somewhere off the top of your head I can look in GECK and figure out the whole enabling/disabling thing? I'm a beginner and have to learn everything as I go, lol.

Thanks again for the feedback!
User avatar
Elle H
 
Posts: 3407
Joined: Sun Aug 06, 2006 3:15 am

Post » Fri May 13, 2011 3:23 pm

The devs generally use a script on the door to the building that checks for quest variables that correspond to progression in the quest. Once condition X has been met, the script moves the player to Cell Z instead of Cell Y.

Note this is a moveto rather than a normal door transition, but the player has no way of telling the difference.
User avatar
Chris Guerin
 
Posts: 3395
Joined: Thu May 10, 2007 2:44 pm

Post » Fri May 13, 2011 4:39 pm

Where in the base game is this technique of multiple copies of a room used? I would think that this makes fixing bugs harder, since if you add or move an object in one copy of the room, you now need to make exactly the same change in two other copies.
User avatar
Jynx Anthropic
 
Posts: 3352
Joined: Fri Sep 08, 2006 9:36 pm

Post » Fri May 13, 2011 3:39 pm

Where in the base game is this technique of multiple copies of a room used? I would think that this makes fixing bugs harder, since if you add or move an object in one copy of the room, you now need to make exactly the same change in two other copies.



Well, I don't know for sure that it IS done like this anywhere. That's exactly why I'm asking for advice here. I'm a beginner with basically NO experience with scripting or making quests like this. I did a very, very simple treasure hunt for FO3 (A Trail of Crumbs in my sig) but that is it. I've made a couple of homes for Oblivion (for myself) and FO3 (Chekov's Place) so I have the basic process of building/cluttering a structure and linking it back to the game world down pretty good. But this is kind of a whole new adventure for me. (I was serious when I said “because I don't know any better”)

And unfortunately, there are very few resources (at least that I'm aware of) besides asking for help at places such as this available for beginners such as myself. The wiki seems pretty much useless, as much of it assumes the reader is more advanced than I am. For example, it will tell you what conditions you might have available for a dialog, but it does not tell you what those conditions actually do or how to use them. And I really, really do try to figure out stuff on my own and not have to ask here if I can help it. I know peoples time is valuable.

Anyway, I guess the consensus is to set it up with a single cell and enable the stuff with X markers like the Megaton Player Home Themes were done in Fallout 3. So, I just need to figure out what the scripts should be and figure out how to link 1000's of objects to an X marker. Phew, this is going to be a job and a half, lol. If anyone has a sample script or scripts I could use or knows where I could find one to copy and edit for my purposes that would certainly help me get started.

Thanks for the input!
User avatar
lucy chadwick
 
Posts: 3412
Joined: Mon Jul 10, 2006 2:43 am

Post » Fri May 13, 2011 6:09 pm

Well, I don't know for sure that it IS done like this anywhere. That's exactly why I'm asking for advice here.


My question was directed at elanthil101, who suggested it.

So, I just need to figure out what the scripts should be and figure out how to link 1000's of objects to an X marker.


If you have already added multiple copies of thousands of objects, it may be too late to implement this conveniently. If you have used a naming convention, such as a three letter prefix at the start of each object name, then you could "group select" all the objects in the right pane of the cell window. However, once you have a group selected, geck doesn't let you edit, even if they are all the same or compatible objects. (Powerpoint, for example, will let you edit the options which are common to the selected objects, such as line color.) So there may be no good way to *switch* to approach 3.

The script seems easy. If you have a quest already, then you have quest stages. Once you have the enable parenting done, in the stage tab of the dialog, simply enable or disable the one parent object.
User avatar
Manuel rivera
 
Posts: 3395
Joined: Mon Sep 10, 2007 4:12 pm

Post » Fri May 13, 2011 4:52 am

While example 1 in post #2 might seem like the easier route to take, especially if you have already built the cells, I think method 3 is the best in the long run. Companions seem to sometimes have trouble with "new spaces". Also giving items names based on which stage of remodel it belongs to is a fantastic idea. It allows you to easily group them in the list and disable them during editing so your space isn't too cluttered. Maybe if you are going to tie them to x markers, put something like x1, x2, x3 ,etc. in the item names so you can easily filter the list.
User avatar
BEl J
 
Posts: 3397
Joined: Tue Feb 13, 2007 8:12 am

Post » Fri May 13, 2011 2:51 pm

While example 1 in post #2 might seem like the easier route to take, especially if you have already built the cells, I think method 3 is the best in the long run. Companions seem to sometimes have trouble with "new spaces". Also giving items names based on which stage of remodel it belongs to is a fantastic idea. It allows you to easily group them in the list and disable them during editing so your space isn't too cluttered. Maybe if you are going to tie them to x markers, put something like x1, x2, x3 ,etc. in the item names so you can easily filter the list.


Thank you, Grimstad, David and the others who responded. Yeah, there are a TON of objects, most of them are just vanilla furniture and clutter stuff, plants and whatnot. Like I said, it's a fully functional casino, restaurant and hotel lobby with two bars and all the trimmings including a lot of custom art I made. If you want an idea of how many, look at the pics of the casino and restaurant of the first version of the mod at the Nexus here: http://www.newvegasnexus.com/downloads/file.php?id=39230

(I'm quite proud of the basic build!)

Without question I'll defer to the experts' consensus as I admit I'm just learning, lol. I'm hoping it won't be too terribly painful to get this all sorted out. I've got a feeling that for the x markers it will just be a lot of clicky-click-clicky that will be tedious and boring, but not too terribly difficult, but I can handle that, lol. Actually, I'm a LOT more concerned with the scripting I will have to use as about all I know about writing scripts is that it will start with “scn”, lol.

So if anybody has some sample scripts I can use to edit to make this work that would be awesome. I think if I have a base script, I can read it and understand what I need to edit for my forms and whatnot. I just don't know how to write one from scratch. I have been poking around in GECK and another mod that has some stuff disabled, but I have not found what I need to use yet. I've looked at the themes in FO3 a little but from what I saw, I didn't actually see a script attached to the x marker. I think what I'm looking for might be in a quest somewhere?

Thanks again and sorry for being such a noob, lol.
User avatar
Nice one
 
Posts: 3473
Joined: Thu Jun 21, 2007 5:30 am

Post » Fri May 13, 2011 12:10 pm

Once you have the enable parents set up, the "script" part of this is trivial, it is only one line. Your xmarker has some name, like "Stage1MarkerRef". To make all these items appear, the entire script is: "Stage1MarkerRef.enable". That's it. Maybe what you are thinking about is the quest and dialog part, which is not really a script. I assume that there will be some quest the player has to do, and some NPCs with dialog. At some point in the quest, there will be a line from the NPC like, "Thanks for your help. Don't you think the construction is coming along well?". Then you add this one line of script into the result field for the dialog.

If you aren't familiar with quests and dialog, you should probably run the geck.gamesas tutorial on dialog and quest, and also maybe read through the longer, more detailed http://cs.elderscrolls.com/constwiki/index.php/Category:A_beginner%27s_guide for TES. I don't think you can run the TES tutorial, but it has a more detailed explanation of the concepts.
User avatar
Ella Loapaga
 
Posts: 3376
Joined: Fri Mar 09, 2007 2:45 pm

Post » Fri May 13, 2011 7:13 pm

Once you have the enable parents set up, the "script" part of this is trivial, it is only one line. Your xmarker has some name, like "Stage1MarkerRef". To make all these items appear, the entire script is: "Stage1MarkerRef.enable". That's it. Maybe what you are thinking about is the quest and dialog part, which is not really a script. I assume that there will be some quest the player has to do, and some NPCs with dialog. At some point in the quest, there will be a line from the NPC like, "Thanks for your help. Don't you think the construction is coming along well?". Then you add this one line of script into the result field for the dialog.

If you aren't familiar with quests and dialog, you should probably run the geck.gamesas tutorial on dialog and quest, and also maybe read through the longer, more detailed http://cs.elderscrolls.com/constwiki/index.php/Category:A_beginner%27s_guide for TES. I don't think you can run the TES tutorial, but it has a more detailed explanation of the concepts.


Crap! That's it? Damn, maybe I'm just making this harder by overthinking it? Cause that's a piece of cake. As for dialog, I'm learning as I go. (What else is new, right?!) I just got the first stage of this overall questline finished with the help of another kind user here. It has several stages of dialog and multiple responses and conditions. I wouldn't say I have it 100% under control, but I am getting more comfortable and understand more and more as I continue to practice and build. :) Thanks for the TES tutorial though, as I hadn't seen that one. I'll definitely read it through.

OK, so one last question and I think I'll have a good handle on this now, finally, lol. (crosses fingers) For the entry door, should I use the vanilla door and add the moveto script that was mentioned, or would it be just as effective (or acceptable) to just add my own new door in front of the vanilla and enable it with the other stuff in the first stage? If I use the vanilla door, I will need a script for that, right?
User avatar
Julia Schwalbe
 
Posts: 3557
Joined: Wed Apr 11, 2007 3:02 pm

Post » Fri May 13, 2011 4:44 pm

Crap! That's it? Damn, maybe I'm just making this harder by overthinking it? Cause that's a piece of cake. As for dialog, I'm learning as I go. (What else is new, right?!) I just got the first stage of this overall questline finished with the help of another kind user here. It has several stages of dialog and multiple responses and conditions. I wouldn't say I have it 100% under control, but I am getting more comfortable and understand more and more as I continue to practice and build. :) Thanks for the TES tutorial though, as I hadn't seen that one. I'll definitely read it through.

OK, so one last question and I think I'll have a good handle on this now, finally, lol. (crosses fingers) For the entry door, should I use the vanilla door and add the moveto script that was mentioned, or would it be just as effective (or acceptable) to just add my own new door in front of the vanilla and enable it with the other stuff in the first stage? If I use the vanilla door, I will need a script for that, right?

Never, ever modify any base vanilla object. If you add a script to a vanilla door, then every single instance of that door in the game (could be 100s of uses) will have this script, and so every single one of those doors will teleport you to your interior cell, breaking the game.

By all means you can use a vanilla door type, just make your own base object. "Edit" a default base object, and rename the ID to something unique. It'll ask you if you want to create a new form ID. Press "Yes".
You can now do anything you want to this new ID door, attach a script, change the model, whatever, and it will only have an effect on when you've specifically used that door (which right after creating it will be 0 uses).
User avatar
Rude_Bitch_420
 
Posts: 3429
Joined: Wed Aug 08, 2007 2:26 pm

Post » Fri May 13, 2011 10:27 am

Never, ever modify any base vanilla object. If you add a script to a vanilla door, then every single instance of that door in the game (could be 100s of uses) will have this script, and so every single one of those doors will teleport you to your interior cell, breaking the game.

By all means you can use a vanilla door type, just make your own base object. "Edit" a default base object, and rename the ID to something unique. It'll ask you if you want to create a new form ID. Press "Yes".
You can now do anything you want to this new ID door, attach a script, change the model, whatever, and it will only have an effect on when you've specifically used that door (which right after creating it will be 0 uses).


Doh! :facepalm: God, call me brain dead I knew better than that, lol. I've had a brutal week this week, and today at the orifice, and my brain is kind of mush right now, lol. Sorry for the stupid question, but thanks for reminding me that!

Awesome, I think I can begin the stages and at least set up the 3 stages for the interior changes and get this all tested out this weekend! Then I will fill in the fetch stages in between and hopefully get this part put to bed! Then it's on to writing Buck's quests for this mod.

Again, thank you everyone who contributed to my learning and I'll definitely give you your due credit when this version is released. Also if you get a minute and will do so, download the version I have up now and tell me what you think. I'd like all the feedback I can get!

Link: http://www.newvegasnexus.com/downloads/file.php?id=39230
User avatar
Lovingly
 
Posts: 3414
Joined: Fri Sep 15, 2006 6:36 am


Return to Fallout: New Vegas