Tuesday, February 7, 2012

The Elder Scrolls V: Skyrim. How to make mods without Creation Kit



This tutorial will show you how to edit and add objects into Skyrim interiors without the console/CK. This method will allow you to compile the changes into an .ESP, to share!

First off, we will need some tools, so download:

FOMM - This is used for its TESsnip Functionality.
FNVEdit - This is used to view the records in plain text.

Once we have the tools downloaded and setup correctly (if you don't have FO3 or F:NV, setup dummy folders/exes so the tools work) you can start on your mod.)

Preparing your plugin


Open up FOMM, and then launch TESsnip from within it. Load 'Skyrim.esm'. As we can see, editing the records isn't the most intuitive thing in the world, so we will want to find the FormIDs that you want to edit. These are essentially references to a specific record.

[Go to FNVEdit]

So, launch FNVEdit. You will need to place a copy of the 'Skyrim.esm' in your Fallout: New Vegas folder for FNVEdit to detect it. Load 'Skyrim.esm'.

Go down to the header: 'Cell' and click on the box to the left of it (+ sign). This will reveal the records for that group. The structure for the 'Cell' group is as follows:
Cell
        Block # 
                Sub-Block #
                        Cell Form ID
                                Persistant
                                Temporary

(# is a number)

The important groups here are the two lowest groups, 'Persistant' and 'Temporary'. These groups contain the records for the persistant objects (quest items/npcs and other stuff) and temporary objects (general clutter, crafting stations, navigation meshes, etc).

Go through the 'Temporary' records and find the objects that you wish to edit. Note their FormIDs down.

[Go to FOMM/TESsnip]

We will now find the NAME property for each of the objects we want to ADD. If you want to remove/replace the object, you don't need its 'NAME' property. To do this:
1. Open the 'Skyrim.esm'. Let it load.
2. Press Ctrl+F to launch the Find menu.
3. Type in the FormID and press the radio button for 'FormID'
4. Press 'Search'

You should now have been shown a record that matches the FormID. In its properties window, you should see the property 'NAME'. Click on it and note down the Hex string in the right window. Repeat the above for each object you wish to add in your mod.

We now want to create a new plugin. Do this by selecting 'File' and then 'New'. We should see a plugin appear called 'New plugin'. We should also see a record within it called 'TES4'. We need to change 'TES4' so Skyrim will recognise it. Do this by copying the property settings below:
FormID: 00000000
Flags 1: 00000000
Flags 2: 00000000
Flags 3: 0000000f

HEDR (This is a property of the 'TES4' record)
File version: 0.94
Record count: 920184
Unknown: -16258535

CNAM (Plugin author)
Author: YOURNAMEHERE

INTV (May not be necessary)
C5 26 01 00 

MAST53 6B 79 72 69 6D 2E 65 73 6D 00 

DATA00 00 00 00 00 00 00 00 

MAST (May not be necessary)
53 6B 79 72 69 6D 2E 65 73 6D 00 

DATA (May not be necessary)
00 00 00 00 00 00 00 00 


To save you time, I have attached an example 'TES4' plugin to this tutorial. If it doesn't work initially, you may have to play around, deleting some of the properties.

[Summary] - Update the plugin's 'TES4' record so Skyrim will recognise the .ESP

Making your plugin
[Go to FOMM/TESsnip]

In this tutorial we will be replacing one of the barrel objects in the Arch-Mage Quarters with a grindstone object. For your objects, follow the same steps, but with different hex values.

First we need to find the 'Cell' group and copy it over to your plugin. Do this by going to your open 'Skyrim.esm'[ and copying (Ctrl+C) the 'Cell' group over into your new plugin (click on the title 'New plugin' and then press Ctrl+V).

As we are editing a single location, we don't need all the other cell records. Use attached 'location_ids' to find the location's ID and use the Find function to go to the record. Delete all records that are equal and above it, but are not linked to it.

As we are using the Arch-Mage Quarters in this tutorial, the location code for it is:
Title: <WinterholdCollegeArchMageQuarters>
FormID: 000CAB92 


After deleting all the unwanted records, we should be left with:
Your plugin.esp
        GRUP(CELL)
                GRUP
                        GRUP
                                CELL (WinterholdCollegeArchMageQuarters)
                                GRUP
                                        Persistant
                                        Temporary


[Summary] - Delete all other groups that are not linked to your Location's record.



Adding/modifying a object

We are now ready to modify an object. To do this, get the FormID of the object we wish to replace (barrel in the tutorial's case). Now find its record (use the Find function) and double click on 'NAME'. The hex editor window will appear. Tick 'Insert Mode' and delete the current hex string. Replace it with the 'NAME' hex string of your new object.

Here are the details if you are following the tutorial object replacements:
        # Barrel I am replacing
BarrelIngredientCommon01_NoRespawn
Form ID: 00077689 
NAME: C2 E9 06 00 
DATA: C6 8B 32 C4 D0 9C 72 C3 00 00 00 41 00 00 00 00 00 00 00 00 00 00 A0 41 
# Grindstone I am adding
CraftingBlacksmithSharpeningWheel
FormID: 0005CB00
NAME: C2 E9 06 00 
DATA: 0F C2 86 C3 24 1B 65 C2 F7 C1 3D C3 00 00 00 00 00 00 00 80 2D 1A 90 40 


If you want to add an object, you will need to add a new record. To do this, copy a current record and paste it back into the 'Temporary' group. It will appear at the bottom of the list. Double click it and change the 'Form ID' field to something different. I recommend something higher than the ones used already. Now repeat the above as you would for modifying an object.

[Summary] - Change old object 'NAME' property to the new object 'NAME' property. Adding an object, change its 'Form ID' to a unique one.



Manipulating a object

If you have added an object, you will notice that it took the position of which every record (object) you copied. To change this, we will need to edit the 'DATA' property for the object. First, you need to understand what the hex string means.

RED = X Co-ordinate (Position)
BLUE = Y Co-ordinate (Position)
GREEN = Z Co-ordinate (Position)
YELLOW = X Co-ordinate (Rotation)
PINK = Y Co-ordinate (Rotation)
ORANGE = Z Co-ordinate (Rotation)

Using the barrel as an example:

C6 8B 32 C4D0 9C 72 C300 00 00 4100 00 00 0000 00 00 0000 00 A0 41

It will take some in-game experimenting to position your new object just right, which is the main disadvantage of this method.

[Summary] - 'DATA' property controls the object's position and rotation. New objects need this edited most of the time.

Notes: If you've tested your plugin, you might have realised that the cell name is now corrupt. To fix this, you will need to use your Location's ID to find its record, and edit the 'FULL' property. Double click it to open the hex editor, tick 'Insert Mode' and in the right hand side, type in the proper cellname. If there is a symbol present in-game after doing this, edit the 'FULL' property again, go to the left hand side of the hex editor (remember to tick 'Insert Mode') and click on the last pairing, and type 00. This should fix it.



Or just using console


You don't "need" to do open up files to add objects in the game. I have successfully replaced an entire room in my solitude home with objects of my choosing using just the console. The game engine is great, you can do many things to create whatever you want. I am able to set the game as wire mode and move objects around, rotate objects place and delete anywhere I want.           
Before:
After:

How WireFrame looks ingame:
Commands that will help you edit objects in the game:
  • help - I use this to help find id of the objects I am searching for, for example 'help bed 4' will give me a list of everything related to beds
  • markfordelete - Delete the object
  • TWF - Make the world as wire frame, I like to use this to see if I have accidentally placed objects under the floor or behind the walls
  • placeatme -You can use this command to place objects at a selected location, such as floor, walls, etc or you can use yourself as a marker using the player.placeatme
  • rotate (X,Y,Z) - use this command to rotate the selected object whichever way you want.
You are not limited to edit your house, you can do this anywhere in the world... I am just doing it like this until the kit comes out.
Note: I don't mean to say that this way of editing is wrong, but I find it that using the console is a much easier way for people that don't know anything about modding to edit things in the game, I am sure your way of editing is right too.           

No comments:

Post a Comment