Fast travel from signposts to their locations if you have already been there before, using procedurally-generated target points. Includes an optional menu-based travel UI.
Inspired by the Witcher 3 fast travel system and Andromedas Fast Travel, automatically supports Tamriel Rebuilt and Skyrim Home Of The Nords if they’re installed as well, and borrows NPC travel features from Attend Me.
Automatically supports Skyrim Home Of The Nords, Tamriel Rebuilt, and Project Cyrodiil if they are installed alongside this
Requires OpenMW 0.49 or newer!
Part of this mod’s development was live streamed, please check it out!
→ Credits
Author: johnnyhostile
Lua Assistance: Pharis, urm, kuyondo, gnounc, ZackHasACat
Special Thanks:
- Benjamin Winger for making DeltaPlugin
- EvilEye for making CS.js (used to make the quest)
- Greatness7 for making tes3conv
- SGMonkey for making Andromedas Fast Travel
- urm for making Attend Me and being cool with me using his follower teleport code
- CDPR for making Witcher 3
- The Morrowind Modding Community and the OAAB_Data Team for making OAAB_Data (where item assets are from)
- The OAAB_Data Team for making OAAB_Data
- The Tamriel Rebuilt Team for making Tamriel Rebuilt
- The Project Tamriel Team for making Project Cyrodiil
- The OpenMW team, including every contributor for making OpenMW and OpenMW-CS
- The Modding-OpenMW.com team for being amazing
-
All the users in the
modding-openmw-dot-com
Discord channel on the OpenMW server for their dilligent testing <3 - Bethesda for making Morrowind
And a big thanks to the entire OpenMW and Morrowind modding communities! I wouldn’t be doing this without all of you.
→ Localization
DE: Atahualpa
EN: johnnyhostile, Atahualpa
PT_BR: Hurdrax Custos
RU: urm
SV: Lysol
→ Web
→ Installation
OpenMW 0.49 or newer is required!
-
Download the mod from this URL
-
Extract the zip to a location of your choosing, examples below:
# Windows C:\games\OpenMWMods\Travel\signpost-fast-travel # Linux /home/username/games/OpenMWMods/Travel/signpost-fast-travel # macOS /Users/username/games/OpenMWMods/Travel/signpost-fast-travel
-
Add the appropriate data path to your
opemw.cfg
file (e.g.data="C:\games\OpenMWMods\Travel\signpost-fast-travel"
) -
Add
content=signpost-fast-travel.omwscripts
andcontent=signpost-fast-travel.omwaddon
to your load order inopenmw.cfg
or enable them via OpenMW-Launcher-
If you’re also using Signposts Retextured, activate the
PB_SignpostsRetextured.omwaddon
andPB_SignpostsRetexturedTR.omwaddon
(if also using TR) plugins that come with this instead of the ones that come with it.
-
If you’re also using Signposts Retextured, activate the
→ How It Works
This mod will generate up to 100 spawn points (configurable, see below) in every named exterior cell you visit. When you activate a signpost, if you’ve been to the location named on the sign, you will be transported there using one of the generated points.
SPOILER ALERT BELOW!!!! (on the website, highlight with your mouse to see)
There is a semi-hidden menu-based fast travel system that allows you to visit any named exterior you’ve previously been to by activating any signpost. Doing this brings up a menu that lists each location you can travel to. In order to use this feature, the player must find a Mage’s Guild member in Nchuleftingth that can trade for a special item which enables this mode of travel. Full details will be explained by this NPC.
SPOILER ALERT ENDS!!!!
→ Configuration
Various aspects of this mod are configurable via the script settings menu (ESC >> Options >> Scripts):
- Teleport followers (on by default, auto-disabled when Attend Me is installed alongside this)
- Time passes when traveling (on by default)
- Gold cost for travel per “unit” (5 gold by default; set to 0 for free travel)
- Allow travel when in combat (off by default)
- Show messages when traveling (on by default)
- Play footstep sounds when traveling (on by default)
- Using the travel menu costs an item (on by default)
- Show usage help in the menu (on by default)
- Cell scan interval in seconds (2 by default)
- Initial scan delay in seconds (120 by default)
- Max Points Per Cell (100 by default)
- Max Tries Per Cell (10 by defualt)
- Bethesda Mode (off by default; set the keybind to use it)
→ Known Issues / Notes
-
Not all signposts have a “name” that corresponds to a named external cell that can be traveled to.
- Some simply don’t have a related exterior and are ignored.
-
Others do relate to an actual exterior but have extra details e.g,
Ildrim (main road)
orFirewatch via Aranyon Pass
.- In this case, an internal map is kept that points these to the appropriate name.
- Time doesn’t actually pass when traveling, so any active spells or other potentially timed things won’t be affected. This can be resolved when OpenMW-Lua adds a way to pass time.
- The engine silently turns activators with no “name” into statics. This means mods that remove the name for immersion purposes will break this mod (see Compatibility below). This can be resolved when OpenMW-Lua adds a way to see nearby statics in the same way it does activators.
- Paying money to the signpost is a tad strange, but I felt that dropping NPCs at every signpost was more strange. The current implementation is a compromise that gives a cost to travel without the extra burden and potential awkwardness of NPCs.
→ Compatibility
This mod should be compatible with any replacer that preserves the “name” of the signpost activators. Mods known to be incompatible due to this:
-
Signposts Retextured
- Patched plugins are included with this mod, they restore the “name” field which also restores the name tooltip when you look at the signs
→ Adding Support For New Signs
This mod comes with an interface that can be used to add support for more signs via a third party mod. Please note that a valid sign should be an activator with a name
field that matches some named exterior cell or cells.
To do this, two files are needed:
-
YourAddonName.omwscripts
with the following contents:
GLOBAL: scripts/YourAddonName/global.lua
-
scripts/YourAddonName/global.lua
with the following contents:
local SFT = require("openmw.interfaces").SignPostFastTravel
if not SFT then
error("ERROR: Signpost Fast Travel is not installed!")
end
SFT.RegisterSigns({
"signpost_id_01",
"signpost_id_02",
...
})
File layout:
.
├── YourAddonName.omwscripts
└── scripts
└── YourAddonName
└── global.lua
Note you should change YourAddonName
to match your mod’s name and the IDs used to match the IDs you want to add.
The SFT
variable gives you direct access to the Signpost Fast Travel interface. You can use whatever script and path names you like, but it must be a global script.
→ Lua Console Commands
You can use these from the in-game console to test the functionality of this mod.
- Press the ` key to open the console
-
Type
luap
and press Enter -
Type
I.SignpostFastTravel.ClearInCombat()
and press Enter to clear the mod’s internal record of actors that are in combat with the player. -
Type
I.SignpostFastTravel.Forget("Some Name")
and press Enter to delete all of the stored travel points for the given location (not reversible!) -
Type
I.SignpostFastTravel.ForgetAll()
and press Enter to forget all travel targets (not reversible!) -
Type
I.SignpostFastTravel.ShowInCombat()
and press Enter and a list of all actors the mod thinks you’re in combat with will be printed in the console (F10) -
Type
I.SignpostFastTravel.ShowPoints("Some Name")
and press Enter to travel to a print points for the given location to the console (F10) -
Type
I.SignpostFastTravel.P()
and press Enter to print your list of found targets and their points to the console (F10) -
Type
I.SignpostFastTravel.TravelTo("Some Name")
and press Enter to travel to a random stored point in the given location -
Type
exit()
and press Enter to exit the Lua console when done
→ Lua Interface
The following may be used in another mod when installed alongside this one:
-
I.SignpostFastTravel.GetPoint("Some Name")
returns a random point for the given location as autil.vector3
if there is one,nil
if not
if I.SignpostFastTravel then
local balmoraRandPoint = I.SignpostFastTravel.GetPoint("Balmora")
if balmoraRandPoint then
-- Do something with the point
...
end
end
→ Report A Problem
If you’ve found an issue with this mod, or if you simply have a question, please use one of the following ways to reach out:
- Open an issue on GitLab
-
Email
signpost-fast-travel@modding-openmw.com
-
Contact the author on Discord:
@johnnyhostile
-
Contact the author on Libera.chat IRC:
johnnyhostile
→ Planned Features
- Random chance to interrupt travel with a fight at some location in between the travel source and destinations
- Allow adding to the cell naughty list via the interface
- Some (probably) Lua-based way to hide the tooltip on the signpost activators (while preserving their functionality as activators), for immersion when using mods like Signposts Retextured
- Use pathgrid path vs a straight line
- Factor player stats such as speed into time cost
- Factor timescale
- Optional add-on to place signposts in regions where they may be scarce
- Reset travel points in cells that are changed by quests when they reach a certain point in the quests’ progress