Tes3Mod:MWSE

The add-on MWSE (or Morrowind Script Extender) extends Morrowind's scripting language (nicknamed MWScript) by adding over 100 new functions. This allows modders to create mods that would otherwise have been very difficult, if not impossible, with the functions found in the standard scripting language. MWSE is open-source software. 	
To play the game with mods that use MWSE, you must launch MWSE (either via the MWSE Launcher that comes with MWSE, or via MGE or MGE-XE) before you launch Morrowind. To create scripts that use new functions, you will need to use MWEdit to compile them and save your plugin.

Development history
 
The last version released by the original MWSE team - 0.9.4a - was released on SourceForge in 2007, and remained the most recent version until, 7 years later, other contributors started to work on improving MWSE and releasing updated versions of it. Past MWSE developers include:
Charles Cooley  
FreshFish
Timeslip
AnthonyG
Tim Peters
Grant McDorman
Cody Erekson  
 
 
On November 2014, community member "Merzasphor" began developing and releasing new versions of MWSE. These new updates are based on the old 0.9.4a release and contain bugfixes and dozens of brand new functions. Currently, the new MWSE functions by Merzasphor number at 56, excluding deprecated functions, and the existing MWSE functions updated by Merzasphor number at 12. The development was discussed on the official Bethesda forums: First thread Second thread
In 2017, community member "NullCascade" had joined the MWSE development. Since then, even more new functionality was added. In 2018, MWSE itself has been completely rewritten (now dubbed MWSE v2), resulting in massive performance improvements, granting the ability to make MWSE mods that were previously impractical due to slow performance. Furthermore, other than the rewrite and new functions, a huge, new, groundbreaking feature, support for running mod Lua scripts alongside Morrowind scripts has also been added, and is in the process of further development. There is work in progress on creating extensive documentation for MWSE v2 on readthedocs.io.
 
 

In summary, since the original MWSE team's last release, MWSE has been greatly improved. Bugs have been fixed, performance was increased, and many new functions were added, which add a lot of power, capabilities and flexibility (enabling interaction with many more parts of the game through a script, adding support for boolean operations and arrays, and more), allowing to do many things with MWSE that were previously impossible or impractical. The updates also go towards superseding the Morrowind Enhanced script extender (so that no modding feat would have to require the two extenders). A completely new and improved approach for Morrowind scripting - using Lua - has been added.

The updates to MWSE are comprised of an updated MWSE.DLL file and can either be used with the standalone MWSE Launcher included in 0.9.4a MWSE's files, or loaded as MGE XE's internal MWSE (since MGE-XE version 0.10.0 beta 9). It can also be loaded as the internal MWSE of earlier versions of MGE XE, or regular MGE's, but that will cause all MGE XE or MGE-specific scripting functions to be overwritten and unavailable.

For discussion and updates on current MWSE development, follow the Morrowind Modding Community Discord.

Functions

The latest version of MWSE currently has over 200 functions. The new functions added by MWSE 0.9.4a, as well as the later updates, are in the following categories.
Functions
AI and Movement Functions
Attribute Functions
File I/O Functions
Inventory Functions
Item Properties Functions
Keyboard Input Functions
Math Functions
New MWSE functions by Merzasphor
MWSE functions updated by Merzasphor
NPC Functions
Reference Functions
String Functions

The 14 new functions added by MGE XE are found here:
MGE XE Functions

:''Note: The above lists of existing functions are currently incomplete, and new functions continue to be added.


Functions are   in the Morrowind Script Extender v2 documentation'''.


Installation

MWSE 0.9.4a and above can be used either on its own with MWSE's Launcher program, or as part of MGE or MGE XE, if you use one of them. To use an updated version of MWSE, replace your MWSE.dll (in whichever location it is; see below) with the one from the update release.

Standalone:

If you're not using MGE XE or MGE: 
Extract or copy MWSE Launcher.exe and MWSE.dll to your Morrowind directory, or just to any directory. To play with MWSE active, run "MWSE Launcher.exe" before running Morrowind. You may use MWSE's "Launch Morrowind" button, or start Morrowind in any other way. 
The aforementioned button may not work if MWSE wasn't placed in the Morrowind directory and the relevant entry in the Windows registry doesn't point to a valid Morrowind installation, but MWSE will still function correctly.

As part of MGE or MGE XE:

MGE and MGE XE come with inbuilt MWSE 0.9.4a, so to use that version of MWSE with them, you only need to make sure the inbuilt MWSE is turned on in MGE/MGE XE's options. If you wish to use a newer version of MWSE as their inbuilt MWSE, then read on.

If you're using MGE XE 0.10.0 beta 9 or later: 
Copy or extract MWSE.dll to your Morrowind directory. Play Morrowind normally.

If you're using MGE or an earlier version of MGE XE: 
Copy MWSE.dll to your Morrowind directory. Run MGEXEgui.exe (or MGEgui.exe) and check "Disable internal MWSE" on the "In-Game" tab. Play Morrowind normally.
 .

See also
Morrowind Script Extender v2 documentation 
MWEdit 
Scripting with MWSE 
MGE XE 
MWE