Netruk44/uesp-wiki-content huggingface dataset:
Tes3Mod:Morrowind Modding Wiki/MWEdit

MWEdit is an unofficial incomplete alternate editor for Morrowind plugin files (ESPs and ESMs). It allows creating, editing and deleting records in a plugin file and has different and extra features compared to the Construction Set.

At present, other than using a hex editor, using MWEdit is the only way to compile scripts that use new, non-vanilla scripting functions - in other words, functions added by MWSE, MGE, MGE-XE or MWE. To use new functions added by the newer MWSE versions (after v0.9.4) or MGE-XE, you will have to update the customfunctions.dat text file in the MWEdit folder, for example by replacing t with the one supplied with those extenders.
:''Note: Since MWEdit is a beta program and is incomplete, it is recommended not to use it as a main general-purpose editing tool. Many types of work can be more convenient and done better in MWEdit than in the Construction Set, however, others are broken or buggy. Take care when using it for non-scripting related work. The best use of MWEdit is probably to mainly compile and edit scripts and related records, while using other tools such as Enchanted Editor, tes3cmd and the Construction Set for other kinds of work.''


See also
UESP article 
MWEdit readme/Using Guide (old version) 
An overview on modding with MWEdit, by abot 
Scripting with MWSE
Tes3Mod:Morrowind Modding Wiki/Mod Conflicts

A mod conflict is where two mods have an unintended negative interaction with each other. Even if both mods are clean (i.e. not a Dirty Mod and free of GMST Contamination) they may have modified the same object, placed objects in the same positions, or there may be some other conflict.

Resolving the Conflict
There are a few methods of resolving the conflict: changing the load order, merging the mods, using a compatibility patch.

Load Order
Some of the simpler conflicts can be resolved by simply changing which mod is loaded first within the load order. For example, Mod A deleted a rock to make way for a doorway, while Mod B simply moved the exact same rock (intentionally). The load order looks like this:

Morrowind.esm
Tribunal.esm
Bloodmoon.esm
Mod A.esp
Mod B.esp

In-game, however, you'll find that you can't access Mod A's doorway because the rock it deleted is in the way. Why has it not been removed? Because Mod B moved the rock, but not only that, it comes after Mod A in the load order. This means Mod B's changes take precedence over Mod A's. Because of this, it also means the solution to the conflict is simple: load Mod A after Mod B. It doesn't matter if there are other mods between the two of them, just so long as Mod A if after Mod B. So the new load order will look like this:

Morrowind.esm
Tribunal.esm
Bloodmoon.esm
Mod B.esp
Mod A.esp

To change the load order you will need to use a third party tool.

Merging

Compatibility Patch
::Main article: Creating a Compatibility Patch
A compatibility patch is a small mod that solves any conflicts that two mods might be having. Some authors create and release their own patches, but sometimes you will need to create your own.

External Links
UESP page on mod conflicts
Tes3Mod:Name Generator

The Name Generator randomly generates names based on gender and race. It is hosted on Tamriel Rebuilt's website.

External Links
On Tamriel Rebuilt's website
Tes3Mod:NexusMods

NexusMods is a community website that allows modders to upload and share their mods with the community. The site hosts mods from an ever expanding list of games that includes Morrowind. It also offers its own Vortex Mod Manager that's integrated with the site so that downloading is automated. However, other mod managers can take advantage of the site integration such as Mod Organizer. 

The Nexus has been active since 2001 by Robin Scott. The site was originally an Elder Scrolls fansite. The site now supports over five-hundred games and is consistently adding more. 

Nexus Mod Manager & Vortex
::Main article: Nexus Mod Manager
The Nexus Mod Manager was a free mod management tool provided by NexusMods. It is integrated with the site so that it is much more convenient to download mods. NMM was superseded by Vortex Mod Manager on February 15th, 2018. This is new software supports over sixty-five games and has built in load order sorting. Vortex is under the GPL and is fully open source. 

External Links
Website 
Morrowind subpage 
Vortex Mod Manager
Tes3Mod:Nexus Mod Manager

The Nexus Mod Manager (abbreviated to NMM) is a mod management tool provided by the Nexus sites. It cuts out the manual work of downloading, installing, and removing mods. It also allows the load order to be changed. It's currently in an open beta, and is at version 0.52.3. Because versions 0.50.0 and above are built with .NET Framework 4.5, a legacy version available to Windows XP users.

Packaging Mods for NMM
For a mod to be installed correctly by NMM, it needs all of the files inside of the distributed archive to be in the correct folder hierarchy. The top level folder represents the Data Files folder. Any plugin, master, and resource archive files are to be placed here. The next set of folders are all of the resource folders like meshes, textures, or icons. The resources that the mod needs should be placed within these folders.

External Links
Download page on the Nexus
Tes3Mod:NifSkope Hints and Tips

Here you will found many little things about NifSkope, meshes creating/editing.


Double-sided Mesh
 
Open the mesh with NifSkope, then select which face of the mesh you want to have double-sided display (repeat the process for every face you want) or you can also select the NiTriShape in the Block Details.
 Now do a right-click on it and select Node => Attach Property => NiStencilProperty
 If this node is already there, then make sure in the details of this block Draw Mode have is value to DRAW_BOTH.
 
 

Animation displaying through glass
thumbnail|right|example for a lantern
 
Open the mesh with NifSkope, then select the face of the mesh which have transparency and who hide your animation     
 or you can also select the NiTriShape in the Block Details.
 Now do a right-click on it and select Node => Attach Property => NizBufferProperty.  
 Go into the details of this new NizBufferProperty and make sure the value of its Flags is 1. 
 Repeat the process for every other faces with transparency and which is hiding your animation.
Tes3Mod:Nifskope

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.

External Links
NifSkope - NifTools
 NifSkope - NifTools Tutorials
Tes3Mod:Placing leveled items outside of containers

To place a leveled item outside of containers you have to do following steps:

1. Open CS. 
2. Place "ex_ascadianisles_sleep" leveled creature where it will be easy to find it.    
3. Open "ex_ascadianisles_sleep" leveled creature list.   
4. Delete every entry in the list except "rat".   
5. Save your plugin as "leveled item test.esp".     
6. Open the plugin in Enchanted Editor.   
7. Open "ex_ascadianisles_sleep" leveled creature list.   
8. Replace "rat" with any other object ID.   

You can also do it with tes3cmd:   

1. Open CS.    
2. Place "ex_ascadianisles_sleep" leveled creature where it will be easy to find it.    
3. Open "ex_ascadianisles_sleep" leveled creature list.   
4. Delete every entry in the list except "rat".   
5. Save your plugin as "leveled item test.esp"   
6. Download tes3cmd and extract it to your data files folder.   
7. Create a new txt file, open it and paste this:
 
8. Change the txt file extension to bat.   
9. Run the bat file. The "rat" entry in the leveled list will be replaced with "chitin club".   
10. Test your "leveled item test.esp" plugin. Now a chitin club should appear instead of a rat when player approaches "ex_ascadianisles_sleep" leveled creature.  

To modify any other leveled creature list open your bat file in a text editor and replace "ex_ascadianisles_sleep" with another leveled list ID. Replace "rat" with an ID from the leveled list and replace "chitin club" with a new object ID.
This should work with any items that player can pick up and also with activators and static objects. But there is a drawback - every new object reference will have the same position. To be able to position them you can do this: place a dummy item in a cell and attach following script to it:

 

The script uses MWSE functions so you have to use MWEdit to compile it .
Tes3Mod:Planet Elder Scrolls

Planet Elder Scrolls (abbreviated to PES) is a mod hosting site managed by IGN Entertainment. The site used to be one of the go to sites for both modders and mod users, but it has been dying a slow death over the last few years. Many of the mods that were only hosted on PES have been relocated to other sites, mostly to Morrowind Modding History.

The final death knell for the site happened on the 24th August 2012. Community moderators lost access to the CMS required to post new and validate new mods. This meant that while mods already on PES could continue to be updated, new mods could not be added to the site  name=Elaurapost> The same thing happened to memberships, existing memberships could continue to be updated, but no new ones could be created . These actions effectively killed Planet Elder Scrolls as a fully functioning mod hosting website.

Endnotes
 

External Links
Website
Tes3Mod:Storing NPC related data

Sometimes a mod needs to store some NPC related data. The simplest way to do it is to use global or local variables. And it works fine if your mod affects only a couple of NPCs. But what if you want to do something like making NPCs remember the day they met PC so you can use it in dialogue? This can be done by adding an item to NPCs' inventory. The item should be a light with no "can carry" flag so that player can not steal or loot it. But unfortunately NPCs equip  at night any light they have and when they equip a light that has no "can carry" flag they look like they are holding an invisible torch. The good news is that there is a simple workaround for this bug. The following script adds "dummy_light" object to NPCs ( the number of copies added is the day of the month they meet PC ) and makes sure they don't equip it. The script uses MWSE functions so it has to be compiled in MWedit.

 begin example_script

short state
short count
short workaround

If ( state == 0 )
	If ( GetDistance Player  getscale  setscale 3.0
	set workaround to 1		
endif 

ifx ( state )
else
	set count to day
	xadditem "dummy_light" count ; additem does not accept variables
	set state to 1
endif

ifx ( workaround )
	if ( getInterior == 1 )
		set workaround to 0     ; NPCs don't equip lights in interior cells
		return
	endif
	if ( gamehour
Tes3Mod:TES3 File Format

The file format of the esp and esm mod files is a database of records and sub-records.

Records
::Main article: File Format Records



Sub-records
::Main article: File Format Sub-Records
Each record contains several different sub-records. Each sub-record stores the different kinds of data needed by that record. For example, a MISC record (an item record) will have NAME and FNAM (there is more). NAME stores the id of the item, while FNAM stores the in-game name. Sub-records are not necessarily unique to a record; such as FNAM which can be found in many different records.

External Links
UESP page 
Dave Humphrey's List 
ESTemplate.ini 
Jim Adam's page
Tes3Mod:TES3 Readme Generator

The TES3 Readme Generator is a tool developed by Brucoms for use by modders. It's designed to help create standardized readmes for mods. It features many different sections that a readme may require, from the simple description and permission sections to load order and custom sections. Any section left empty will not be included.

It is currently on version 2.1.0.

External Links
Nexus download 
The Assimilation Lab download 
TES Alliance download
Tes3Mod:TESAME

TESAME (The Elder Scrolls Advanced Mod Editor) is a tool used by both modders and players that can clean dirty mods, and merge any two mods.

Cleaning Mods
To remove any unwanted items. Select them in the list and press Space. They get "marked". You can also Right-click on single items to mark them. Click on the Items-menu and then on Delete. Or press Delete on your keyboard. Read the list below to see which items are okay to remove.

By removing items in the list you're NOT removing them from the mod completely. A "removed" NPC can still be seen in the game. You're only making sure that the original data (in this case, NPC) are not being changed by your mod. The cells and their content stay intact. Unless you.. hehe, remove a cell.

Merging Mods
Before merging two mods, save any mod you're working on with TES AME. TES AME will close any open mods without saving before merging.

Click on Mods->Merge.. You get to select a primary mod and a secondary mod. The secondary mod will be added to the primary. Click on the Merge button, enter a destination filename. You've got a hybrid!

I'm not sure what consequences mashing two different mods together might have, so use common sence and don't merge two megamods. For best control, export and import individual items between mods. 

External Links
Morrowind Modding History download
Tes3Mod:TES Annwyn

TES Annwyn is a tool created by Lightwave. It can be used to extract or import heightmaps into Morrowind, Oblivion, Fallout 3, Fallout: New Vegas, and Skyrim.

TES Annwyn can be used to extract a grayscale or RBG heightmap from any plugin or master. Heightmaps can be extracted as .RAW, .BMP, or .CSV. Each of these file formats are lossless, however, BMP can be viewed by almost any image viewer, whereas .RAW and .CSV files need to be viewed in a program such as Photoshop.

The Application can also be used to create a plugin using heightmaps. It is most known to have been used by Sortis Golathyn, who used the program to create the landmass used as a base in Projects under Project: Tamriel, such as Province: Cyrodiil, and Skyrim: Home of the Nords. Heightmaps must be in the same format as the formats TES Annwyn exports to. A single game cell is represented by 56x56 pixels on a heightmap, so this scale must be applied when using it to create landmasses. It is recommended to create the heightmap at a higher resolution and then re-size it to a to-scale one, to get in more detail.

TES Annwyn additionally can be used to automatically vertex paint an area, emboss an image onto an area, and force a group of cells to use a particular landscape texture.

External Links
TES Annwyn page on Lightwave's website
Tes3Mod:TES Faith

TES Faith is a tool created by Lightwave and later Timeslip. It is capable of moving entire exterior cells worth of content to different cells. It is frequently used by modders to move landmass mods from one location to another, often to make them compatible with Tamriel Rebuilt. It can also duplicate exterior and interior cells, and delete cells.

There are two versions of TES Faith, the original Command Line version written by Lightwave, and a GUI version created by Timeslip. The version written by Lightwave has been updated more recently than Timeslip's version, so it is the recommended version to use.

External Links
TES Faith page on Lightwave's website

TES Faith readme and documentation

Download for Timeslip's edit of TES Faith
Tes3Mod:The Assimilation Lab

The Assimilation Lab (abbreviated to TAL) is a fansite created and managed by AndalayBay. It offers many services such as: project hosting, file hosting, GitLab repositories, as well as wiki hosting. TAL is where Morrowind Modding Wiki is hosted.

The currently hosted projects are: The Asylum, The Collective, Dark Brotherhood Chronicles, Elsweyr Pellitine, The Order of the Black Rose, '''Acechadora's Tamriel Overhaul, TES IV: Black Marsh, TES IV: Valenwood Islands, and Unofficial Morrowind Patch'''.

The currently hosted wiki's are: Morrowind Modding Wiki, The Quest Lists, and TESCOSI.

External Links
Website 
Forums
Tes3Mod:Translating mods to English

Original guide by WH Reaper, titled "Translating Russian mod to English", can be found on Great House Fliggerty.

Here is a simple way to translate any foreign mods, by the example of Russian one.

Things you will need:

Enchanted Editor

Unipad

Open the mod with Enchanted Editor and find the part you want to translate. Select it and copy it (Ctrl + C):


500px


Open Unipad and select New:


700px


Right-click in the new text field and select Paste As...:


700px


Select Windows-1251 (Cyrilic) (For other languages, choose an appropriate set):


700px


Click ok and voila, you have Russian text:


700px


Now you can copy it into google translator and then use your skill to translate it into meaningful sentences/names.
Tes3Mod:Tutorials and Guides

These Tutorials and Guides are originally from .

Modding Tutorials and Guides
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Modelling and Texturing Guides
 
 
 
 
 
 

Scripting Tutorials
Tes3Mod:Wrapper function

Some scripting functions that take arguments do not accept variables, meaning they can only be used with literal values (i.e. hardcoded constant values, such as 123). This severely limits their flexibility, and the usability of the scripting language as a whole.

A wrapper function is a kind of script extender function that accepts variables and passes their values to a preexisting function, thereby allowing that specific preexisting function to be used with dynamic values, and solving the issue mentioned above for it.

Less commonly, the same issue is solved by completely re-implementing an existing function as a script extender function. In this case, the reimplemented function may behave differently from the original, by design or by necessity. An example of one such function is the xGetSpell function.  
Examples of wrapper functions
xAddItem 
xStartCombat 
xAITravel 
xPosition 
xEquip
Tes3Mod:XAITravel

A function added by MWSE.

xAITravel is a wrapper function for the original AITravel to allow variables.

Syntax
 

Example
 

See Also
xPlace 
xPosition 
xPositionCell 
xStartCombat
Tes3Mod:XAddItem

A function added by MWSE.

xAddItem is a wrapper for the original AddItem to take variables.

Syntax
 

Example
 

See Also
xInventory 
xNextStack 
xContentList 
xRemoveItem 
xHasItemEquipped 
xEquip 
xDrop 
xAddSpell 
xRemoveSpell
Tes3Mod:XAddSpell

A function added by MWSE.

xAddSpell is a wrapper for the original AddSpell to take variables.

Syntax
 

Example
 

See Also
xInventory 
xNextStack 
xContentList 
xAddItem 
xRemoveItem 
xHasItemEquipped 
xEquip 
xDrop 
xRemoveSpell
Tes3Mod:XArcCos

A function added by MWSE.

xArcCos returns the arc cosine (in radians) of the value.

Syntax
 

Example
 

See Also
xDistance 
xSqrt 
xHypot 
xDegRad 
xRadDeg 
xCos 
xSin 
xTan 
xArcSin 
xArcTan
Tes3Mod:XArcSin

A function added by MWSE.

xArcSin returns the arc sine (in radians) of the angle.

Syntax
 

Example
 

See Also
xDistance 
xSqrt 
xHypot 
xDegRad 
xRadDeg 
xCos 
xSin 
xTan 
xArcCos 
xArcTan
Tes3Mod:XArcTan

A function added by MWSE.

xArcTan returns the arc tangent (in radians) of the angle.

Syntax
 

Example
 

See Also
xDistance 
xSqrt 
xHypot 
xDegRad 
xRadDeg 
xCos 
xSin 
xTan 
xArcCos 
xArcSin
Tes3Mod:XContentList

A function added by MWSE.

xContentList is an alternative to both the xInventory and xNextStack functions, which returns seven values based on the inventory of the current container, NPC, or creature rather than three. If the input parameter value is 0, the first item in the current container, NPC, or creatures is returned (like xInventory). The seventh (last) value returned can also be used as the input parameter to access the next item in the inventory (like xNextStack). Whenever the items in the container change, the next reference may be invalid and you should start again with a value of 0 for the input parameter.

The first return value is the objectid of one of the items in inventory. The second is the number of that particular item found in the inventory. The third is the type of that item using the codes listed for the xRefType function. The next three parameters are the value, weight, and printable name of the item unless the object is of the Levelled Item type. 
For LEVI objects, the value and weight will be listed as 0 and the name field will contain a randomly selected object id for one random item selected from the levelled list. The normal levelled list rules aren't followed and lower level items are always more likely than higher level items. Getting random id code is bugged, it sometimes returns the same id several times in a row from a leveled list of any size.

In v0.9.4a, the value and weight for ammo and repair items and name for ammo and lockpicks that are returned are invalid. This is fixed in the MWSE update released by Merzasphor.

Syntax
 

Example
 

See Also
xInventory 
xNextStack 
xAddItem 
xRemoveItem 
xHasItemEquipped 
xEquip 
xDrop 
xAddSpell 
xRemoveSpell
Tes3Mod:XCos

A function added by MWSE.

xCos returns the cosine of the angle (which given in radians).

Syntax
 

Example
 

See Also
xDistance 
xSqrt 
xHypot 
xDegRad 
xRadDeg 
xSin 
xTan 
xArcCos 
xArcSin 
xArcTan
Tes3Mod:XDegRad

A function added by MWSE.

xDegRad converts a value from degrees to radians.

Syntax
 

Example
 

See Also
xDistance 
xSqrt 
xHypot 
xRadDeg 
xCos 
xSin 
xTan 
xArcCos 
xArcSin 
xArcTan
Tes3Mod:XDistance

A function added by MWSE

xDistance is similar to the original GetDistance function but takes a reference variable as the target instead of an objectid string. Like the original, it uses the editor position not the current position for non-persistent objects.

Syntax
 

Example
 

See Also
xSqrt 
xHypot 
xDegRad 
xRadDeg 
xCos 
xSin 
xTan 
xArcCos 
xArcSin 
xArcTan
Tes3Mod:XDrop

A function added by MWSE.

xDrop is a wrapper for the original Drop to take variables.

Note: xDrop N+1 items will leave 1 phantom icon plus N real items in the dropping actors inventory.  xGetItemCount will not report the 1 phantom icon.  However, xRemoveItem will remove the phantom safely.  So "safe" procedure for xDrop seems to be to follow up with xRemoveItem of the same count.  Additionally for non-player actors in menumode, exit and re-entry to menumode is needed to refresh the icons and avoid phantom icon interaction that could result in permanent item doubling or CTD.  This also applies to the standard Drop function.

Syntax
 

Example
 

See Also
xInventory 
xNextStack 
xContentList 
xAddItem 
xRemoveItem 
xHasItemEquipped 
xEquip 
xAddSpell 
xRemoveSpell
Tes3Mod:XEquip

A function added by MWSE.

xEquip is a wrapper for the original Equip to take variables.

Syntax
 

Example
 

See Also
xInventory 
xNextStack 
xContentList 
xAddItem 
xRemoveItem 
xHasItemEquipped 
xDrop 
xAddSpell 
xRemoveSpell
Tes3Mod:XExplodeSpell

A function from the MWSE update by Merzasphor.

Wrapper for ExplodeSpell.

Syntax
 

Example
 

See Also
ExplodeSpell
Tes3Mod:XFileReadFloat

A function added by MWSE.

xFileReadFloat the same as xFileReadShort but reads FLOATS (4 bytes).

Syntax
 

Example
  

See Also
xFileRewind 
xFileSeek 
xFileReadText 
xFileWriteText 
xFileReadShort 
xFileReadLong 
xFileReadString 
xFileWriteShort 
xFileWriteLong 
xFileWriteFloat 
xFileWriteString
Tes3Mod:XFileReadLong

A function added by MWSE.

xFileReadLong the same as xFileReadShort but reads LONGS (4 bytes).

Syntax
 

Example
 

See Also
xFileRewind 
xFileSeek 
xFileReadText 
xFileWriteText 
xFileReadShort 
xFileReadFloat 
xFileReadString 
xFileWriteShort 
xFileWriteLong 
xFileWriteFloat 
xFileWriteString
Tes3Mod:XFileReadShort

A function added by MWSE.

xFileReadShort reads the number of SHORTS (2 bytes) requested from the file at the current reading position. The current position is then advanced. Returns the number of values actually read followed by the values.

Syntax
 

Example
 

See Also
xFileRewind 
xFileSeek 
xFileReadText 
xFileWriteText 
xFileReadLong 
xFileReadFloat 
xFileReadString 
xFileWriteShort 
xFileWriteLong 
xFileWriteFloat 
xFileWriteString