* Leave a Mark anywhere at all, as long as teleporting hasn't been deliberately disabled. That includes interiors, modded areas, TR maps... anywhere.
* Name your Marks whatever you like, either by typing in a name or choosing from a list. The list is read from a plain text file for easy editing, so if there's a Mark name you'll use a lot you can just add it to the list. You can also just use the cell name as the Mark name if you prefer (this will always appear as the first choice in the menu).
* Unlimited companion follow, configurable via a no-cost spell: have all your companions always follow automatically when you teleport, or only those currently in follow mode, or none.
* Summon all followers together or individual followers one at a time with a no-cost spell. This also works anywhere, anytime, unless teleporting is disabled AND the follower is not in the same cell. You can always summon individual followers if they're in the cell with you, even when teleporting is disabled - so you can fish them out of the lava in Akulakhan's Chamber for example - and if teleporting is allowed you can summon them anywhere, regardless of where they (or you) are.
* Mark and companion lists should never be lost or overwritten, even if you jump around different saves and different characters. Even if those characters have the same name. The only way you can lose a list is by deleting it yourself.
Title: Melian's Teleport Mod
Note: This mod DOES work with MGE 3.8.0-SVN_REV-118 internal MWSE (or MWSE 0.9.4a standalone is of course still fine). Older MGE versions will NOT work. The old MGE "stable version" will NOT work. It has to be the SVN.
UPDATED to version 1.3
# 1.1 Fixed issue dealing with player character names that contain spaces. Your list files will now use the first part of your character's name (up to the first space, if there is one) as the identifier. (Thanks to FallenWizard for reporting this issue.)
# 1.2 Fixed a bug where an extra page of buttons all labelled "null" could appear in menus in certain circumstances. Included optional patch for Heaven's Lookout (thanks to TalonHunter78 for reporting this issue). Revised readme (thanks to Ashryn_the_Vampire for letting me know it works with the latest MGE!).
# 1.3 Fixed issue dealing with player character names containing any problem characters (not only spaces this time). Turns out MWSE file-creation is very fussy in that department, so apologies to everyone who's had problems with this! (Thanks to hamsmagoo for the bug report!). Revised readme (thanks to Elaura, Dragon32 & Krovosos for letting me know where info was missing). Added 'debug mode' to main plugin (writes debug messages to MWSELog.txt), so there's no longer any need for a separate version.
Author: Melian
* Leave a Mark anywhere at all, as long as teleporting hasn't been deliberately disabled. That includes interiors, modded areas, TR maps... anywhere.
* Name your Marks whatever you like, either by typing in a name or choosing from a list. The list is read from a plain text file for easy editing, so if there's a Mark name you'll use a lot you can just add it to the list. You can also just use the cell name as the Mark name if you prefer (this will always appear as the first choice in the menu).
* Unlimited companion follow, configurable via a no-cost spell: have all your companions always follow automatically when you teleport, or only those currently in follow mode, or none.
* Summon all followers together or individual followers one at a time with a no-cost spell. This also works anywhere, anytime, unless teleporting is disabled AND the follower is not in the same cell. You can always summon individual followers if they're in the cell with you, even when teleporting is disabled - so you can fish them out of the lava in Akulakhan's Chamber for example - and if teleporting is allowed you can summon them anywhere, regardless of where they (or you) are.
* Mark and companion lists should never be lost or overwritten, even if you jump around different saves and different characters. Even if those characters have the same name. The only way you can lose a list is by deleting it yourself.

Readme:
TES III: Morrowind
Melian's Teleport Mod
Version 1.3
REQUIRES MWSE
Contents:
1. Version History
2. Description/Features
3. Requirements
4. Installation
5. Load Order & Dependencies
6. Updating From Previous Versions
7. Playing the Plugin
8. Compatibility
9. Known Issues/FYIs
10. Information for Modders
11. Uninstalling
12. Credits
13. Copyright
14. Contact Info
15. File List
Version History
* 1.0 Initial release
* 1.1 Fixed issue dealing with player character names that contain spaces. Your list files will now use the first part of your character's name (up to the first space, if there is one) as the identifier. (Thanks to FallenWizard for reporting this issue.)
* 1.2 Fixed a bug where an extra page of buttons all labelled "null" could appear in menus in certain circumstances. Included optional patch for Heaven's Lookout (thanks to TalonHunter78 for reporting this issue). Revised readme (thanks to Ashryn_the_Vampire for letting me know it works with the latest MGE!).
* 1.3 Fixed issue dealing with player character names containing any problem characters (not only spaces this time). Turns out MWSE file-creation is very fussy in that department, so apologies to everyone who's had problems with this! (Thanks to hamsmagoo for the bug report!). Revised readme (thanks to Elaura, Dragon32 & Krovosos for letting me know where info was missing). Added 'debug mode' to main plugin (writes debug messages to MWSELog.txt), so there's no longer any need for a separate version.
Description & Features
* Unlimited teleport Marks. Cast as many as you want. I've had over 50 current Marks during testing and no problems yet.
* Leave a Mark anywhere at all, as long as teleporting hasn't been deliberately disabled. That includes interiors, modded areas, TR maps... anywhere.
* Name your Marks whatever you like, either by typing in a name or choosing from a list. The list is read from a plain text file for easy editing, so if there's a Mark name you'll use a lot you can just add it to the list. You can also just use the cell name as the Mark name if you prefer (this will always appear as the first choice in the menu).
* Unlimited companion follow, configurable via a no-cost spell: have all your companions always follow automatically when you teleport, or only those currently in follow mode, or none.
* Summon all followers together or individual followers one at a time with a no-cost spell. This also works anywhere, anytime, unless teleporting is disabled AND the follower is not in the same cell. You can always summon individual followers if they're in the cell with you, even when teleporting is disabled - so you can fish them out of the lava in Akulakhan's Chamber for example - and if teleporting is allowed you can summon them anywhere, regardless of where they (or you) are.
* Mark and companion lists should never be lost or overwritten, even if you jump around different saves and different characters. Even if those characters have the same name. The only way you can lose a list is by deleting it yourself.
Requirements
Either standalone MWSE 0.9.4a or higher, or MGE 3.8.0-SVN_REV-118 or higher internal MWSE. Older MGE internal versions will not work (as far as I know).
Installation
Uncompress the archive to a folder on your desktop or some other convenient place. The only file you have to install to run this mod is "mel_teleportPlugin_1_3.esp": this file must be used regardless of whether you use any of the others or not. The esps go in Data Files, and the text file "mel_tpp_MarkTags" goes in Data Files\MWSE (see the file list at the end of this readme if you're confused about file locations).
Load Order & Dependencies
1. mel_teleportPlugin_1_3.esp
2. mel_teleportPlugin_1_3_Patches.esp (optional, requires mel_teleportPlugin_1_3.esp)
3. mel_teleportPlugin_1_3_JulanAddon.esp (optional, requires mel_teleportPlugin_1_3_Patches.esp)
* If you're using The Underground, it must load before mel_teleportPlugin_1_3_Patches.esp. Other patched companions can load before or after, it doesn't matter.
* The only requirement for mel_teleportPlugin_1_3_Patches.esp is mel_teleportPlugin_1_3.esp. You don't need to run all (or any) of the patched companions to use it.
* The Julan addon is pointless unless you're running Kateri's Julan mod and at least one other companion, but it does not actually require anything other than mel_teleportPlugin_1_3_Patches.esp to run, and load order relative to the Julan mod doesn't matter.
* If you're using the Heaven's Lookout patch, it must load after Heaven's Lookout.
* The Heaven's Lookout patch requires Heaven's Lookout, but nothing else (not even mel_teleportPlugin_1_3.esp).
Updating From Previous Versions
Use Wrye Mash or another utility to redate the new esp to match the old esp's date, then deactivate the old esp and activate the new. You may get warnings on load saying that some plugins your save depends on have changed - this is normal, you can ignore it.
If you have list files that were created with previous versions, they won't have your character's name as the first string in the file, but they will still work with version 1.3.
There is no separate 'debug version' anymore. If you want to turn on debug mode, open the console and type
- Code: Select all
set mel_tpp_debug to 1
then hit enter and close the console. Debug messages are written to the MWSELog.txt or mwse-mge log.txt file (in your Morrowind directory). To turn debug mode off, set the value back to 0.
Optional files:
mel_teleportPlugin_1_3_Patches.esp
This patches some companions to make them compatible with this mod. Companions that require this patch are:
* Emma's Lokken companions
* Emma's Laura
* Qarl's Underground companions
The patch is also useful if you use my Comes-By-Road healer companion (it won't break anything if you don't use it, but using the patch stops unnecessary scripts from running).
Note that you don't have to run all of these companions to use the patch. The only thing it requires is the base teleport mod (mel_teleportPlugin_1_3.esp). All the fixes are done from the same script so the overhead for unneeded fixes should be negligible.
Even with the patch, if you're doing the Lokken Main Quest I would also recommend you leave your companion teleporting setting on "only if they're following". There are quite a lot of escort quests in WWoL and followers don't automatically add or remove themselves (one follower has teleporting disabled at one point in the quest, but otherwise it's up to you), so it's very easy to forget and teleport someone by accident when you should have left them behind. This won't break any quests that I'm aware of - but it might well break immersion, so consider yourself warned!
mel_teleportPlugin_1_3_JulanAddon.esp
This is an optional addon for those using Kateri's Julan companion. Julan is already fully compatible with this mod as-is - in fact this addon doesn't do anything to Julan at all. What it does do is teleport your other companions along with you and Julan at two points in his quest when they would otherwise be left behind. You can only use this addon if you are also using "mel_teleportPlugin_1_3_Patches.esp": it won't work by itself, because it changes that script to check for Julan's quest states as well (this avoids having an extra global script running).
mel_tpp_MarkTags
This is a plain text file containing default Mark names (the names you'll see in the menu when you cast Recall). These are displayed in a menu for you to choose if you don't want to type in a name or use the cell ID when you cast Mark.
If you don't want to change anything in the file you don't have to install it: it will be created automatically if it's not found when the plugin starts up. I've included it here for people who want to edit it (you can do this using any text editor): just put each Mark name on a new line and don't leave any blank lines. You can delete the defaults if you wish, and as long as you put something in there it won't be overwritten, but if the file is empty or missing it will be recreated with the defaults again.
mel_teleportPlugin_HeavensLookoutPatch.esp
Heaven's Lookout uses Mark & Recall to put the player back where they teleported from when you use the mod's teleport ring. This does work with my teleport mod, but it looks bad because it brings up the Mark & Recall menus (which obviously wasn't Andy's intention). This patches the ring script to use MWSE functions instead, so you can just teleport straight there and straight back, no menus.
However, since it doesn't use the normal Mark and Recall anymore, it doesn't have any fixes for different saves and different characters. Only one return position is stored - and that's where you'll go, even if it was stored for a different character. If this is likely to be a problem for you, you can either make sure you return to your original position before you go to Heaven's Lookout with another character, or you can just not use the patch - it will still work, you'll just have to live with the menus.
The patch must load after Heaven's Lookout to have any effect, but load order relative to my teleport mod esps doesn't matter - in fact the patch can be used even if my teleport mod isn't loaded at all.
If you're installing this for an existing game, make sure you are not in any Heaven's Lookout cells when it's activated - you need to teleport to Heaven's Lookout using this patch before any return position is stored. You may get some messages on load saying local count is different and variables will be reset - this is harmless, you can ignore it.
Playing the Plugin
This mod takes over the normal Mark and Recall effects from the game. To use the basic teleporting functions, just use same spells/items you normally would and make the appropriate choice in the menu. When you have at least one Mark, casting Mark again will bring up a menu so you can replace an old Mark with the new one if you wish. It's pretty self-explanatory really.
The remaining functions use a new no-cost spell "Teleport Control", which you will be given automatically when you start the game with this mod loaded. This is an "on self" spell - to cast it "on" someone, just make sure you're focussing on them so their name-box pops up.
Before you can teleport or summon your followers, you need to add them to your list. If you cast "Teleport Control" on a follower (whether NPC or creature), you'll get the following options:
* Add this companion
* Remove this companion
* Nevermind
If you cast the spell without a follower targeted, you'll be given another list of options:
* Erase a Mark: Permanently deletes the chosen mark from your list.
* Summon all my companions: Brings all listed companions to you, regardless of where they are.
* Review my companion list: Shows a list of your companions, and allows you to remove or summon individual followers if you want to.
* Change companion teleport options: You can choose to have all listed companions follow you whenever you teleport, or only current followers, or none at all. If you tend to forget to remove escort quest followers from the list, but you want current followers to teleport with you automatically, choose "Only if they're following me at the time" so that you don't get unwanted followers when you teleport.
* Nothing
Compatibility
By its nature, this mod is absolutely NOT compatible with Marcel Hesselbarth's MultiMark or with CDCooley's Companion Teleporting or Improved Teleportation. There's no point whatsoever in running these together in any case. The same applies to any other mods that do the same thing.
This mod works much the same way as Marcel Hesselbarth's MultiMark in that it disables teleporting everywhere so as to take over that function from the game. This may cause issues with other mods. I do check for CDCooley's disabled-teleport variable state, so it will catch that, but if a mod doesn't use that and wants to disable teleporting it won't work correctly, and if a mod tries to do tricky things with recall/intervention/mark spells it may not work as intended. If you find any incompatibilities let me know and I'll see if I can patch it.
The patch esp fixes all companions I'm aware of that need a fix, but there may be some I've missed. If you find any, let me know and I'll try to add them to the patch.
This mod may not work with non-English language versions of Morrowind. If the default cell ID is not "Wilderness", the mod just won't work. If the endgame cells have different IDs than the English version, teleporting won't be disabled when it should be. These issues should be pretty easy to fix if you don't mind a bit of script-editing.
Known Issues, FYIs & Other Information
Blank messageboxes
If a message is written to the screen at the same time as you cast a teleport spell (the usual culprit is a Mysticism skill increase), you may see an extra, blank messagebox along with it. This is just a minor visual issue: you can safely ignore it.
Vampire companions
I've added a fix for vampire companions but it hasn't been thoroughly tested. If your vampire companion ends up headless after a teleport, please let me know and I'll try to fix it. In the meantime, you can get their head back by equipping a helm on your companion - when you remove the helm, the head should reappear.
GMSTs
The GMST sTeleportDisabled is INTENTIONALLY altered by this mod. Don't try to clean it out, and make sure any mods that load after this one are GMST-clean, or else you'll get messages telling you that teleporting is disabled every time you use it.
Modifying, merging or otherwise resaving this mod
If this mod is modified, merged or just resaved in a high-level editor (such as the Construction Set, or MWEdit), the teleport-disabled message will reappear. To fix this, you need to make sure the string value is present and set to something (can be anything, just a single character is fine, this is just to stop the subrecord disappearing altogether). Once you're finished editing, load up the mod in Enchanted Editor and remove the GMST string: find the bit that says "Teleportation magic does not work here" or whatever you set it to, then click the button labelled "edit using multi-line editor" and delete all the text. If the multi-line editor doesn't work (sometimes it doesn't), you'll have to use the "Analyse/Edit Raw Subrecord Data" button and set all values to 0. Resave from EE and it should be ready to use.
Text input issues
The text input feature has some unavoidable problems and may be unstable for some. That's why it's optional: if you have issues with text input, you don't have to use it. Choosing from the list should be as stable as anything else in your game, so if you want a certain name for a Mark you can put it in the text file (in your MWSE directory) and choose it from there.
When using text input, the game will sometimes seem to freeze up. Usually this can be fixed by hitting the ~ key for the console a few times. If the text input box appears when you do this, the console will pop up as soon as you start typing. Close the console and the text input should work correctly after that.
Changing your character's name
If you change your character's name partway through a game with this mod active, you'll need to go into your MWSE directory and copy your Mark and companion lists and rename them. The files are all prefixed with "mel_tpp" and the list files contain your character's name and a number. The number should stay the same, just change the name. Note that changing your name during a game is not recommended in any case, and I haven't actually tested this.
MWSE directory files
Files are created in the Data Files\MWSE directory, and there's no function to delete them, so you'll have to clean out that directory yourself every now and then - but be careful you don't remove any files that are still in use in your game.
All files created by this mod start with "mel_tpp": if you want to remove the mod entirely, just delete all these files (and the esps). And if you don't want to read through the following explanations: the easiest way to deal with the files is just to wait until you've finished any games using this mod, then delete everything in the MWSE directory that starts with "mel_tpp".
The following are temp files; you can delete these anytime you want to but they'll be back if you use the mod again:
* mel_tpp_t1
* mel_tpp_t2
* mel_tpp_mc
* mel_tpp_mi
* mel_tpp_name
The main list files that store your mark and companion lists will be called:
* mel_tpp_m[something]
* mel_tpp_c[something]
Where possible, the "something" part will include your character's first name. This is just to make it easier to work out which files belong to which character. If the name can't be used, it will just use an underscore (_) instead. Either way, though, the first thing written in the file will be your character's name, so you can just open it up to check if you need to.
The final part of the "something" is a number, which corresponds to the value of the variable "mel_tpp_index" in your game (you can check this from the console by using "show mel_tpp_index"). If you've never used that character name before, the highest number will be the most recent.
For example: if my character's name is Randolph and the value of mel_tpp_index is 2, my current list files would be "mel_tpp_mRandolph2" and "mel_tpp_cRandolph2". But if my character's name is "!@#$%", which can't be used in a filename, the current list files would be "mel_tpp_m_2" and "mel_tpp_c_2" (and the first thing in both those files would be "!@#$%").
These list files shouldn't be deleted until you've finished with that character.
If you delete the main list files from your MWSE directory and try to continue with the game that was using them, it will break the mod and might crash the game, especially if you have companions. Don't delete files unless you're sure you won't need them later. If you have deleted the files and can't recover them, you can set all the following variables to 0 in the console and continue playing, but you'll have to rebuild your Mark and companion lists:
- Code: Select all
set mel_tpp_Clist to 0
set mel_tpp_Cend to 0
set mel_tpp_Cnum to 0
set mel_tpp_Mlist to 0
set mel_tpp_Mend to 0
set mel_tpp_Mnum to 0
GCD
GCD (Galsiah's Character Development) has an issue which may - very occasionally - be triggered by this mod. The method used by GCD to force the player's stats menu to update level correctly is quite risky: if it happens at exactly the wrong moment, it can permanently disable menus. For this mod, this can happen if casting Mark or Recall gives you a level increase (not just a skill increase, only an actual level increase will do this) and GCD's HUD update script doesn't detect the menu in time. If you don't have the HUD update active with GCD (or if you don't use GCD at all) this won't affect you. It's a very rare issue in any case. However, since it can be triggered by any mod that uses a spellcast to bring up a menu, I recommend you use a fix for this if you use GCD.
The easiest fix is to change the GCD script "Gals_Level_Screen_Update". Near the top of the script you'll find this:
- Code: Select all
if ( menumode == 1 )
return
endif
Change it to this:
- Code: Select all
if ( menumode == 1 )
return
elseif ( player->GetSpellReadied )
return
endif
This will stop the HUD update from happening while you have a spell readied (it will just wait until you leave spellcasting stance and do the update when it's safer to run it) - so this should prevent the problem for any mod that uses a spellcast to trigger a menu.
Information for Modders
To disable teleporting for the player:
Use the same method as is used for CDCooley's teleport mods (this will work for my mod and both of CDCooley's):
Add a global variable "cdc_teleportation": it should be a short variable with default value 0. Check the variable from your script or dialogue: if it's not 0, then either my mod or one of CDCooley's mods is running, and you can disable teleporting by setting cdc_teleportation to a negative value (anything less than 0 will work). Set it back to 1 to re-enable teleporting. If the variable stays at 0, none of these mods are running, so you shouldn't change the value (that would break other mods). Be a bit careful how you do this though, since other mods might also want to disable teleporting at the same time. Note that you may still need to use the DisableTeleporting command.
To set up a companion to add or remove themselves from the teleporting list automatically:
Add the cdc_teleportation variable as above. Duplicate the companion's follow and wait dialogue lines and add an extra filter to the top copy for "cdc_teleportation != 0". To add the companion to the list, add this to the resultbox:
- Code: Select all
set cdc_companion_call_script.insert to 1
StartScript cdc_companion_call_script
To remove the companion, add this:
- Code: Select all
set cdc_companion_call_script.remove to 1
StartScript cdc_companion_call_script
This will work with both CDCooley's mods as well as mine.
To disallow teleporting for a particular NPC (only works with my mod):
Create a new spell with ID "mel_tpp_NoTeleport" - it should be a copy of the one included in my mod. Add this spell to your NPC (don't get them to cast it - just add it to them using AddSpell) to disable teleporting for that NPC. You can remove it later to re-enable teleporting if you wish. This won't remove the companion from the list if they've already been added, but your NPC won't teleport automatically and if the player tries to summon them they'll just be given a message indicating that they can't teleport that companion now.
To find out whether an NPC is on the companion list:
Create a new spell with ID "mel_tpp_IsListed" - it should be a copy of the one included in this mod. Use GetSpell to check for this spell on your NPC: if they've got it, they're on the list.
To find out whether this mod is running:
Add a global variable "mel_tpp_index". It should be a short variable. Set the default value to -1 (IMPORTANT!). Check the value of this variable from script or dialogue: if it's greater than 0, this mod is (or was) running.
If you just want to know whether any teleporting mod is running, you can check the variable cdc_teleportation and if it's not 0, either this mod or one of CDCooley's teleporting mods is/was running.
Uninstalling
Just delete all files in your Data Files directory that start with "mel_teleportPlugin" and all files in your MWSE directory that start with "mel_tpp".
If you're removing this mod and then continuing with the game that was using it, there are a few more things you have to do. As always, be sure to back up your saves before you make any changes!
When you first reload a save after removing this mod, open the console and set the following variables:
- Code: Select all
set cdc_teleportation to 0
set mel_tpp_index to -1
You may be told these variables don't exist: that's fine, don't worry about it. You just need to make sure that they're reset if they're used by any other mods still in your game.
For each of your companions, click on them to focus the console and type:
- Code: Select all
RemoveSpell mel_tpp_IsListed
If you're told this spell doesn't exist then don't bother doing it a second time. But if the spell does exist then it's being used by another mod, so you'll need to remove it from your companions to let that mod know this one isn't being used anymore.
Finally, with the console not set to any particular object:
- Code: Select all
EnableTeleporting
If you're using companions that have their own teleport scripts, you will need to activate those now (if they weren't running before). For most companions, you can do this by telling the companion to wait, then to follow again.
Credits
CDCooley
Marcel Hesselbarth
Loriel
Fliggerty
Bill
Emma
Grumpy
Kateri
CDCooley deserves an extra-special thankyou for permissions and assitance. It's not every day someone will help you make a mod that's intended to replace theirs. So: thanks again!
Permissions/Copyright
This plugin is freely distributable and modifiable as long as it is used only for TES3:Morrowind and is distributed free of charge. Inclusion of the relevant credit information is appreciated.
Note that some content is not mine, so my permissions don't apply to it (this mainly concerns the IT and companion patch). For permission to use or modify other modders' work please contact them.
Contact
To contact me (melian), your best bet is a PM on Emma's forum, Fliggerty's forum, or Bethesda's forum. You can email me if you must, but be aware that I don't check my emails very often so you might have to wait a while for an answer - and do remember to give your message a subject line clearly related to Morrowind, otherwise I'll assume it's spam and delete it.
File List
...\Data Files\mel_teleportPlugin_1_3.esp
OPTIONAL FILES:
...\Data Files\mel_teleportPlugin_1_3_Patches.esp
...\Data Files\mel_teleportPlugin_1_3_JulanAddon.esp
...\Data Files\mel_teleportPlugin_HeavensLookoutPatch.esp
...\Data Files\MWSE\mel_tpp_MarkTags