Jump to content

Moving a teleport door by script, losing teleport marker


pufthemajicdragon

Recommended Posts

I'm trying to move a load door from a temporary holding interior cell to the Tamriel worldspace exterior. Moving the door works fine, I can use it and teleport to my destination (an interior cell) fine as well. But when I use the linked door to teleport back I get dropped into the "safety zone" at Bleakwind Basin.

 

I tested moving a teleport door in the same interior cell and the teleport marker was not moved with the door. I tested moving a load door from one interior cell to another interior cell and the teleport marker moved with the door (placed in the same coordinates as the door, so I appeared inside the load door mesh). But moving from an interior to an exterior seems to be problematic.

 

Does anyone know of any possible causes or solutions to this issue?

If I move the door from an exterior worldspace to another exterior worldspace, would that work instead of going from an interior to an exterior?

 

Worst case scenario I can make custom doors and attach scripts to them to manually teleport to a custom xMarker but I'd like to use the regular doors if I can.

 

:edit:
I should add that disabling and re-enabling the door or moving it around in the Tamriel worldspace by the console makes no difference.

Edited by pufthemajicdragon
Link to comment
Share on other sites

Might be easier to make two sets of doors and have one set start as Initially Disabled, hook em all up to an xmarker (that being the enable parent and also initially disabled) and mark the ones not disabled as having an opposite enable state as the parent. You can attach a simple script to a trigger box that enables the xmarker so that when the player enters the box the disabled doors become enabled. Might be worth a shot.

Link to comment
Share on other sites

  • 1 year later...

I really haven't kept up on this thread and kind of gave up on that project, but now I'm running into the same problem on a different project.

 

The original project was to make a placeable house. You could buy the house at a merchant and it would place an object in your inventory. "Drop" the object and it becomes a full sized "house" that you can grab and move around and place it wherever you want. Then when you're satisfied, you would activate it and it would be replaced with a real house model. Since you could literally place it anywhere, the door had to be stashed in an extra cell (so its teleport settings could be set) and then moved into place when the house is built.

 

My current project is an overhaul of Breezehome. I'll be giving the player the option in game to use the original Breezehome or to use my overhaul when they purchase the home. This means no playing with vanilla Breezehome or doors (and I hate making any changes to anything vanilla anyway - it messes with compatibility). So my plan was to create a door in my new Breezehome interior, set up the teleport in the CS, and then disable the original Breezehome door (in the WhiteRun worldspace) and move my new Breezehome door into place when the player chooses my overhaul. But the teleport marker gets lost along the way.

 

Hopefully, with that understanding, it's easier to see why I can't place the doors in their locations disabled ahead of time (well, can't in the case of the placeable house, prefer not to in the case of Breezehome).

Link to comment
Share on other sites

The teleport destination is different than the door itself. Every working door is really two doors and two teleport markers. I don't know of any way to move those markers.

 

You may have to implement the way back out through scripting. Use the OnActivate event and then a function to move the character that activates the door to the right place instead of letting the normal door teleport do it.

Link to comment
Share on other sites

The teleport destination is different than the door itself. Every working door is really two doors and two teleport markers. I don't know of any way to move those markers.

 

I've been doing a lot of digging with TES5Edit, and I think the trouble is that the teleport marker isn't a real marker like it was in Oblivion (aaah the good ol' days). The marker is just a helper visible in the editor, the actual coordinates of the teleport destination are stored on the door itself, and the coordinates are relative to the cell that the door is in. So door A teleports to coordinates XYZ in cell M - move the door to a different cell and the teleport coordinates XYZ don't change and refer to a new location in the new cell. I'm not finished playing.

 

:edit:

EUREKA! I've found it! (sort of)

If I know the destination ahead of time, I can get the coordinates in game using player.getpos in the console. I then edit the door and assign it those coordinates in the CK *before* linking it to the other door. When I create the teleport link, the marker is placed with the door, and all I have to do is rotate it so its facing the right direction. When the door is moved, the teleport coordinates are the correct set for the new cell.

Down side is that now that door is a good 30,000 units away from anything else in my interior cell, which makes it a bit inconvenient to work with.

 

This works for my second case, where I know where I want the door to go ahead of time, such as with the Breezehome mod. It won't work for my placeable house idea, though.

Edited by pufthemajicdragon
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...