Difference between revisions of "Getting started creating mods using GECK"

From Nexus Mods Wiki
Jump to: navigation, search
(Dialogue and Lipsynch: update)
(TIP Mashing Meshes - Fix multiple SceneRoots: clarification)
 
(167 intermediate revisions by 2 users not shown)
Line 25: Line 25:
 
</div>
 
</div>
  
There is a lot of unique vocabulary related to creating mods in the following material, such as the distinction between "meshes", the 3D framework of objects (saved as '''Nif''' files); and "textures", the surface "skin" over the "mesh framework" (saved as '''DDS''' files).  [http://www.darkcreations.org/testg/wiki/Main_Page The Elder Scrolls Texture Guide] (TESTG) site has a [http://www.darkcreations.org/testg/wiki/Glossary glossary] and several pages devoted to explaining these to new mod creators and users.  Rather than explaining them here, please reference that site when you need clarification.  (This article does a lot of that: referral to other existing resources.  Why reinvent the wheel?)
+
There is a lot of unique vocabulary related to creating mods in the following material, such as the distinction between "meshes", the 3D framework of objects (saved as '''Nif''' files); and "textures", the surface "skin" over the "mesh framework" (saved as '''DDS''' files).  [http://web.archive.org/web/20170713081056/http://www.darkcreations.org/testg/wiki/Main_Page The Elder Scrolls Texture Guide] (TESTG) site has a [http://web.archive.org/web/20170713081056/http://www.darkcreations.org/testg/wiki/Glossary glossary] and several pages devoted to explaining these to new mod creators and users.  Rather than explaining them here, please reference that site when you need clarification.  (This article does a lot of that: referral to other existing resources.  Why reinvent the wheel?)
  
 
== <span id="Programs_and_Tools"></span>Programs and Tools ==
 
== <span id="Programs_and_Tools"></span>Programs and Tools ==
Line 46: Line 46:
  
 
* There are now two wikis devoted to the '''GECK''': the official one by Bethesda, which is not very well supported and a major pain to update (Five CAPCHAs per post!), and a Modding Community '''GECKWiki''' site with everything from the official one but actively updated by the modding community.  While most links to the '''GECK''' wiki are to the official wiki, be sure to check out the Community one to see the latest info on your topic.  Anything related to "Script Extenders" like '''NVSE''' or '''JIP LN NVSE''' functions will be more current on the Community '''GECKWiki''' site.
 
* There are now two wikis devoted to the '''GECK''': the official one by Bethesda, which is not very well supported and a major pain to update (Five CAPCHAs per post!), and a Modding Community '''GECKWiki''' site with everything from the official one but actively updated by the modding community.  While most links to the '''GECK''' wiki are to the official wiki, be sure to check out the Community one to see the latest info on your topic.  Anything related to "Script Extenders" like '''NVSE''' or '''JIP LN NVSE''' functions will be more current on the Community '''GECKWiki''' site.
:* [http://geck.technodeep.net/index.php/Main_Page Community GECKWiki]
+
:* [http://geckwiki.com/index.php?title=Main_Page Community GECKWiki]
 
::* [http://geck.foesmm.org/index.php/Tutorials GECK: Tutorials]
 
::* [http://geck.foesmm.org/index.php/Tutorials GECK: Tutorials]
::* [http://geck.technodeep.net/index.php/Category:Getting_Started#My_First_Vault_Tutorial_Series GECK: 'My first vault' tutorial series] Bethesda's intro to mod creation.
+
::* [http://geckwiki.com/index.php?title=Category:Getting_Started#My_First_Vault_Tutorial_Series GECK: 'My first vault' tutorial series] Bethesda's intro to mod creation.
::* [http://geck.technodeep.net/index.php/Category:FAQ GECK: FAQ] Simple questions with answers.
+
::* [http://geckwiki.com/index.php?title=Category:FAQ GECK: FAQ] Simple questions with answers.
::* [http://geck.technodeep.net/index.php/Category:Advanced_Modding_Techniques GECK: Advanced Modding Techniques] Questions with tricky answers.
+
::* [http://geckwiki.com/index.php?title=Category:Advanced_Modding_Techniques GECK: Advanced Modding Techniques] Questions with tricky answers.
 
:* [http://geck.bethsoft.com/index.php?title=Main_Page Official Bethesda GECK Wiki]
 
:* [http://geck.bethsoft.com/index.php?title=Main_Page Official Bethesda GECK Wiki]
 
:* [http://cs.elderscrolls.com/index.php?title=Category:Solutions TES4 Construction Set Wiki] Older, more fundamental questions and answers.
 
:* [http://cs.elderscrolls.com/index.php?title=Category:Solutions TES4 Construction Set Wiki] Older, more fundamental questions and answers.
Line 66: Line 66:
 
:: "Noob to Pro" PDF tutorial.
 
:: "Noob to Pro" PDF tutorial.
 
:: Check out the "Optional" files section for some additional functionality.  Recommended for FO3/FNV.
 
:: Check out the "Optional" files section for some additional functionality.  Recommended for FO3/FNV.
:* [http://www.nexusmods.com/oblivion/mods/42755 Blender v2.49b Portable] by '''Room207''' is also a "complete" package that is preferred by some for it's convenience.  Includes:
+
:* [http://www.nexusmods.com/oblivion/mods/42755 Blender v2.49b Portable] by '''Room207''' is also a "complete" package that is preferred by some for it's convenience and because it is patched so that vertex normals won't be regenerated when going into ''edit'' mode, which is one of the reasons why a neck seam is produced.  Includes:
 
::: Python 2.6.6
 
::: Python 2.6.6
 
::: Pyffi 2.1.11
 
::: Pyffi 2.1.11
Line 77: Line 77:
 
::: [http://www.nexusmods.com/oblivion/mods/45019/? Blender TRI file scripts and Tutorial] by '''Kapaer and Deedes'''
 
::: [http://www.nexusmods.com/oblivion/mods/45019/? Blender TRI file scripts and Tutorial] by '''Kapaer and Deedes'''
 
:* [[Installation_of_Blender|Installation of Blender]] (Wiki article.)
 
:* [[Installation_of_Blender|Installation of Blender]] (Wiki article.)
* [http://www.mwgfx.co.uk/programs/dxtbmp.htm DXTBmp Texture Tool] (freeware.) Images can be passed to any Paint program for editing in 24 bit and then re-imported and saved in any of the 16/24/32 bit formats.  Transparency (Alpha) channel of textures can be viewed and edited separately from the main image.
+
* [http://www.mwgfx.co.uk/programs/dxtbmp.htm DXTBmp Texture Tool] (freeware).  Images can be passed to any Paint program for editing in 24 bit and then re-imported and saved in any of the 16/24/32 bit formats.  Transparency (Alpha) channel of textures can be viewed and edited separately from the main image.
 
* [http://www.gimp.org/ GIMP: GNU Image Manipulation Program] (freeware.) A cross-platform image (texture) editor available for GNU/Linux, OS X, Windows and more operating systems.  Provides extensions through integration with many programming languages including '''Scheme, Python, Perl,''' and more.  The result is a high level of customization as demonstrated by the large number of scripts and plug-ins created by the community.  
 
* [http://www.gimp.org/ GIMP: GNU Image Manipulation Program] (freeware.) A cross-platform image (texture) editor available for GNU/Linux, OS X, Windows and more operating systems.  Provides extensions through integration with many programming languages including '''Scheme, Python, Perl,''' and more.  The result is a high level of customization as demonstrated by the large number of scripts and plug-ins created by the community.  
 
* [http://www.nexusmods.com/newvegas/mods/61538/? Hairs - Eyes - Races Auto - Patcher] (Mod.) Extracts all the hair / eyes / races records from every plugin loaded in your load order - then, it rewrites the list of eyes and hairs for every race found. So, if you untick / unflag a hair mod from your load order, these records won't be loaded by the game itself and consequently won't be found by this mod because they don't exist.
 
* [http://www.nexusmods.com/newvegas/mods/61538/? Hairs - Eyes - Races Auto - Patcher] (Mod.) Extracts all the hair / eyes / races records from every plugin loaded in your load order - then, it rewrites the list of eyes and hairs for every race found. So, if you untick / unflag a hair mod from your load order, these records won't be loaded by the game itself and consequently won't be found by this mod because they don't exist.
* [http://www.darkcreations.org/testg/wiki/Category:VWD-OB LOD/VWD Overview] TESTG site wiki.
+
* [http://inkscape.org/ Inkscape Vector Graphics Editor] (freeware).  Open source flexible drawing tools, with broad file format compatibility, powerful text tool, and bezier and spiro curves.
 +
* [http://web.archive.org/web/20170713081056/http://www.darkcreations.org/testg/wiki/Category:VWD-OB LOD/VWD Overview] TESTG site wiki.
 
:* [http://www.nexusmods.com/newvegas/mods/58562 FNVLODGen] "View While Distant (VWD)"/"Level Of Detail (LOD)" landscape ''object'' generation tool.
 
:* [http://www.nexusmods.com/newvegas/mods/58562 FNVLODGen] "View While Distant (VWD)"/"Level Of Detail (LOD)" landscape ''object'' generation tool.
 
:* [http://www.nexusmods.com/newvegas/mods/61035/? Ultimate resolution landscape LODs and generator TES4LL] landscape ''mesh'' and ''texture'' LOD generation tool.
 
:* [http://www.nexusmods.com/newvegas/mods/61035/? Ultimate resolution landscape LODs and generator TES4LL] landscape ''mesh'' and ''texture'' LOD generation tool.
 
* [http://www.autodesk.com/products/maya/overview Maya] (1 month free trial, $185/month or $1470/year subscriptions, 3 yr student/educator license.)  Animation, modeling, simulation, and rendering software by '''AutoDesk'''.
 
* [http://www.autodesk.com/products/maya/overview Maya] (1 month free trial, $185/month or $1470/year subscriptions, 3 yr student/educator license.)  Animation, modeling, simulation, and rendering software by '''AutoDesk'''.
 
* [http://store.steampowered.com/app/441770/MindTex_2/ MindTex2] ($20) by '''Frozen Flame'''.  MindTex is a '''normal map''' generation utility for game developers and 3d professionals. Built to rival the competition in quality without the steep price, whether you want to generate a ''normal'', ''height'', ''specular'', ''gloss'', ''self-illumination'', ''occlusion'', or ''reflection map'', you can easily do it in seconds flat from a single source texture with MindTex.
 
* [http://store.steampowered.com/app/441770/MindTex_2/ MindTex2] ($20) by '''Frozen Flame'''.  MindTex is a '''normal map''' generation utility for game developers and 3d professionals. Built to rival the competition in quality without the steep price, whether you want to generate a ''normal'', ''height'', ''specular'', ''gloss'', ''self-illumination'', ''occlusion'', or ''reflection map'', you can easily do it in seconds flat from a single source texture with MindTex.
 +
* [http://www.nexusmods.com/newvegas/mods/66826 Mod Kit - Resource for Modders] by '''pixelhate'''.  Some nif & textures used as references in various Modding situations, including the "invisible activator".
 
* [http://www.nexusmods.com/newvegas/mods/64746 NIF tangents and binormals updater] (freeware) by '''zilav'''.  A command line tool to batch update tangents/binormals in Oblivion, Fallout 3, New Vegas, Skyrim, Skyrim Special Edition and Fallout 4 format NIF meshes.  The one in '''NifSkope''' doesn't handle degenerate normals, such as if your NIF has a lot of texture tiling. It also gives all around better results especially for people who use '''Blender''' and cannot reset the normals and smooth them because it lacks the features to do so.  
 
* [http://www.nexusmods.com/newvegas/mods/64746 NIF tangents and binormals updater] (freeware) by '''zilav'''.  A command line tool to batch update tangents/binormals in Oblivion, Fallout 3, New Vegas, Skyrim, Skyrim Special Edition and Fallout 4 format NIF meshes.  The one in '''NifSkope''' doesn't handle degenerate normals, such as if your NIF has a lot of texture tiling. It also gives all around better results especially for people who use '''Blender''' and cannot reset the normals and smooth them because it lacks the features to do so.  
 
* [http://niftools.sourceforge.net/wiki/NifSkope NifSkope] (freeware.) A graphical program that allows you to open NIF files, view their contents, edit them, and write them back out again. You can use it to quickly make changes to specific properties of a NIF file such as changing the texture, adding translucency, and more. A 3D view of the contents of the NIF file allows you to preview your changes instantly. You can even create texture templates, and import & export OBJ files. (Note: This link is the latest release and may not be the best choice for FO3/FNV.  A fully compatible version of this tool (v1.0.22) is already included in the '''Blender v2.49b package''' linked here.)  
 
* [http://niftools.sourceforge.net/wiki/NifSkope NifSkope] (freeware.) A graphical program that allows you to open NIF files, view their contents, edit them, and write them back out again. You can use it to quickly make changes to specific properties of a NIF file such as changing the texture, adding translucency, and more. A 3D view of the contents of the NIF file allows you to preview your changes instantly. You can even create texture templates, and import & export OBJ files. (Note: This link is the latest release and may not be the best choice for FO3/FNV.  A fully compatible version of this tool (v1.0.22) is already included in the '''Blender v2.49b package''' linked here.)  
Line 97: Line 99:
 
:* [http://www.nexusmods.com/skyrim/mods/6843/? Paint: The Normal Map Tools] by '''Goujosamma''' for Paint.NET.
 
:* [http://www.nexusmods.com/skyrim/mods/6843/? Paint: The Normal Map Tools] by '''Goujosamma''' for Paint.NET.
 
* [http://www.nexusmods.com/newvegas/mods/57245/? Ptolemy Maps for New Vegas] by '''Rocketeer''' and '''Alan Broad''' is a robust suite of tools for creating and organizing 'world map' locations based on their type, faction, importance, etc.
 
* [http://www.nexusmods.com/newvegas/mods/57245/? Ptolemy Maps for New Vegas] by '''Rocketeer''' and '''Alan Broad''' is a robust suite of tools for creating and organizing 'world map' locations based on their type, faction, importance, etc.
 +
* [http://www.nexusmods.com/newvegas/mods/67829 Sniff: S'Lanter's NIF Helper Tool] by '''zilav'''.  A batch NIF processing tool intended for intelligent S'Lanters.
 +
:* Available operations (initial release):
 +
::* Update tangents and binormals - recalculate tangents, binormals and optionally normal vectors in shapes using modified Unity's code.
 +
::* Search and replace assets - perform search and replace on assets paths (textures and other referenced files) in meshes
 +
::* Convert strips to shapes - the same as Triangulation spell in NifSkope
 +
::* Attach parent NiNode - the same as Attach Parent in NifSkope applied to NiNode or it's descendants with defined name
 +
::* Jamilla's anim thing - no idea, made by request
 +
::* Weijiesen's blow up thing - no idea, made by request
 +
::* Copy anim controlled blocks - copy missing controlled blocks between *.kf animation files
 +
::* Update parallax settings - change parallax values in shaders
 +
::* Update MOPP code - update MOPP collision code with the proper working one
 
* [http://www.buckarooshangar.com/flightgear/tut_dds.html Working with DDS/DXT Files] (HTML article) by '''Gary "Buckaroo" Neely'''.
 
* [http://www.buckarooshangar.com/flightgear/tut_dds.html Working with DDS/DXT Files] (HTML article) by '''Gary "Buckaroo" Neely'''.
  
Line 122: Line 135:
 
:* [http://geck.bethsoft.com/index.php?title=Category:Functions_(JIP) GECK: JIP Functions] (Wiki.)
 
:* [http://geck.bethsoft.com/index.php?title=Category:Functions_(JIP) GECK: JIP Functions] (Wiki.)
 
:* [http://geck.bethsoft.com/index.php?title=Category:Functions_(Lutana) GECK: Lutana (LN) Functions] (Wiki.)
 
:* [http://geck.bethsoft.com/index.php?title=Category:Functions_(Lutana) GECK: Lutana (LN) Functions] (Wiki.)
* [http://www.nexusmods.com/skyrim/mods/39434/? NMM Installer Tutorial - FOMOD - FOMM] by XunAmarox
+
* [http://www.nexusmods.com/skyrim/mods/39434/? NMM Installer Tutorial - FOMOD - FOMM] by '''XunAmarox'''.
* [http://www.nexusmods.com/skyrim/mods/41440/? NMM ModuleConfig Creator] by Twilightassassin
+
* [http://www.nexusmods.com/skyrim/mods/41440/? NMM ModuleConfig Creator] by '''Twilightassassin'''.
* [http://www.nexusmods.com/skyrim/mods/33797/? NMM Tracelog Help] by Thorne67
+
* [http://www.nexusmods.com/skyrim/mods/33797/? NMM Tracelog Help] by '''Thorne67'''.
 
* [http://notepad-plus-plus.org/ Notepad++] (freeware.) Source code editor.
 
* [http://notepad-plus-plus.org/ Notepad++] (freeware.) Source code editor.
:* [http://www.nexusmods.com/skyrim/mods/33271/? BAIN User Defined Language for Notepad++] by The_Catman
+
:* [http://www.nexusmods.com/skyrim/mods/33271/? BAIN User Defined Language for Notepad++] by '''The_Catman'''.
 
:* [http://www.nexusmods.com/newvegas/mods/62793/? Notepad++ Syntax Highlighter] (freeware) by '''DoctaSax'''. "Language" Plugin for GECK editor syntax.
 
:* [http://www.nexusmods.com/newvegas/mods/62793/? Notepad++ Syntax Highlighter] (freeware) by '''DoctaSax'''. "Language" Plugin for GECK editor syntax.
 +
* [http://www.nexusmods.com/newvegas/mods/67395 RuntimeScriptProfiler] by '''lStewieAl - shadeMe'''.  An NVSE plugin to profile script execution. Ported from '''shadeMe''''s '''Oblivion''' plugin.
 +
* [http://www.nexusmods.com/newvegas/mods/62777 Unlocked MCM - Advanced MCM script templates] by '''DoctaSax'''.  Script templates for complex but lean [http://www.nexusmods.com/newvegas/mods/42507 Mod Configuration Manager (MCM)] menus using array maps. Switches MCM scripting from a static to a dynamic system that can be altered at any time in-game. Minimizes script size and overhead.
  
 
=== <span id="Sound_and_Voice_Tools"></span>Sound and Voice Tools ===
 
=== <span id="Sound_and_Voice_Tools"></span>Sound and Voice Tools ===
Line 136: Line 151:
  
 
=== <span id="Misc_Other_Tools"></span>Misc Other Tools ===
 
=== <span id="Misc_Other_Tools"></span>Misc Other Tools ===
 +
* [http://cs.elderscrolls.com/index.php?title=Category:Oblivion_XML Category:Oblivion XML] Basic Bethesda XML documentation.
 +
:* [http://www.nexusmods.com/newvegas/mods/67470 The HUD Editor] Mod by '''IntenseMute'''.
 
* [http://darnified.net/forums/community/ DarNified Forum Community] site.  Articles and questions on XML for the User Interface (UI) and Menus, primarily about the Oblivion version of DarNUI but there is a section for FO3.
 
* [http://darnified.net/forums/community/ DarNified Forum Community] site.  Articles and questions on XML for the User Interface (UI) and Menus, primarily about the Oblivion version of DarNUI but there is a section for FO3.
 
* [http://www.nexusmods.com/newvegas/mods/62796/? Gamesettings profiler] Mod.  Adds intuitive, app-like, modding tool for debugging, testing, profiling, and dumping\printing to file any numeric GMST (gamesettings) records.
 
* [http://www.nexusmods.com/newvegas/mods/62796/? Gamesettings profiler] Mod.  Adds intuitive, app-like, modding tool for debugging, testing, profiling, and dumping\printing to file any numeric GMST (gamesettings) records.
 
* [http://www.nexusmods.com/skyrim/mods/60733/? Tree LOD billboard creator for xLODGen] by zilav
 
* [http://www.nexusmods.com/skyrim/mods/60733/? Tree LOD billboard creator for xLODGen] by zilav
 
* [http://www.nexusmods.com/newvegas/mods/34703/? xEdit/FNVEdit] (freeware.) A generic tool called '''xEdit''' which is renamed for working with specific games.  The latest "stable" release is on the Nexus, generally under the game name version or as "TES5Edit".
 
* [http://www.nexusmods.com/newvegas/mods/34703/? xEdit/FNVEdit] (freeware.) A generic tool called '''xEdit''' which is renamed for working with specific games.  The latest "stable" release is on the Nexus, generally under the game name version or as "TES5Edit".
:* [http://afkmods.iguanadons.net/index.php?/topic/3750-wipz-tes5edit/& xEdit discussion page] contains links to latest '''''UPDATES''''' "development/test" and '''''DOWNLOAD''''' "experimental (bleeding edge)" versions.
+
:* [https://www.afkmods.com/index.php?/topic/3750-wipz-tes5edit/& xEdit discussion page] contains links to latest '''''UPDATES''''' "development/test" and '''''DOWNLOAD''''' "experimental (bleeding edge)" versions.
 
:* [http://tes5edit.github.io/docs/index.html Tome of xEdit] Current Online manual for all games.
 
:* [http://tes5edit.github.io/docs/index.html Tome of xEdit] Current Online manual for all games.
 
:* [http://www.nexusmods.com/newvegas/mods/38413/? xEdit/FNVEdit Training Manual] (PDF.) Older docs that generally apply to all '''xEdit''' versions for other games.
 
:* [http://www.nexusmods.com/newvegas/mods/38413/? xEdit/FNVEdit Training Manual] (PDF.) Older docs that generally apply to all '''xEdit''' versions for other games.
Line 151: Line 168:
 
* [http://tesalliance.org/forums/index.php?/forum/81-the-enclave/ TESAlliance: The Enclave] for tutorials covering most subjects and tools that apply still to the Fallout series.
 
* [http://tesalliance.org/forums/index.php?/forum/81-the-enclave/ TESAlliance: The Enclave] for tutorials covering most subjects and tools that apply still to the Fallout series.
 
* [http://geck.bethsoft.com/index.php?title=Main_Page Garden of Eden Construction Kit (GECK)] for Fallout 3 (2008) and Fallout: New Vegas} (2010).
 
* [http://geck.bethsoft.com/index.php?title=Main_Page Garden of Eden Construction Kit (GECK)] for Fallout 3 (2008) and Fallout: New Vegas} (2010).
* [http://geck.technodeep.net/index.php/Main_Page Community GECK Wiki] for Fallout 3 (2008) and Fallout: New Vegas} (2010).
+
* [http://geckwiki.com/index.php?title=Main_Page Community GECK Wiki] for Fallout 3 (2008) and Fallout: New Vegas} (2010).
  
 
(TES5: Skyrim came after all of those (2011) and uses a different variation of the game and script engine.)  So, don't neglect those older wikis as resources.  Where there appears to be a conflict, assume the later wiki or the one specific to your game is correct.
 
(TES5: Skyrim came after all of those (2011) and uses a different variation of the game and script engine.)  So, don't neglect those older wikis as resources.  Where there appears to be a conflict, assume the later wiki or the one specific to your game is correct.
Line 220: Line 237:
 
background-color:#333333;padding:3px;
 
background-color:#333333;padding:3px;
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
">Note that there is a 16 MB limit (that no one ever tells you about) for references (i.e. "objects") in mods. If your mod gets larger than 16 MB and you add an object or an NPC, your mod will be permanently broken. It will crash the game and will crash the GECK if you try to load it.
+
">Note that there is a 16 MB limit (that no one ever tells you about) for references (i.e. "objects") in mods. If your mod gets larger than 16 MB and you add an object or an NPC, your mod will be permanently broken. It will crash the game and will crash the '''GECK''' if you try to load it.
  
 
Here's why: Ever notice that all objects in the game have a ref ID that is two digits to refer to the mod number (called the "mod index"), followed by six digits for the actual ref ID? In other words, the ref ID for water is "000151a3", where "00" is the mod index indicating it is from '''Fallout.ESM''' and "0151a3" is apparently the '''''offset''''' into the file. The largest six digit hex number you can have is FFFFFF, which is 16 MB (minus 1). That's where the 16 MB limit comes from.  
 
Here's why: Ever notice that all objects in the game have a ref ID that is two digits to refer to the mod number (called the "mod index"), followed by six digits for the actual ref ID? In other words, the ref ID for water is "000151a3", where "00" is the mod index indicating it is from '''Fallout.ESM''' and "0151a3" is apparently the '''''offset''''' into the file. The largest six digit hex number you can have is FFFFFF, which is 16 MB (minus 1). That's where the 16 MB limit comes from.  
Line 226: Line 243:
 
The two digit "mod index" at the front means that you can theoretically have 256 mods, though this game breaks once you get to about 130-140 or so.  The "FF" mod index is reserved for "dynamically placed" objects in the game and these are preserved in the "save game" files.  You (as a "mod creator") cannot directly address these "FF" references as they only exist in game memory at run time.
 
The two digit "mod index" at the front means that you can theoretically have 256 mods, though this game breaks once you get to about 130-140 or so.  The "FF" mod index is reserved for "dynamically placed" objects in the game and these are preserved in the "save game" files.  You (as a "mod creator") cannot directly address these "FF" references as they only exist in game memory at run time.
  
Anything with a base/ref ID has to be under that 16 MB reference limit or it breaks. Things that don't have a ref ID (navmeshes, landscape textures, etc.) can be placed without regard to the 16 MB limit. Since your ambitious "overhaul" is likely going to be a fairly large mod, you might want to make all of your object/NPC changes first, then add dialog, navmesh, and similar non-reference changes last.
+
Anything with a base/ref ID has to be under that 16 MB reference limit or it breaks. Things that don't have a ref ID (''navmeshes, landscape textures'', etc.) can be placed without regard to the 16 MB limit. Since your ambitious "overhaul" is likely going to be a fairly large mod, you might want to make all of your object/NPC changes first, then add ''dialog'', ''navmesh'', and similar ''non-reference changes'' last.
 +
 
 +
So the big question then becomes how are you creating your ESM? If you are creating an ESP and then are using '''FNVEdit''' to convert it to an ESM, the '''GECK''' will add things to your ESP in the order that you create them. If you are creating ''worldspaces'', the data for a worldspace landscape can easily be more than 10 MB. Add in your ''navmesh'' and other things and you can easily get over 16 MB. Add anything with an ID after that, and your mod breaks completely, with no warning whatsoever from the '''GECK'''. The '''GECK''' will happily save it without warning, but then if you try to load it in the game, it crashes the game. Go back to the '''GECK''' to fix it, and it crashes the '''GECK'''. Better hope you have an older version of your mod to go back to at that point. Otherwise, you're hosed.
 +
 
 +
Things that don't have an ID number (''conversation topics, landscape data, navmesh data'', etc) can all be placed above the 16 MB boundary. Just keep in mind that if you add anything with an ID number once your mod exceeds 16 MB, the '''GECK''' puts it at the end of your file and you permanently break your mod.
 +
 
 +
If you are using the '''GECK''' in ''networked developer mode'' (see [https://geckwiki.com/index.php?title=Version_Control Version Control]) instead of in ''single user mode'' the way that most people use it, and you use ''version control'' to check in your changes, then it automatically puts new things with ID numbers down well below the 16 MB boundary when you check in your changes to the ESM.  The ESP that you are merging in to create or add to your ESM can't have anything with an ID above its 16 MB boundary, but the '''GECK''' will put those IDs in the lower 16 MB of your ESM during check in, so that tends to only be an issue with the ESP that you are merging in, and not an issue with the resultant ESM.
 +
 
 +
16 MB worth of stuff with ID numbers is a HUGE amount of stuff. Experienced modders have never come anywhere close to any limits with it.
 +
 
 +
Aside from the 16 MB limit, we are not aware of any other limit with respect to things like recipes and lists; never having managed to create one that's big enough for it to be an issue. There's a ''formlist'' called "everything" which has over 1500 entries in it, so the limit for ''formlist'' entries is definitely higher than 1500.  Suspect that you'll break things long before you reach the 16 MB limit, though.  Things tend to break on powers of 2, especially at character and short integer size boundaries (255 and 65535), or at exactly half of that due to one bit being used for a sign bit (128 or 32767).
 +
 
 +
Scripts are limited to 32k characters. Comments and whitespace are counted in that size limit.
 +
 
 +
Exterior ''worldspace'' cells are limited to something like 128x64 or maybe 128x128 (don't recall which) or the game engine goes wonky. Again, the '''GECK''' will happily create a ''worldspace'' with more cells than this, and doesn't warn you that things will break. But the game's physics engine will totally fail if anything is placed outside of those limits.
 
</div>
 
</div>
  
Line 263: Line 294:
  
 
"Base ID is the number assigned to a template for an object that is used to create many instances of that object. For example all bottle caps in the game have exactly the same Base ID. This ID is used in scripts or the console with commands that create new instances of an object, like ''additem'' or ''placeatme''." - [http://fallout.gamepedia.com/Form_ID Form-ID on The Vault wiki].  You could think of it as the "parent" of each "child reference".  Any change made to a Base-ID affects '''''every''''' reference back to that Base-ID.  Which is why you need to make a "copy" of a Base-ID and change it's Editor-ID (which forces a change to the Form-ID) when you need to make a variation of an object.  Otherwise you are changing ALL instances of that object in the game.  (Don't try to change a Form-ID directly yourself.  Let the GECK handle it.)
 
"Base ID is the number assigned to a template for an object that is used to create many instances of that object. For example all bottle caps in the game have exactly the same Base ID. This ID is used in scripts or the console with commands that create new instances of an object, like ''additem'' or ''placeatme''." - [http://fallout.gamepedia.com/Form_ID Form-ID on The Vault wiki].  You could think of it as the "parent" of each "child reference".  Any change made to a Base-ID affects '''''every''''' reference back to that Base-ID.  Which is why you need to make a "copy" of a Base-ID and change it's Editor-ID (which forces a change to the Form-ID) when you need to make a variation of an object.  Otherwise you are changing ALL instances of that object in the game.  (Don't try to change a Form-ID directly yourself.  Let the GECK handle it.)
 +
 +
''Base forms'' (another way of referring collectively to "Base-IDs") are fine to use in scripts, by the way.  They're just used in different situations by various functions.  For example: The ''StopQuest'' function will always operate on the ''base form'' of the quest.  The same with anything involving [http://geckwiki.com/index.php?title=Form_List Form Lists].  But you wouldn't want to use a ''base form'' when you only want to affect a specific instance ("reference") of an object.  AGAIN: Actions on a ''base form'' affect ALL instances of that form.
  
 
"A Reference ID is a FormID assigned automatically to a Reference [instance] by the GECK when an object is placed in the Render Window [in the right pane of the GECK].  Reference IDs are required to uniquely identify each instance of an object in-game. The Form ID column of the Cell View window lists Reference IDs" - GECK Glossary.
 
"A Reference ID is a FormID assigned automatically to a Reference [instance] by the GECK when an object is placed in the Render Window [in the right pane of the GECK].  Reference IDs are required to uniquely identify each instance of an object in-game. The Form ID column of the Cell View window lists Reference IDs" - GECK Glossary.
Line 273: Line 306:
  
 
Note it is the ''persistent flag'' on the Reference that is mandatory in order for a RefID to become included in the search list for scripts/targets/whatever.  (See [http://geck.foesmm.org/index.php/Creating_a_New_Persistent_Reference GECK: Creating New Persistent Reference].)  Otherwise the list of refs to search through would be way too huge and cause engine lag.
 
Note it is the ''persistent flag'' on the Reference that is mandatory in order for a RefID to become included in the search list for scripts/targets/whatever.  (See [http://geck.foesmm.org/index.php/Creating_a_New_Persistent_Reference GECK: Creating New Persistent Reference].)  Otherwise the list of refs to search through would be way too huge and cause engine lag.
 +
 +
<span id="MapIsNotTerrain"></span>
 +
====The Map is not the Terrain and the ID is not the Record Number====
 +
 +
It is common to refer to the text form of the "IDs" for records ("Editor-ID", "Rec-ID", "Form-ID", and "Base-ID") as if they were the record identifiers used by the engine.  These are "labels" given (or not) by each mod author when they create the record solely for the benefit of us "numerically challenged humans".  For this reason, it is assumed they must be unique between plugins.  While this is a good practice, and something to be encouraged for the benefit of those searching out records by those references in tools such as '''GECK''' or '''xEdit''', it is important to understand that, like a "map", the text labels for those records are not the actual "terrain"; nor the "record number" actually used by the game engine.  It can't afford to leave something that critical up to fallible humans.  The '''GECK''' automatically assigns "record numbers" sequentially when you create a new record, and the "mod index" hexadecimal pair at the beginning of that record, consisting of the "current load order index" of the plugin makes it unique between plugins.  (See [http://fallout.wikia.com/wiki/Help:Form_IDs Help:Form IDs] for an explanation of how to interpret the "mod index" from a Form-ID or record number.)
 +
 +
Think about that for a minute.  The '''GECK''' only knows about plugin files you chose to load for that editting session.  Typically that will consist of the "FalloutNV" EXE and ESM, possibly some DLC if your plugin requires assets from it, and the plugin you are working on.  How is it going to know what other plugin "ID" text labels there are to determine yours are unique?  From one session to another you might load a different series of plugins.  It can't predict that "load order" for certain, and the '''GECK''' itself doesn't care.  Which is why the "mod index" couplet at the beginning of the record number is so clever and crucial to ensure uniqueness between plugins. 
 +
 +
This is proven out by examining any record in '''xEdit''': the "ID" label is a text data field within the record, just like any other "value".  (For example: the "Script" record variable "SLSD - Local Variable Data" identifies each "variable name" based upon it's "index value" within an array of variables specific to that script with the "text name" stored as "SCVR - Name" data.  You have to identify the "record number" before you can determine the "text name"; and not the other way around.)  A test was conducted to confirm that the text "Ref-ID" label did not have to actually be "unique" between plugins.  The same "Ref-ID" label was given to the same object in two different plugins, and the game had no problems differentiating between the two.  Not even when one plugin removed the "persistent object" by the "Ref-ID" they had in common, the same object from the other plugin was unaffected.  It did not matter if one plugin was made dependent upon the other.  Because they were records from different plugins, the engine could tell them apart.
 +
 +
Consequently, always bear in mind that when someone is speaking in terms of one of the forms of "ID", they are often meaning "as a way of identifying the specific record number".
 +
  
 
<span id="Tip-refVar"></span>
 
<span id="Tip-refVar"></span>
 +
 
====TIP Reference Variables explained====
 
====TIP Reference Variables explained====
 
: Thanks to '''vforvic''' of the Nexus "Fallout 3 Mod Talk" forum for the basis of the following:
 
: Thanks to '''vforvic''' of the Nexus "Fallout 3 Mod Talk" forum for the basis of the following:
Line 360: Line 406:
  
 
"According to the layout of this system, the maximum number of additional modules that can be loaded by the game is 254 (256 load order ranges, - 1 for the Savegame FF range, - 1 for the always-mandatory Fallout3.esm/FalloutNV.esm)." - [http://fallout.gamepedia.com/Form_ID Form-ID on The Vault wiki]
 
"According to the layout of this system, the maximum number of additional modules that can be loaded by the game is 254 (256 load order ranges, - 1 for the Savegame FF range, - 1 for the always-mandatory Fallout3.esm/FalloutNV.esm)." - [http://fallout.gamepedia.com/Form_ID Form-ID on The Vault wiki]
 +
 +
: '''FiftyTifty''' added the following advice:
 +
Let's suppose you have a number of Actors you don't want active until your quest reaches a certain "stage".  Then you want a script for them to [http://geckwiki.com/index.php?title=OnLoad Begin OnLoad].  But "OnLoad" will not run on anything "disabled".  (See the "Notes" on that page and also [http://geckwiki.com/index.php?title=Running_an_OnLoad_block_on_a_disabled_item Running an OnLoad block on a disabled item].)  You need some sort of "switch" to enable them.
 +
 +
Rather than enabling each actor individually, set the placed ''actor references'' to have the same ''parent reference'': a dummy trigger object you place in the cell. Then when you want the actors to be enabled, just enable the ''parent reference'' object in your script (as in:
 +
<pre>
 +
actorrefParent.Enable()
 +
</pre>
 +
 +
See the GECKWiki page [http://geckwiki.com/index.php?title=Reference#Enable_Parent Enable Parent] entry.
 
</div>
 
</div>
  
 
<span id="Tip-GlobVar"></span>
 
<span id="Tip-GlobVar"></span>
 +
 
==== TIP Global ref variables '''Player''' and '''PlayerREF''' ====
 
==== TIP Global ref variables '''Player''' and '''PlayerREF''' ====
 
: Thanks to '''DoctaSax''' of the Nexus Fallout "New Vegas GECK and Modders" forum for the basis of the following:
 
: Thanks to '''DoctaSax''' of the Nexus Fallout "New Vegas GECK and Modders" forum for the basis of the following:
Line 373: Line 430:
 
white-space: -o-pre-wrap;    /* Opera 7+ */
 
white-space: -o-pre-wrap;    /* Opera 7+ */
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
">According to the Community GECK site, "[http://geck.technodeep.net/index.php/Player Player] is used to describe several things, sometimes simultaneously."  Among them is: "A scripting keyword that is effectively a global [http://geck.technodeep.net/index.php/Reference_variables reference variable] that resolves to the Actor reference described above."
+
">According to the Community GECK site, "[http://geckwiki.com/index.php?title=Player Player] is used to describe several things, sometimes simultaneously."  Among them is: "A scripting keyword that is effectively a global [http://geckwiki.com/index.php?title=Reference_variables reference variable] that resolves to the Actor reference described above."
  
The [http://geck.technodeep.net/index.php/Ref_Variable Ref Variable] page only uses "'''PlayerREF'''" for checking that a locally defined ref variable is that specific Actor "formid" reference.  It cautions regarding using a base form reference: "Beware that this is still a base form and may not be used as the [http://geck.technodeep.net/index.php/Calling_reference calling reference] to functions that allows this syntax, although it may be passed as the target if the function permits this.
+
The [http://geckwiki.com/index.php?title=Ref_Variable Ref Variable] page only uses "'''PlayerREF'''" for checking that a locally defined ref variable is that specific Actor "formid" reference.  It cautions regarding using a base form reference: "Beware that this is still a base form and may not be used as the [http://geckwiki.com/index.php?title=Calling_reference calling reference] to functions that allows this syntax, although it may be passed as the target if the function permits this.
  
 
The combination of those statements suggest that it is a poor practice to assume the variable "'''Player'''" refers to the PC Actor formid at any given moment without checking first.  And "[PlayerRef].< function >" syntax implies that "[PlayerRef]" is an abstraction of a locally initialized (e.g. "set myPlayerRef = '''PlayerREF'''") variable.  The following hopefully clears this up.
 
The combination of those statements suggest that it is a poor practice to assume the variable "'''Player'''" refers to the PC Actor formid at any given moment without checking first.  And "[PlayerRef].< function >" syntax implies that "[PlayerRef]" is an abstraction of a locally initialized (e.g. "set myPlayerRef = '''PlayerREF'''") variable.  The following hopefully clears this up.
Line 495: Line 552:
 
:*Set "Max Linear Velocity" to "1068".  
 
:*Set "Max Linear Velocity" to "1068".  
 
:*Set "Max Angular Velocity" to "31.5700".   
 
:*Set "Max Angular Velocity" to "31.5700".   
:Now the weapon should drop to the ground.  
+
:The weapon should now drop to the ground. NOTE: If you don't see these options either you are looking under the wrong '''node''' or are using a version of '''NifSkope''' other than the one recommended up under the [[#Programs_and_Tools|Programs and Tools]] section.
 +
:''Mopp shapes'' are used for '''static collisions''' (i.e. anything that doesn't move: like fences, walls, etc.). They can be used for movable objects, but are far more performance intensive (depends on the collision poly count) than '''convex''' or '''box''' shapes.
 +
 
 +
:The ''BSXFlags'' entry is crucial to this behavior.  It must be found / placed under the '''BSFadeNode''' in '''NifSkope'''.  You need to have the '''Use BSFadeNode Root''' option checked in your "paint" type program when exporting the NIF. (It's on the upper right area of the '''NIF Export''' options of '''Blender'''.)
  
:For other object types, look in NIF.XML located in the '''Blender foundation\blender\.blender\scripts\bpymodules\pyffi\formats\nif\''' folder or the '''NifSkope''' documentation files in the "Doc" folder of it's installation folder. Search for ''bhkRigidBody''. It has a good listing and some simple explanations of the options.  
+
:For other object types, look in NIF.XML located in the '''Blender foundation\blender\.blender\scripts\bpymodules\pyffi\formats\nif\''' folder or the '''NifSkope''' documentation files in the "Doc" folder of it's installation folder. Search for ''bhkRigidBody''. It has a good listing and some simple explanations of the options.
 
</div>  
 
</div>  
 
&nbsp;
 
&nbsp;
  
 
<span id="Tip-HeadPartsRotated"></span>
 
<span id="Tip-HeadPartsRotated"></span>
 +
 
==== TIP Head Parts Rotated ====
 
==== TIP Head Parts Rotated ====
 
It's not known why head parts changed between FO3 and FNV, considering that so much else in the game engine is identical, but they did. If you port a head part (hat, glasses, facemask, etc) from FO3 to FNV or from FNV to FO3, or make a new open helmet/hat/head accessory that uses a existing mesh, whether it's a simply a clone or a retexture, it tends to equip sideways (rotated by 90 degrees).
 
It's not known why head parts changed between FO3 and FNV, considering that so much else in the game engine is identical, but they did. If you port a head part (hat, glasses, facemask, etc) from FO3 to FNV or from FNV to FO3, or make a new open helmet/hat/head accessory that uses a existing mesh, whether it's a simply a clone or a retexture, it tends to equip sideways (rotated by 90 degrees).
Line 555: Line 616:
 
<span id="MashingMeshes"></span>
 
<span id="MashingMeshes"></span>
 
==== TIP Mashing Meshes ====
 
==== TIP Mashing Meshes ====
:Thanks to '''madmongo''', '''M48A5''', and 'RoyBatterian'''of the Nexus Fallout "New Vegas Mod Troubleshooters" forum for the basis of the following:'''  
+
:Thanks to '''madmongo''', '''M48A5''', and '''RoyBatterian''' of the Nexus Fallout "New Vegas Mod Troubleshooters" forum for the basis of the following:'''  
 
<div class="boilerplate metadata" id="Notice_Box" style="margin:0px 10px 10px 10px;  border:1px dashed #DAA520;  color: lightgray;  background-color:#333333;  padding:3px;  word-wrap: break-word">Suppose for example you want to place the model of a particular pistol into a holster for display purposes. (This "pistol" will not be usable. It's for aesthetic purposes only.) Some call this process "mashing" two meshes together (e.g. mashing the pistol into the holster). The process is similar for other sorts of "mashing".  
 
<div class="boilerplate metadata" id="Notice_Box" style="margin:0px 10px 10px 10px;  border:1px dashed #DAA520;  color: lightgray;  background-color:#333333;  padding:3px;  word-wrap: break-word">Suppose for example you want to place the model of a particular pistol into a holster for display purposes. (This "pistol" will not be usable. It's for aesthetic purposes only.) Some call this process "mashing" two meshes together (e.g. mashing the pistol into the holster). The process is similar for other sorts of "mashing".  
 
The basic procedure is first go into '''NifSkope''' and remove all of the unneeded "animations" and "collision" and such so that you are left with just the (in this instance: "weapon") source mesh. Save that to some new nif (you can delete this temporary nif later).
 
The basic procedure is first go into '''NifSkope''' and remove all of the unneeded "animations" and "collision" and such so that you are left with just the (in this instance: "weapon") source mesh. Save that to some new nif (you can delete this temporary nif later).
Line 572: Line 633:
  
 
(You can do the same basic thing to make a wearable rifle slung over your back. Just edit the rifle's mesh so that it is located on the back where you want it, and weight it 100 percent to the spine bone. If I recall correctly, the spine bone you want is just the one called spine, not spine1 or spine2.)
 
(You can do the same basic thing to make a wearable rifle slung over your back. Just edit the rifle's mesh so that it is located on the back where you want it, and weight it 100 percent to the spine bone. If I recall correctly, the spine bone you want is just the one called spine, not spine1 or spine2.)
 +
 +
'''aghjax''' adds:
 +
<div class="boilerplate metadata" id="Notice_Box" style="margin:0px 10px 10px 10px;  border:1px dashed #DAA520;  color: lightgray;  background-color:#666666;  padding:3px;  word-wrap: break-word">
 +
When your '''NifSkoped''' mashup CTDs: "You very likely broke some branch dependencies. You have to compare them to a working NIF preferably from the [sources] you used to see what is out of place. And make sure you don't have duplicate ''Scene Roots''."
 +
</div>
 
</div>  
 
</div>  
 
&nbsp;
 
&nbsp;
 +
 +
<span id="Tip-MultiSceneRoots"></span>
 +
==== TIP Mashing Meshes - Fix multiple SceneRoots ====
 +
: Thanks to '''madmongo''', '''M48A5''', and '''AusAllerWelt''' of the Nexus Fallout "New Vegas GECK and Modders" forum for the basis of the following:
 +
<div name="Note Box" class="boilerplate metadata" id="Notice Box"
 +
style="margin:0px 10px 10px 10px;border:1px dashed #DAA520;color: lightgray;
 +
background-color:#333333;padding:3px;
 +
word-wrap: break-word;      /* Internet Explorer 5.5+ */
 +
">When attempting to "mashup" a custom mesh such as armor from parts of other different meshes, sometimes it looks just fine in '''NifSkope''', but all "stretchy" and "weird" in the '''GECK'''.
 +
 +
This is usually an indication that the "bone weights" of the "mesh rigging" to the "armature" (AKA "skeleton") are off.  This is primarily avoided by ensuring the outfits you are copying bits from all use the same armature/skeleton.
 +
 +
However, you might end up with multiple ''Scene_Root'' nodes (visible in '''NifSkope''') as the result of combining parts from different mesh NIF files in '''Blender''' (or your mesh editor of choice).  This can happen when you copy not just the specific ''blocks'' but the entire ''NiNode'' between meshes.  There should only be one ''Scene_Root'' node and it should be at the top of the NIF in '''NifScope'''.  Make sure you copy ''branches'' (''NiTriShape''s) from one NIF to the other. You should end up with a single ''Scene_Root'' and all of the various bones and mesh bits under that.
 +
 +
You can correct this problem by ensuring you remove all the armatures in the end ("Remove Branch" in '''NifScope''', or similar command in your mesh editor), and import the desired skeleton again so you only have one ''Scene_Root''/armature. If the mesh still has two after the export to a NIF you can just select the ''NiNode'' (in '''NifSkope''') that contains all parts of the mesh and use "Crop to Branch" and then rename it to ''Scene_Root''.
 +
 +
It's generally better to work on your new meshes in your mesh editor of choice, because you have more control over what you want to do and can also fix weighting issues that may arise by mashing parts of different outfits together. If you plan on making more "mashups", it's best to consider learning how to work with your mesh editor.  It's always better to use the correct tool designed for the task instead of trying to force a different one to do something not intended (like driving screws with a hammer: it will ''probably'' work; just not as well).
 +
</div>
  
 
<span id="Tip-MovableObjects"></span>
 
<span id="Tip-MovableObjects"></span>
 +
 
==== TIP Movable or Static custom objects in cell ====
 
==== TIP Movable or Static custom objects in cell ====
 
:Thanks to '''madmongo''', '''davidlallen''', and '''Tefnacht''' of the Nexus Fallout "New Vegas Mod Talk" forum for the basis of the following:  
 
:Thanks to '''madmongo''', '''davidlallen''', and '''Tefnacht''' of the Nexus Fallout "New Vegas Mod Talk" forum for the basis of the following:  
Line 706: Line 791:
  
 
Assuming you want to make your own landscape from scratch, the first step is just creating the world space. Click on "World | World Spaces" in the GECK, and when that form comes up, just click "New" on the left hand side to give your new region a name, and fill in the blanks. Exit out of that, and save your mod, because the next step will usually crash the GECK.
 
Assuming you want to make your own landscape from scratch, the first step is just creating the world space. Click on "World | World Spaces" in the GECK, and when that form comes up, just click "New" on the left hand side to give your new region a name, and fill in the blanks. Exit out of that, and save your mod, because the next step will usually crash the GECK.
+
 
<span id="Tip-CenterOn"></span>
+
<span id="Tip-WorldspaceHiLites"></span>
====TIP Center_On_Cell '''COC''' Markers====
+
==== Highlights of the Worldspace ====
: Thanks to '''pixelhate''' of the Nexus Fallout "New Vegas GECK and Modders" forum for the basis of the following:  
+
: Thanks to '''madmongo''' of the Nexus Fallout "New Vegas GECK and Modders" forum for the basis of the following:
 
<div name="Note Box" class="boilerplate metadata" id="Notice Box"  
 
<div name="Note Box" class="boilerplate metadata" id="Notice Box"  
 
style="margin:0px 10px 10px 10px;border:1px dashed #DAA520;color: lightgray;
 
style="margin:0px 10px 10px 10px;border:1px dashed #DAA520;color: lightgray;
 
background-color:#333333;padding:3px;
 
background-color:#333333;padding:3px;
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
">Keep in mind when navigating:
+
">This is a summary of various points raised elsewhere in this section for quick reference.  Some details may vary.  Be conservative.
* '''COC <InteriorCellName>''' (Center on Cell) is a Console command that will bring you ("Player") inside a ''Interior'' cell at the spot where the '''CocMarkerHeading''' (a GECK [http://geckwiki.com/index.php/Markers Markers] reference) is placed.<br>
+
 
 +
* In FNV, the worldspace size is 128x128 cells with a heightmap for -63 to +63 in both the X and Y directions.  Weird things start to happen if you go over that size.
 +
:* The GECK's heightmap editor only displays +/- 32 in each direction, so it only shows a 64x64 heightmap. The rest of it is blacked out even though you can go to cells beyond that in the render window and see that the cells are both heightmapped and textured (just a uniform brown dirt texture).
 +
:: My GECK tends to want to crash if I get close to the edges of the map, centered on +/- 63 in either the X or Y direction.
 +
 
 +
* Keep all land height above 14,000 or you can have LOD issues.
 +
 
 +
* If you are using the landscape editor, be gentle. If you try to shape the landscape too quickly, you tend to create landscape tears.
 +
 
 +
* If you have water, don't forget to add a water texture in your worldspace. "Data\Textures\Water\wastelandwaterpotomac.dds" tends to work well for many different water types (river, lake, etc). I've never tried to make ocean water with it though.
 +
 
 +
* Don't ever place water objects in an exterior cell. You can, but that tends to break things.
 +
:* Placed water only sticks to certain Z-axis levels which are the same for every water object in that cell no matter what you do; and there's no way to have water in all 3 levels of the fountain from Dead Money, for example.
 +
:* When you add or adjust the height of a placed water object it changes the height of the water level in that cell. So just '''edit cell''' on the cell in question, reset the water level height to 0 and you're (hopefully) sorted.
 +
::* The way that you adjust water height for a cell is to view that cell in your render window, click on that cell to make sure you have it selected, then click on '''World -> Cells'''...
 +
::* If you selected the cell you want to modify, then that cell will automatically come up selected in the Cell window. From there you can change the water height and the water type.
 +
 
 +
* If you ever