Adding a Merchant NPC to Skyrim

From Nexus Mods Wiki
Revision as of 20:31, 14 July 2015 by Kinaga (talk | contribs) (Create a new container)
Jump to: navigation, search

Overview

This tutorial shows all the main steps you need to follow to add a merchant NPC to Skyrim.

Required tools

  • Creation Kit: available on Steam (Menu option View -> Tools and then select Creation Kit)

Add a Merchant NPC

The main steps for adding a merchant to Skyrim are:

  1. Create a new container
  2. Create a new vendor faction
  3. Create a new NPC

Create a new container

Adding a new container
Editting the container
Placing the container under the floor

The easiest way for adding new content for Skyrim with the Creation Kit is to copy an existing object and that is what we are going to do in this tutorial.

First we are going to add a new container that will have all the objects our merchant is going to sell. To do this:

  1. Launch the Creation Kit
  2. Load the Skyrim master file:
    1. Select the menu option File -> Data ...
    2. Check the flag at the left side of Skyrim.esm and Update.esm
    3. Press the OK button and wait until the CK has finished uploading everything
      Note: the CK has a bad habit of showing lots of warning messages. When the first one appears click on the Cancel button and you won't see more of these warnings.
  3. In the Object window expand the menu WorldObjects -> Container and look for one of the containers used by vanilla merchants (their names usually begin by Merchant). For this tutorial I've chosen the MerchantMarkarthArnleifandSonsChest.
  4. Double click on the selected container and a window will pop-up like the one shown in picture Adding a new container.
  5. Change the container ID (the field at the top left of the window) and type a new ID for your container.
  6. Press the OK button, the CK will ask you if you want to create a new form: answer Yes.
  7. Now look for the container you've just created, and double click on it to open the container details window again.
  8. The Item list section has all the items the container has (and the merchant can sell):
    1. Delete the items you don't want that your merchant has by selecting one or several of the items and pressing the delete key.
    2. Add any items you want your merchant to sell by selecting those items in the Object window and dragging and dropping them into the Container's Item list. In the Count box you can set the quantity of that item that the merchant is going to have. It's a good idea to use leveled lists rather than specific items, to give some variation to what the player is offered on each visit.
    3. To give the merchant bartering gold add a VendorGold... leveled item, for example VendorGoldMisc.
    4. You should also add the PerkMasterTraderGold leveled item so that players with the master trader perk have access to their bonus bartering gold.
      1. If you want the merchant to have a specific amount of gold, you can add the item Gold001 to the Container's Item list (it is under the Items -> MiscItem menu) and set the Count to whatever amount you want. This is generally not good practice however, as you can easily make massive amounts of gold available to players early in the game.
      2. Although the CK allows it, don't add more than 30,000 gold pieces. Merchants' buy/sell functionality breaks if they have more gold available.
  9. Once you are done press the OK button.

It is good to save your progress from time to time just in case the CK crashes. To save your work seelct File -> Save and then type the name of your plugin (for example MyMerchant.esp).

Place the container in the world

The next step is to place the container in the world. To do that:

  1. In the Cell view window select the cell where you are going to place the container. I decided to place it in the Silver Blood Inn, in Markarth, so I chose the MarkarthSilverBloodInn cell.
  2. Double click on the name of the cell you've selected and wait while the CK loads it in the Render window. Once it is loaded, select an object in the Render window (just select it, don't move anything!) and move around the cell until you find the place where you want to put your container. To move around the cell:
    1. Use the mouse wheel to zoom in or out.
    2. Press the Shift key and move the mouse (without pressing any mouse button) to rotate the view.
    3. Press the Space bar and move the mouse (without pressing any mouse button) to move the cell up, down, right or left.
  3. Select your container in the object window and drag and drop it into the cell in the Render view window: now your container is in the world but it will be most likely floating above the ground or in a position you don't like. To fix that, the easiest way for me is to:
    1. In the Cell view window, select the copy of your container from the list of objects at the right side of this window.
    2. Left click on this copy of your container and select Edit from the pop up menu. This will open a window like the one shown in picture Editting the container
    3. In this window, in the Position section change the X, Y o Z values to move your container around the cell. Or change the X, Y o Z values of the Rotation section to rotate it. You can see the changes in the Render view window.
    4. For a merchant's container, it is best to locate the container in an unreachable place, like under the floor as shown in picture Placing the container under the floor. This way nobody will be able of looting its contents.

After placing your container in the world you can always edit its contents to add new items or delete existing items. You won't need to place it in the world again: any changes you do to the container charactersistics will be automatically replicated to the container copy you placed in the world.

Create a new vendor faction

Adding a new vendor faction
Vendor location

The next step is to create a new vendor faction. Again, we are going to use an existing faction as a template for creating the new one.

  1. In the Object window expand the menu Character -> Faction and look for one of the factions used by vanilla merchants (their names usually begin by Services). For this tutorial I've chosen the ServicesMarkarthSilverFishInn.
  2. Double click on the selected faction and a window will pop-up like the one shown in picture Adding a new vendor faction.
  3. Change the faction ID (the field at the top left of the window) and type a new ID for your faction.
  4. Press the OK button, the CK will ask you if you want to create a new form: answer Yes.
  5. Now look for the faction you've just created, and double click on it to open the faction details window again.
  6. Click on the Vendor tab and check the Vendor flag if it is not already checked.
  7. Enter the hours you want your merchant to work. For this tutorial I've set them to the whole day (from 0 to 24 hours): that means that my merchant will be able of selling and buying items at any time.
  8. Click on the Location button and a window like the one shown in picture Vendor location will pop up. Here you set where your merchant has to be to be able to trade. I've selected the Near Self option: this means that my merchant can sell and buy items anywhere as she will be always near herself. Click the OK button to close the Location window.
  9. Again on the faction vendor tab set the Radius to whatever value you want. This radius means how close to the location place you've chosen your merchant has to be to be able of selling and buying goods. As I've set the location to Near Self I can safely set the Radius to 0.
  10. The next two fields indicate what kind of items the merchant can sell and buy:
    1. In the Vendor Buy/Sell List select the list that cointains the kind of items your merchant can (or cannot) sell and buy.
    2. If the Not Sell/Buy flag is not checked it means that the merchant will only sell and buy the kind of items in the Vendor Buy/Sell List you've selected.
    3. If the Not Sell/Buy flag is checked it means that the merchant will sell and buy anything but the kind of items in the Vendor Buy/Sell List you've selected.
    4. If you want yor merchant to buy and sell anything, like Belethor in Whiterun, then use the settings shown in picture Adding a new vendor faction: the VendorItemsMisc list contains almost nothing.
  11. The last step is to assign the container you've created previously to the new faction so your merchant will be able of selling the items stored in that container:
    1. In the Cell field select the cell where you placed your container from the drowp-down list (the MarkarthSilverBloodInn in this tutorial).
    2. In the Reference field select your container.

Create a new NPC

Importing an existing face
NPC Statistics
NPC outfit and inventory
NPC daily routine
Merchant factions
Fixing the NPC face colour

The last step is to create your merchant. Again, we are going to use an existing NPC as a template for creating the new one.

  1. In the Object window expand the menu Actor and choose any of the existing NPCs.
  2. Double click on the selected NPC and a window will pop-up like the one shown in picture Importing an existing face.
  3. Change the NPC ID, Name and Short Name (the fields at the top left of the window) and type new values for your merchant.
  4. Press the OK button, the CK will ask you if you want to create a new form: answer Yes.
  5. Now look for the NPC you've just created, and double click on it to open the NPC details window again.

Use the face of your player character for the NPC

I've decided to use the face of one of my player characters for my vendor, to do this:

  1. Launch the game and load a savegame of the character whose face you want to use.
  2. Open the console and type spf + the name of the file where you want the face to be stored (for example, spf MyPC).
  3. This will save a file in the Skyrim main folder with the name you've typed + the extension .npc (in the example, it will create a file called MyPC.npc).

Back to the Creation Kit:

  1. Open the NPC details window again and go to the Character Gen Parts tab as shown in picture Importing an existing face.
  2. Press the Import button and select the face of your PC you've saved before. You'll see that the face of your merchant NPC will be now the one of your player character.
  3. In this tab you can adjust some of the features of the NPC like hair style and colour, eye colour, etc. You can see the changes in the previe window (check the Head flag to see them). In the Character Gen Morphs tab you can change also other characteristics of your NPC's face.
    Note: The preview window doesn't work if your mouse is set for the left hand. You won't be able to rotate the face. To be able to do that change temporarily your mouse settings to work for the right hand and once you are done you can revert the mouse settings to the left hand.

Set the NPC statictics

Other settings you can adjust for your NPC are:

  1. Defining if he can be killed or not:
    1. If you check the Protected flag, nobody will be able to kill your merchant except the player character.
    2. If you check the Essential flag, nobody will be able to kill your merchant not even the player character.
  2. Defining if he will level up with your character:
    1. On the Stats tab check the PC Level Mult flag if you want your merchant to level up as shown in picture NPC Statistics. You can also set the minimum and maximum level he can reach (from 0 to 100 in the picture).
  3. Set the NPC class. In this example I've set it to VendorTailor as shown in picture NPC Statistics.
  4. Set the outfit your merchant is wearing:
    1. On the Inventory tab select the Default Outfit from the drop-down list: these are the clothes your merchant will be wearing as shown in picture NPC outfit and inventory.
  5. Add anything you want to his inventory by dragging and dropping objects from the Object window to the Inventory list.
  6. Set your merchant's daily routine:
    1. On the AI Packages tab add the packages that conatine the daily routine for your merchant. These packages will tell him when and where to eat, sleep, walk, and so on.
    2. To add a package just select it from the Object window (they are all under Character -> Package) and drag and drop it into the Ai Package list. As I want my vendor to stay always at the same place and be able of selling adnd buying items at any time I've given my NPC the DefaultServicesEditorLoc24x7 package as shown in picture NPC daily routine.

Assign the right factions to your NPC

The most important thing you have to do is to assign the right factions to your NPC or he won't be able to sell/buy anything. You assign the factions to an NPC by dragging and dropping factions to the Factions and Ranks list of the Factions tab.

There are two factions that any merchant needs to have:

  • JobMerchantFaction: this adds the merchant dialogue to your NPC. Set the Rank to 0 as shown in picture Merchant factions.
  • The services faction you created previously: this will allow your NPC to sell/buy the items from your container at the conditions specified by you when creating this faction.

You can add other factions to your merchant. For example, if you are going to place him in Markarth it is good to add some of the Markarth related factions to avoid him having problems with the locals ;)

Place your NPC in the world

The next step is to place the NPC in the world. To do that follow the same steps you did for placing the container in the world (except the one about placing it under the floor!).

After placing your NPC in the world you can always edit his statistics, outfit, factions, face, and so on. You won't need to place him in the world again: any changes you do to the NPC charactersistics will be automatically replicated to the NPC copy you placed in the world.

Save your plugin.

Fix the NPC face colour

If the CK didn't had a bug related to new NPC faces (their face colour doesn't match their body colour) your work will be ended here. But until the CK is fixed there is still another step to do.

The only way of making your NPCs face look right is to follow this steps:

  1. Load your esp plugin into the CK and wait until the CK has finished loading everything.
  2. Locate your NPC merchant and open his details window.
  3. Go to the Character Gen Parts tab and change something there, for example the hair used by your character. Then you can change it again to the previous hair.
  4. Press the OK button to close the NPC details window.
  5. Locate your NPC again in the Objects window, select him and press Ctrl + F4. The CK will ask you if you want to export the face gen data for your NPC, answer Yes and wait until it is done.
  6. This will have generated two texture and one mesh file:
    1. The textures will be located in the folder: \textures\actors\character\facegendata\facetint\MyPlugin.esp\ (with the name of your esp file instead of MyPlugin.esp). One of them is a .tga file and the other a .dds file. You can delete the .tga
    2. The mesh will be located in the folder: \meshes\actors\character\FaceGenData\FaceGeom\MyPlugin.esp\
  7. Close the CK without saving the changes as you only wanted the texture and mesh files that have already been generated.

Now your merchant's face will have the same colour than his body.

Related pages

References