Difference between revisions of "A beginner's guide, lesson 1 - The Construction Set Primer"

no edit summary
imported>Gartrand
Tag: Manual revert
 
(48 intermediate revisions by 23 users not shown)
Line 1: Line 1:
'''TES IV: Oblivion Modding for Beginners'''
{{ABGContents}}
 
'''A. BUILDINGS AND STRUCTURES'''
 
'''Lesson One: The Construction Set Primer'''


==Preamble==
This is the first in a proposed series of Tutorial Lessons aimed at teaching how to mod ''TES IV: Oblivion'' aimed at beginners. It will build up into a Complete Modding Course. Don't worry there  
This is the first in a proposed series of Tutorial Lessons aimed at teaching how to mod ''TES IV: Oblivion'' aimed at beginners. It will build up into a Complete Modding Course. Don't worry there  
are no exams, though there is some homework. It is not intended to aid the transfer of modders  
are no exams, though there is some homework. It is not intended to aid the transfer of modders  
Line 38: Line 35:




I suppose we should begin with the obvious question, what is a mod? A mod is an additional piece of programming that alters or modifies some aspect of the original game. Bethesda have made this process easier. They clearly recognize that games like TES thrive and gain extra longevity by encouraging mods. To aid this they have provided the interface software called the '''Construction Set'''.
I suppose we should begin with the obvious question, what is a mod? A mod is an additional piece of programming that alters or modifies some aspect of the original game. Bethesda has made this process easier. They clearly recognize that games like TES thrive and gain extra longevity by encouraging mods. To aid this they have provided the interface software called the '''Construction Set'''.




'''You will need to [[The Elder Scrolls Construction Set|download a copy]] of this before we can start.'''
'''You will need to [[The Elder Scrolls Construction Set|download a copy]] of this before we can start.''' While there are sometimes reasons to use the old v1.0 version of the CS, for this tutorial we'll use the v1.2 version. Also, make sure you have the latest patch for Oblivion; the patches can be found [http://elderscrolls.com/downloads/updates_patches.htm here]. Get the Shivering Isles version if you have the expansion, otherwise get the Oblivion version (you have to scroll down a bit). Make sure you get the correct version for your locality.




Line 66: Line 63:




<pre>Design note. Now that you know what to look for, make a note of any locations in the game that  
<blockquote>Design note. Now that you know what to look for, make a note of any locations in the game that  
you think are cool. You can then look them up later to see how they did that.</pre>
you think are cool. You can then look them up later to see how they did that.</blockquote>


The exterior world of Cyrodiil is made up of a number of tiles or [[:Category:Cells|cells]]. Each cell defines a  
The exterior world of Cyrodiil is made up of a number of tiles or [[:Category:Cells|cells]]. Each cell defines a  
Line 89: Line 86:




In most of these lessons we will concern ourselves with just three file types. Don’t worry the CS writes all the files for you.
In most of these lessons we will concern ourselves with just three file types. Don’t worry, the CS writes all the files for you.


  <filename>.esm  
  <filename>.esm  
Line 96: Line 93:


For a mod to work the game needs to know 3 things. The file you plan to change. This is called  
For a mod to work the game needs to know 3 things. The file you plan to change. This is called  
the Elder Scrolls ''master'' file, or [[ESM file|.esm]]. For all these early files this is going to be the Oblivion master file (''oblivion.esm'' – located in the game's '''Data''' folder). The CS knows where it is.  The vast majority of user-created mods can be written using the ''oblivion.esm'' master file.
the Elder Scrolls ''master'' file, or [[Glossary#E|.esm]]. For all these early files this is going to be the Oblivion master file (''oblivion.esm'' – located in the game's '''Data''' folder). The CS knows where it is.  The vast majority of user-created mods can be written using the ''oblivion.esm'' master file.




It also needs the name of the Elder Scrolls PLUG-IN that you are writing (this is your mod file). These are designated as [[ESP file|.esp]] files. The first time you set out to create a mod, you will not provide the CS with the name of an '''.esp''' file. If you don’t give it a name it will write a new one, prompting you to choose a name for the file the first time you save it.  Any future changes you wish to make to the same mod would require you to choose this '''.esp''', making it your [[Active File|active file]].  Making a file your [[Active File|active file]] simply means that when you choose to '''Save''' your work, the CS will automatically overwrite that file with any changes you have made.
It also needs the name of the Elder Scrolls PLUG-IN that you are writing (this is your mod file). These are designated as [[Glossary#E|.esp]] files. The first time you set out to create a mod, you will not provide the CS with the name of an '''.esp''' file. If you don’t give it a name it will write a new one, prompting you to choose a name for the file the first time you save it.  Any future changes you wish to make to the same mod would require you to choose this '''.esp''', making it your [[Active File|active file]].  Making a file your [[Active File|active file]] simply means that when you choose to '''Save''' your work, the CS will automatically overwrite that file with any changes you have made.




Finally it will need information about any objects you add to the world. These are image files  
Finally it will need information about any objects you add to the world. These are image files called [[Glossary#N|NIF]]s, short for NetImmerse File format, which have the '''.nif''' extension. The game already knows about thousands of these objects, and we can use this library of image files to populate our world with stuff. For a beginning modder, the '''.nif''' files that are already contained in the CS will provide plenty of material to work with.  For now, you should simply be aware of their existence.  Later in the series we can look at changing and adding our own .nif files.
called [[Nif|.nif's]], or NetImmerse File format. The game already knows about thousands of these objects, and we can use this library of image files to populate our world with stuff. For a beginning modder, the '''.nif''' files that are already contained in the CS will provide plenty of material to work with.  For now, you should simply be aware of their existence.  Later in the series we can look at changing and adding our own [[Nif|.nif]] files.




Line 117: Line 113:


To choose a file, double click on it. Do this to the ''oblivion.esm'' file. Leave any others  
To choose a file, double click on it. Do this to the ''oblivion.esm'' file. Leave any others  
unchecked - we don’t want to mess up their hard work. Select '''Done''', and a dialog warning box may pop  
unchecked - we don’t want to mess up their hard work. Select '''OK''', and a dialog warning box may pop  
up telling you that you haven’t selected an [[Active File|active file]].  For now, you may ignore this. Any changes that you make are stored by the CS until you save it. All changed information has an asterisk added to its name in the CS. When you save, you will need to tell the game the file to save the information to.  
up telling you that you haven’t selected an [[Active File|active file]].  For now, you may ignore this. Any changes that you make are stored by the CS until you save it. All changed information has an asterisk added to its name in the CS. When you save, you will need to tell the game the file to save the information to.  


Line 123: Line 119:




In this first tutorial you should only select the ''oblivion.esm'' file and click '''Done'''. At the warning,  
In this first tutorial you should only select the ''oblivion.esm'' file and click '''oK'''. At the warning,  
click '''Yes'''. We now have no [[Active File|active file]].
click '''Yes'''. We now have no [[Active File|active file]].


Line 138: Line 134:


=== The Object Window ===
=== The Object Window ===
The [[Object Window|object window]] contains a list of all the [[Object|objects]] in the game. These are sorted into  
The [[Object Window|object window]] contains a list of all the [[Glossary#B|base objects]] in the game. These are sorted into  
categories, depending on the object's function. '''World Objects/Static/Armor''', for example, contains objects  
categories, depending on the object's function. '''Items/Armor''', for example, contains objects  
that provide combat protection in the game. We will cover each group as and when we use them. The objects can be edited and customized but we will stick to the standard objects for now.  
that provide combat protection in the game. We will cover each group when and as we use them. The objects can be edited and customized but we will stick to the standard objects for now.
 


=== The Cell View Window ===
=== The Cell View Window ===
Line 151: Line 146:
moment to shift from one cell list to another to see how the list on the right changes, then when you’re ready to continue, select interiors again.
moment to shift from one cell list to another to see how the list on the right changes, then when you’re ready to continue, select interiors again.


If you click on the first '''cell''' in the list, the Abandoned Mine, you should see a list of [[Object|objects]]
If you click on the first '''cell''' in the list, the Abandoned Mine, you should see a list of objects on the right hand side. These are all the elements contained in the Abandoned Mine cell, ie. all the pots, chests, [[Glossary#N|NPC's]], and rooms that make up the space you explore in this dungeon.
on the right hand side. These are all the elements contained in the Abandoned Mine cell, ie. all the pots, chests, [[NPC|NPC's]], and rooms that make up the space you explore in this dungeon.
 


Now scroll down the cell selection list to find WawnetInn Tavern.  
Now scroll down the cell selection list to find WawnetInn Tavern.  


You can speed the process up by hitting the W key to scroll down to the locations that start with letter W. When you’ve found the cell select it. The Cell contents list will fill up. If you double click on the Wawnettinn cellname the object will appear in the [[Render Window|render window]].
You can speed the process up by hitting the W key to scroll down to the locations that start with letter W. When you’ve found the cell select it. The Cell contents list will fill up. If you double click on the Wawnettinn cellname the object will appear in the [[Render Window|render window]].
Line 163: Line 155:




The [[Render Window|render window]] is your view into the world you are creating or changing. When you click again on the Wawnetinn Tavern cell the picture should appear in the '''render window'''. It is likely to be a small block in the lower left of the window.
The [[Render Window|render window]] is your view into the world you are creating or changing. When you double click on the Wawnetinn Tavern cell the picture should appear in the '''render window'''. It is likely to be a small block like structure in the window.
 
It may be so small, in fact, that you will need to zoom in with your mouse wheel to see what you're doing-- but beware! The window is huge and the object is small, so you can easily lose it. Selecting another cell in the [[Object Window|object window]], then re-selecting the Wawnetinn Tavern, will put the object back in its starting position in the window. In practice, you will need to combine the navigation commands described below with zooming in, in order to keep the object centered in the visible part of the window.




Line 169: Line 163:




[[Object|Objects]] are dropped into the world by dragging them from the [[Object Window|object window]] into the '''render window'''.  
Objects are dropped into the world by dragging them from the [[Object Window|object window]] into the '''render window'''.  




Line 203: Line 197:




Now select the Wawnet object. A multi-coloured box will appear around the little block. The box  
Now select the Wawnet object (you can select by clicking or by dragging a box around the desired object). A multi-coloured box will appear around the little block. The box  
defines the area of the object in its three dimensions. It is used in '''collision detection''' and  
defines the area of the object in its three dimensions. It is used in '''collision detection''' and  
'''Havok''' physics.
'''Havok''' physics.


<pre>Double click on the block and a dialog box will open, giving information about the block. Check  
<blockquote>Double click on the block and a dialog box will open, giving information about the block. Check that the name of the object is <name>. If it is not, close the dialog box, deselect and try again. In the central area is some information about the object's position. This lists the object's x, y, and z coordinates, and some info about rotation. These should all read 0,0,0. This is the default position. If, in the course of the tutorial, you drag the building out of the way by mistake, don’t panic. Select it, open the dialog, and reset it to 0,0,0.  Note, however, that this will flag the object as having been edited, with a * next to the object's name.</blockquote>
that the name of the object is <name>. If it is not, close the dialog box, deselect and try  
again. In the central area is some information about the object's position. This lists the  
object's x, y, and z coordinates, and some info about rotation. These should all read 0,0,0.  
This is the default position. If, in the course of the tutorial, you drag the building  
out of the way by mistake, don’t panic. Select it, open the dialog, and reset it to 0,0,0.   
Note, however, that this will flag the object as having been edited, with a * next to the  
object's name.</pre>


To move the camera in the normal mouse directions, press and hold the centre wheel button or the spacebar on the keyboard. Move the mouse and you can move the camera about the room.  
To move the camera in the normal mouse directions, press and hold the centre wheel button or the spacebar on the keyboard. Move the mouse and you can move the camera about the room.  
Line 220: Line 207:
Practice makes perfect.
Practice makes perfect.


<pre>The A key allows you to toggle Bright Light on and off. It's a very useful thing while working  
<blockquote>The A key allows you to toggle Bright Light on and off. It's a very useful thing while working with Interior cells in the Construction Set and has no influence on the light in game.</blockquote>
with Interior cells in the Construction Set and has no influence on the light in game.</pre>


==== 2. Rotate the Camera ====
==== 2. Rotate the Camera ====
Line 245: Line 231:
job done.
job done.


<pre>Zoom out a bit and press T. The render changes to a nice top down view. Again you can zoom  
<blockquote>Zoom out a bit and press T. The render changes to a nice top down view. Again you can zoom in and out. T will move the camera to give you a top down view of the selected object. It may, however, be blocked by objects which are above it.</blockquote>
in and out. T will move the camera to give you a top down view of the selected object. It may,  
however, be blocked by objects which are above it.</pre>


Practice using these and when you are ready move on.
Practice using these and when you are ready move on.
Line 264: Line 248:


===== Deleting/Cutting =====
===== Deleting/Cutting =====
Turn your focus to the bar. It is good practice in using the camera. Now select an object on the bar. Any will do. We can now look at the cell content list on the right of the [[Cell View Window|cell view window]]. Scroll down and you should find the object highlighted. Right clicking on it brings up a menu. Select delete. The object disappears. You can reverse this by selecting '''Edit''' > [[Undo|Undo]] from the CS's menu bar at the top of the window.
Turn your focus to the bar. It is good practice in using the camera. Now select an object on the bar. Any will do. We can now look at the cell content list on the right of the [[Cell View Window|cell view window]]. Scroll down and you should find the object highlighted. Right clicking on it brings up a menu. Select delete. The object disappears. You cannot reverse this by selecting '''Edit''' > [[Undo|Undo]] from the CS's menu bar at the top of the window, however!


To delete an object you can also select it and press ''Delete'' on your keyboard.
You can also select the reference in the Render Window and press ''Delete'' on your keyboard. '''This''' method of deleting ''can'' be Undone.


To '''Cut''' an object simply select it and press CTRL + X, or select '''Edit''' > '''Cut'''.  This removes an object from the '''Render Window''' and adds it to your operating system's ''clipboard''.
To '''Cut''' an object simply select it and press CTRL + X, or select '''Edit''' > '''Cut'''.  This removes an object from the '''Render Window''' and adds it to your operating system's ''clipboard''.


===== Selecting Multiple Objects =====
===== Selecting Multiple Objects =====
Line 282: Line 265:
Altering the size of an object, called '''scaling''', is a good way to add a bit of variety to your mods.  Note, however, the general rule that most objects do not look as good when scaled to less than half or more than double their original size.
Altering the size of an object, called '''scaling''', is a good way to add a bit of variety to your mods.  Note, however, the general rule that most objects do not look as good when scaled to less than half or more than double their original size.


===Standard Tasks===
====Creating an empty interior cell====
'''Method 1:'''
#In the [[Cell View Window]], select "Interior" from the Drop-Down box
#Select "TestQuest01" from the left list
#Right-click it and select "Duplicate Cell"
#The new cell should appear below "TestQuest01", select it
#Slowly double-click it so you can change the EditorID, give it a new name
'''Method 2:'''
#Open the Cell window by going through the World>Cells menu
#Be sure that the Worldspace "Interiors" is selected
#Right click in the list of EditorIDs and select "New"
#Enter the name for your new cell and click "Ok"
=====Notes=====
*For storing remote containers and [[Remote Activators|activators]] you can leave it floor-less without a problem.
*Method 1 gives you an empty cell, rather than some vanilla interior.
====Creating a New Persistent Reference====
Generally, giving a thing a persistent reference is necessary when you want some process to be able to refer to that thing from somewhere else. Specifically, flagging a reference as persistent means that Oblivion will always keep it in memory (it persists.)  The advantage to being flagged persistent is that scripts, quests or AI packages can use that reference even when the player is in a different cell. If a script, a quest, or an AI package, will possibly need the thing outside of the cell in which it is given its reference, then that reference needs to be a persistent reference. Oblivion only loads a certain number of cells at a time, and calling upon anything that is not loaded or persisting in memory will cause a crash.  The disadvantage to making all references persistent is that the persistent references occupy memory. If 500,000 references that did not need to persist were, in fact, made persistent and each used 4 bytes that would require about 2 MB of memory and a corresponding use of disk space for each save.  After all, to persist they must be reloaded upon resumption of the game.
The plan is get something you'll use in your scripts, hence the persistent reference.
#Open the cell you wish to add the Persistent Reference to, so you can see it in the [[Render Window]]
#*Double-click the cell in the [[Cell View Window]]
#Select the base object from the [[Object Window]]
#* Temporarily in the [[Object Window]] you could try:  Items > Armor > Glass > and in the right hand side of the window scroll down to: EnchGlassCuirassCameleon
#Drag the base object into the '''Render Window'''
#* You should have a cool cuirass in your renamed TestQuest01 '''Render Window'''
#Double-click the new reference in the '''Render Window'''
#Give it a "Reference EditorID" (top bar of the Edit window)
#*This is the name you'll use in your scripts, so give it a name you'll remember
#*'''Do not''' start the Reference EditorID name with a number as this will cause you a lot of problems down the road
#Flag the object as '''Persistent''' (top-left of the 6 check-boxes at the bottom)
==== Creating a New Base Object ====
There are 2 ways to create a new base object:
#New object - if you want an icon and/or model, the file will need to be unpacked from the .bsa
#Copy another object
=====New Object=====
#In the [[Object Window]], select the type of object you want from the treed-list on the left (i.e., Activator, Spell, Key)
#Press '''Insert''' or right-click in the right window and select New
=====Copy Object=====
Changing the EditorID will allow you to copy a base object
<ol>
<li>Select the base object with the icon and model you would like your new base object to have
*You can check the icon and model by double-clicking the base object</li>
<li>"Change" the EditorID of the base object
*Slowly double-click the EditorID of the base object, give it a new EditorID and press '''Enter'''
*You can also change it in the Edit menu
*#Right-click on it and select edit or double-click it
*#Once in the edit menu, change the EditorID and press OK</li>
<li>You should see the dialogue
<pre>Create a new object?
No will rename this object</pre>
*Select "Yes"</li>
<li>If necessary, make any further changes to the new base object through the Edit Menu
</ol>
== Making Some Practical Changes ==
== Making Some Practical Changes ==


As a final part of this lesson, let’s add some [[Object|objects]] of our own.
As a final part of this lesson, let’s add some objects of our own.


When I first started this was the most frustrating of all the activities. Let’s face it; this is what modding is really about. We want to add stuff that wasn’t there before. It can be awkward to get this right; hopefully this guide will ease you in.
When I first started this was the most frustrating of all the activities. Let’s face it; this is what modding is really about. We want to add stuff that wasn’t there before. It can be awkward to get this right; hopefully this guide will ease you in.
Line 301: Line 347:
clutter that you can pick up but not do anything useful with: Plates, Cups, Bowls and so on. Again there is a bewildering list of bits and pieces. Practice will teach you what most of these are. Nothing besides experience can make this part easier for you. If you want to find an item, use your best judgment in deciding which categories to search.  If you don't find what you're looking for, try something else that makes sense.  
clutter that you can pick up but not do anything useful with: Plates, Cups, Bowls and so on. Again there is a bewildering list of bits and pieces. Practice will teach you what most of these are. Nothing besides experience can make this part easier for you. If you want to find an item, use your best judgment in deciding which categories to search.  If you don't find what you're looking for, try something else that makes sense.  


<pre>Objects with names that begin with MQ are quest based items and are best avoided.</pre>
<blockquote>Objects with names that begin with MQ are quest based items and are best avoided.</blockquote>


Concentrate for now on the stuff related to an economic class. These usually begin with the prefix ''LowerClass'', ''MiddleClass'', ''UpperClass'', ''Lower'', ''Middle'', or ''Upper''. Let’s find a lower class plate and drop it on the bar (LowerClassPlate01).
Concentrate for now on the stuff related to an economic class. These usually begin with the prefix ''LowerClass'', ''MiddleClass'', ''UpperClass'', ''Lower'', ''Middle'', or ''Upper''. Let’s find a lower class plate and drop it on the bar (LowerClassPlate01).
Line 342: Line 388:




<pre>Handy hint: when decorating an empty room try to work from the floor up. Start with carpets,  
<blockquote>Handy hint: when decorating an empty room try to work from the floor up. Start with carpets, then furniture that stands on the floor. Then objects which stand on the furniture. This way the F key can be really powerful.</blockquote>
then furniture that stands on the floor. Then objects which stand on the furniture. This way the  
F key can be really powerful.</pre>


==== 4. Duplicating Objects in Place ====
==== 4. Duplicating Objects in Place ====
Line 351: Line 395:


=== Rotating Objects ===
=== Rotating Objects ===
The final part of this first lesson involves rotating objects. Select an object that will clearly show that rotation has occurred. A mug with a handle will do. You rotate using the right hand mouse button (usually referred as Right Mouse Button, RMB). But here is the thing: rotation occurs only in the z axis. This is the most common type of rotation and is the easiest to perform.
The final part of this first lesson involves rotating objects. Select an object that will clearly show that rotation has occurred. A mug with a handle will do. You rotate using the right mouse button (RMB). But here is the thing: rotation occurs only in the z axis. This is the most common type of rotation and is the easiest to perform.


To rotate in the x axis, use x + RMB.
To rotate in the x axis, use x + RMB.


To rotate in the y axis use y + RMB.
To rotate in the y axis use y + RMB.
:'''N.B.''' Some people have found that rotating in y axis was the default, and rotating on the z axis required z + RMB


You can also use the rotation boxes in the object's pop up dialog box. This is best if you want precise angles like 90, 180 and 270 etc.
You can also use the rotation boxes in the object's pop up dialog box. This is best if you want precise angles like 90, 180 and 270 etc.
Line 361: Line 407:
Practice doing this.
Practice doing this.


You may also place your cursor in any of the position or rotation boxes and use the up down arrows on your keyboard to make very small incremental movements.


Finally a couple of extra bits:  
Finally a couple of extra bits:  
Line 367: Line 414:


Holding Y when dragging an object restricts movement to the y axis only. (Very handy for stocking shelves).
Holding Y when dragging an object restricts movement to the y axis only. (Very handy for stocking shelves).


== Testing Your Mod ==
== Testing Your Mod ==
Line 378: Line 424:
Congratulations you have now done your first mod. Ok it’s a useless mod that beats up a very nice bar, but a mod none the less. More importantly you have learned the techniques needed to navigate around the render screen and to manipulate objects.  
Congratulations you have now done your first mod. Ok it’s a useless mod that beats up a very nice bar, but a mod none the less. More importantly you have learned the techniques needed to navigate around the render screen and to manipulate objects.  


To restore the inn to all its former glory, simple deactivate your mod.
To restore the inn to all it's former glory, simply deactivate your mod.


==Key Controls Summary==
==Key Controls Summary==
Line 384: Line 430:


  '''Camera'''
  '''Camera'''
  Centre Wheel Scroll Zoom
  Centre Wheel Hold + mouse Pan
  Centre Wheel Hold Move
  Spacebar + mouse Pan
  Shift + LMB - Rotate
  Shift + mouse - Rotate
Centre Wheel Scroll – Zoom, stepped
V + mouse – Zoom, fine
  C – Centre On selected
  C – Centre On selected
  T – Top View selected
  T – Top View selected
   
   
  '''Object'''
  '''Object'''
LMB + mouse – move on x and y axis
Z + LMB + mouse - move on z axis
X + LMB + mouse - move on x axis
Y + LMB + mouse - move on y axis
S + mouse - scale size
RMB + mouse – rotate about z axis
Y + RMB + mouse - rotate about y axis
X + RMB + mouse - rotate about x axis
  D – De-select
  D – De-select
LMB – move: x, y
Z + LMB move: z only
X + LMB move: x only
Y + LMB move: y only
  F – Fall
  F – Fall
  CTRL x – cut
  CTRL x – cut
Line 401: Line 453:
  CTRL v – paste
  CTRL v – paste
  CTRL d – copy and paste in present position (duplicate)
  CTRL d – copy and paste in present position (duplicate)
  LMB (with nothing selected) select multi-objects
  LMB (with nothing selected) + frame - select multi-objects
  S - "Scale": drag mouse to edit size
  CTRL + LMB – add to selection list
RMB – rotate about z
RMB + y rotate about y
RMB + x rotate about x
   
   
  '''Misc'''
  '''Misc'''
  A - Toggle Bright Light
  A - Illuminate (Toggle Bright Light)




Line 419: Line 468:


[[Category:A beginner's guide]]
[[Category:A beginner's guide]]
==See Also==
[[Useful settings in ConstructionSet.ini]]
Anonymous user