Jump to content

Modding using the Creation Kits #1 - Creating a Quest


Shaded32

Recommended Posts

Modding Using the Creation Kits #1

Creating a Quest (Part 1)

 

First off, yes I'm new. I've been lurking for a few days now, using the fantastic mods and thought it was time to contribute something. Enjoy.

 

General Introduction

I'm planning on making this into a series of how to create basic to advanced modifications using one of the many available Creation Kits for any of the Bethesda games. This will include things such as creating quests, entirely new areas, scripting and even integrating your mods into other specific adult-orientated mods. For example, creating a quest that will require you to, let's say, have sex with someone to get the required information to progress.

 

However, as every mod is different, I will be taking requests when the time comes to see what ones people would like a tutorial for. The one's I'm already planning on integrating is Sexout (with possibly some modifications for that) and Animated Prositition.

 

I am writing these tutorials using the New Vegas GECK, the instructions will be the same for the Fallout 3 GECK, and should be similar for Oblivion (I haven't modded for Oblivion, so I'm not entirely sure on that.) Either way, you should be able to follow along. Once the Creation Kit for Skyrim comes out, I will move on to that, and providing the UI and functionality of it hasn't changed that much, you should still be able to continue. (If not, I will provide seperate instructions on where it is different.)

 

So, where am I going with this?

This is what I have planned:

  • Creating a quest
  • Integrating Sexout into that quest
  • (Possibly) Integrating other adult-orientated mods into quests
  • From there, I'm not 100% sure yet, suggestions are welcome.

 

Creating a Quest (Introduction)

In this tutorial we will be looking at how to create a basic quest, in the following tutorial we will integrate it into Animated Prositution to allow for some adult-orientated action. After that, I may create one with Sexout, or may move onto an entirely different topic. I will also assume that you have little or no experience using a Creation Kit, this will allow as many people as possible to follow along easily. I have attached the resulting file from the end of this tutorial to the end of the post.

 

Just Before We Get Started

If you have not got the specific Creation Kit for the game you are planning on modding, get them below.

 

Oblivion: Construction Set

 

Fallout 3: GECK

1.5 Update

(You need both files, install the GECK first, then the update)

 

New Vegas: GECK

 

Let's Get Started

Let's create a scenario for a quest that we are going to make, feel free to edit bits you do not like, and change quest dialog. Let's create the basic structure for now and give a rough idea of what we want to achieve with this quest.

 

  • Start off the quest by talking to Sunny Smiles in the Prospector Saloon in Goodsprings.
  • Find out that she has lost her favourite weapon, it was stolen by some Bandits.
  • Need to find out the location of the bandit camp of where it is being stored.
    - Here there will be at least 2 different ways of obtaining the information.
    - It could be from a note which is rarely dropped by Bandits, or could be from bribing a certain bandit, or in the next tutorial - 'convincing' a bandit to give it to you.
  • Attack the Bandit camp and retreive the weapon.
  • Return back to Sunny Smiles for your reward.

 

As you can see, it isn't the most simple quest to begin with, but that is because it will make it easier to integrate different features later on, rather than changing the quest entirely to add it.

 

Creating the Mod

First off, open up the Creation Kit and go to File -> Data. If there are any files checked in this list, uncheck them all (double click) then, double click on the main ESM for that game, for example Fallout.esm or FalloutNV.esm. Hit Okay and let it load.

 

zQZ0o.png

 

Once it has loaded, immediately save it. I'm saving it as '01 Creating a Quest' for the purposes of this tutorial. This will create the ESP and will make it easier later.

 

Now, you will see three new windows that appeared when you loaded the main ESM, these are all used for different purposes. I'm going to give a brief description of what you use them for.

 

Render Window

The purpose of the render window is to show you how the map will look in-game, it is used for placing/moving/selecting/etc objects and will be explained in more detail in the second part of this tutorial.

 

Object Window

This is where you will find every object in the game, it contains every faction, NPC, quest, etc.

 

Cell View

This is where you will find every cell in the game, you can create new ones and edit existing ones.

 

Familiarise yourself with the layout, how everything is arranged and move the windows somewhere you will be comfortable with them, then move onto the next section.

 

Creating a Quest

Okay, so let's actually start creating the quest now. In the Object Window there is a box on the left which has all the different categories and types of what you can add. We want to add a quest, so if you haven't already been poking around in there and found it, it is located in Actor Data -> Quest. In the box on the right, right-click anywhere and click New.

 

fLuDq.png

 

Now you have the new quest dialog open, the first thing you will want to do is fill out this first tab. You can fill it in with whatever you like, but for the purposes of the tutorial, I'm filling it in with the data below.

 

Quest Name: Sunny's Lost Weapon

This will show up in the game, this is the main title of the quest.

 

ID: 0SunnyLostWeapon

This is just for use in the Creation Kit, you will want to make it something that you can easily remember what it is, and it is unique. I have added a 0 in the front to make it appear at the top of the list, so it is easier to find later on.

 

Priority: 50

This is where the quest will show up on the quest list, 60 is for a main quest and 50 for a side-quest. Although, you can use any number you want, higher numbers result in it being displayed higher up on the list.

 

Start Game Enabled: Checked

This will mean that the quest will start when the game does, so you do not need to enable it via other methods.

 

Allow repeated conversation topics: Checked

This will mean that people can talk to NPCs and repeat things they've already said - for example, if they forget what they should be doing.

 

Allow repeated stages: Unchecked

This will be useful if you would want a player to repeat a certain stage in the quest, we don't need it, so I left it unchecked.

 

Script: Leave blank

This is for when you want to add scripts to a quest, we don't need any for now so let's leave it blank.

 

Script Processing Delay: Check the default box.

Although it doesn't matter for the moment, as we don't have any scripts - it's easier to set it up now.

 

After you have filled in all of that, it should look like this.

 

bdaAR.png

 

Press OK, this will save it and make sure nothing wierd happens, once it's saved, open it up again. (Sometimes if you go onto the next tab without saving it, it will oddly blank everything on the first... At least on the NV GECK, anyway.) Once it's open again, we will want to go into the Quest Stages tab.

 

This tab is for creating stages within a quest, to allow things to happen at different times and have multiple conclusions and choices for each quest. Right-click in the box on the left, and click new. Make the Index 10. Why 10 and not 1? Because if we want to later, we will be able to add things before this stage, for example - Sunny needs to lose her weapon before she says that she's lost it. Once that is done, right-click in the topmost box in the Quest Stage items area, and click on New again. Here there are a few new options for you to use.

 

Log Entry: Player needs to talk to Sunny Smiles.

As far as I know, this is not shown in-game and is only used for identification when you're in the Creation Kit, so you know what stage is what. For this tutorial I'm filling it in with what's above.

 

Result Script: SetObjectiveDisplayed 0SunnyLostWeapon 10 1

Our first bit of scripting. This will show the objective (we will get onto it later) with the Index of 10 in the 0SunnyLostWeapon quest. You may need to edit it for your quest, if you're using different Indexes or quest IDs. The '1' is used to make it show, if you replaced '1' with a '0' then it will be hidden.

 

SetObjectiveDisplayed QuestID Index 1

 

The 'Complete Quest' and 'Fail Quest' check boxes are self-explanatory, and will be used later on in the tutorial - we don't want them to just start the quest and immediately complete it or fail, so we'll leave them blank for now. The Conditions are used for if you want to only progress onto that stage of the quest by fulfilling certain requirements, we will do it another way, so leave it blank.

 

By now, you should have something similar to this.

 

TtAFD.png

 

Now, let's add all the different stages for this quest.

 

Index: 20

Log Entry: Bandits have stolen Sunny's favourite weapon.

Result Script:

SetObjectiveCompleted 0SunnyLostWeapon 10 1
SetObjectiveDisplayed 0SunnyLostWeapon 20 1
SetObjectiveDisplayed 0SunnyLostWeapon 25 1
SetObjectiveDisplayed 0SunnyLostWeapon 26 1

 

There are 4 lines of code here, because we want to display 3 objectives at once, and complete the previous one. Let's go through this line-by-line.

 

SetObjectiveCompleted 0SunnyLostWeapon 10 1

 

It is exactly the same as SetObjectDisplayed, although it will toggle the completed state of an objective on (1, completed) or off (0, incomplete).

 

SetObjectiveDisplayed 0SunnyLostWeapon 20 1
SetObjectiveDisplayed 0SunnyLostWeapon 25 1
SetObjectiveDisplayed 0SunnyLostWeapon 26 1

 

This will display three objectives at once, the first one being "Sunny has lost a weapon, you need to find it", second being "(Optional) Kill bandits to find out where they've stored it" and the third "(Optional) Bribe a bandit to tell you the location of Sunny's weapon". Later, we will add an additional, optional objective where they can 'convince' another bandit to tell you where it is.

 

Index: 30

Log Entry: Player has found out the location of the weapon - now they need to retrieve it.

Result Script:[script]SetObjectiveCompleted 0SunnyLostWeapon 20 1

SetObjectiveDisplayed 0SunnyLostWeapon 30 1[/script]

 

Again, the code will complete the main objective (This is because - at this point - we do not know what path they took, we will do that later on) and display the current objective.

 

Index: 40

Log Entry: Player has found the weapon. Return to Sunny.

Result Script:[script]SetObjectiveCompleted 0SunnyLostWeapon 30 1

SetObjectiveDisplayed 0SunnyLostWeapon 40 1[/script]

 

Index: 100

Log Entry: Quest complete

Result Script:[script]SetObjectiveCompleted 0SunnyLostWeapon 40 1[/script]

Complete Quest: Checked

 

This last stage will complete the quest, I have set it to 100 so we have plenty of room if we decide to add more quest stages later on. If you saved it and launched the game now, nothing would happen. This is because there are no objectives and there is nothing to trigger the quest. In the next part of the tutorial, we will add in the objectives and get the quest working in-game.

 

I hope you enjoyed the tutorial and learned something, I've attached the esp below, just incase you didn't quite understand something - if you still don't understand, don't hesistate to ask. And as always, constructive criticism is welcome.

Link to comment

I've reformatted some various parts, hoping it's easier on the eyes and not just a massive wall of text... Although there is a lot of text.

 

Last time we left off with everything up to the quest stages complete, so let's continue where we left off.

 

If You Closed Your Mod:

Load up your mod again and remember to click on the 'Active File' button to mark your plugin as active, and save any changes you make to that file. In the Object Window, go to 'Quest' again and open up your quest.

 

Let's Get Started - Quest Objectives

Once that's all done, go onto the Quest Objectives tab, as we've completed the first two. Now this part works similarly to the Quest Stages tab, each objective will have it's own ID and for the sake of simplicity and neatness, should have the same ID as the quest stage relating to it.

 

The code we inputted into each quest stage last tutorial will relate to these, so if you're not using the same IDs as the stages, then you'll need to go back and edit the scripts to reflect the new IDs.

 

Right-click in the topmost box, and click new. The first objective we need is to tell the player to talk to Sunny Smiles, so go ahead and input these into the two textboxes below (Index and Display Text). The Index is used for showing/hiding the quest objective, and the Display Text is what will be shown to the player.

 

Index: 10

Display Text: Sunny Smiles is looking for you, maybe you should go and speak to her.

 

Once that's done, make sure the new Objective is selected in the top-most box, and right-click -> add in the Quest Objective Data box. (It is directly below the two text boxes where you added the Display Text.) Next, for the 'Cell' click on the drop-down box and find GSProspectorSaloonInterior, and for Ref find SunnyRef. It should look like this.

 

mNIoV.png

 

Basically, what this tells the Quest Objective to do, is to add a point to the compass to display where Sunny currently is. We cannot use the object window for this as you have to select a specfic instance (reference) of that object, not the object in general (Because you can have multiple of the same object placed in different areas.)

 

Go ahead and add the display text and objective indexes for the other stages - be creative. I've posted what mine currently looks like below. Note: You do

 

not need to add quest targets for all of the objectives, at the moment you can only add them for the ones where you have to return to Sunny. (Index 10 and 40) This is because we have not added the bandits and weapon into the game yet.

 

lU6e9.png

 

Conversations Between NPCs and the Player:

Now onto creating topics and conversations - so you can talk to the relevant NPCs and they will say what you want them to. Go ahead and click on the 'Topics' tab. (The Conversation tab is used for NPC to NPC interaction, when they randomly talk to eachother.)

 

There are a few ways of doing this, we could use the GREETING topic and force them to start the quest as soon as they talk to Sunny, but that isn't ideal. Let's make it an option. In the left box right-click -> add topic, and in the box that pops up, right-click -> new, as usual. You can call it anything you want, but for the purposes of this tutorial I'm going to call it 0SunnyHelp. When it's created, make sure it's

selected then hit OK. You may have noticed that now all of the options on the right have become enabled, so let's get started.

 

There are two different ways of achieving the same result, we can either put what we (the player) want to say to Sunny in either the Topic Text, or create a new Response and put it in the Prompt area. The latter method is mostly used for when you want to randomise what the NPC/Player will say, based on varying factors - for example, karma, player/npc sex/race. The first method is used for when you want a static response, but either way it doesn't matter, so in this tutorial I am going on with the second method. Right-click in the larger right box at the top and click new, for the Response Text I put "Bandits stole my favourite weapon, that's what's wrong! Could you please get it back for me?" Nothing fancy there, but it does the job. In the Prompt I put "What's wrong?".

 

xJPmi.png

 

Now we only want this topic to be active when we're talking to Sunny - and when we're doing the quest - not any random NPC, so let's fix that. In the Conditions box, add a new condition and make sure the function is GetIsID (It is by default) for the Parameters click on the INVALID button, then find GSSunnySmiles in the drop-down box. Click OK then OK. Now only Sunny will say it, but that's not enough - we only need her to say it when we're doing the quest, and make sure that we haven't already gone past this point in the quest. Let's add another condition, this time set the function to GetStage click the INVALID button and find your quest, in my case 0SunnyLostWeapon and hit OK again. Now, for the comparison set it to == what this means is that it should be equal to the Value (number on the right), GetStage will return the current stage in the quest, and if it's equal to the Value then everything will be OK and you will be able to query sunny about her weapon. Make sure you set the Value to 10.

 

qNxAR.png

 

Adding Choices - Help Sunny:

Now I am going to assume you will be able to complete a few more on your own, if you get stuck try applying what you did for the previous one, failing that just ask here for help on anything you do not understand.

 

Create a new Topic, like you did for 0SunnyHelp. Call it 0SunnyYES or something similar. Add a new conversation in that topic, with the following details.

 

Prompt: Sure, I can help you

Response Text: Thank you so much. I'll be waiting here for you to return.

Goodbye: Checked

Conditions: GetIsID NPC: 'GSSunnySmiles' == 1.00 (Same as before, you can right click and copy/paste the old one)

Result Script (End): SetStage 0SunnyLostWeapon 20

 

Now what the result script does it when you've finished talking to Sunny, it wills et the stage of 0SunnyLostWeapon to 20, advancing the quest. (Remember to change 0SunnyLostWeapon to the ID of your quest, if you've changed it.)

 

WotqW.png

 

Adding Choices - Don't Help Sunny:

Next you will want to do the same but opposite. Create a new topic called 0SunnyNO or something similar. And as before, add a new conversation with the following details.

 

Prompt: I can't help you right now

Response Text: Oh, well if you change your mind, I'll be here.

Goodbye: Checked

Conditions: GetIsID NPC: 'GSSunnySmiles' == 1.00 (Same as before, you can right click and copy/paste the old one)

Result Script (End): Leave Blank

 

We have this here just incase the player does not want to help Sunny at this time.

 

Now, go back to the 0SunnyHelp topic and click on the What's Wrong? conversation. On the right there are three more boxes, in the Choices box, right click and add the two new topics you created. ( 0SunnyYES and 0SunnyNO) A tip, instead of adding them individually, you can hold down Ctrl and left-click on the individual choices, this will allow you to select multiple entries.

 

What this does is it will link this topic to the other two, once you click on this one and hear what Sunny has to say, it will give you the two choices to either help Sunny or not.

 

This is where I will leave part 2, in part 3 we will create a bandit base of operations and expand more upon the conversation between NPCs and the player. From this point onwards it will be possible to test this in-game. Read the next section to find out how.

 

Testing In-Game:

Now, before you save and quit the GECK, you will need to find out the ID of your quest. In the Object window, between Editor ID and Count is a column, if it is not visible drag one of the black lines to either the left or the right to make it so you can see the contents. In my case, the ID for 0SunnyLostWeapon is 01000ADD. Note this down and save and close your mod. If you use FOMM then open it up, find out where your mod is being loaded and note the Mod Index. In my case, it is 15 - replace the 01 at the start of the Form ID for your quest with the Mod Index from FOMM. Remember this ID and launch the game with the mod enabled.

 

Once you've loaded your game, open up the console and type this in:

 

SetStage 15000ADD 10

 

(Remember to replace 15000ADD with the new ID (Form ID with the Mod Index))

 

Now you should see the quest start and you should be able to talk to Sunny Smiles with all your new options!

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use