I don't think it's related to my scripts but here they are anyway:
On the mask:
Spoiler
Scriptname AruhnSeprediaGlassMaskSCRIPT extends ActiveMagicEffect{Script of the Aruhn Sepredia mod. Attached to the Glass Mask. Teleports the user to Aruhn Sepredia.}objectReference property AruhnSeprediaReturnMarker auto{Marker used to return the player to his prior location.}Actor property Caster autoobjectReference property AruhnSeprediaMarker auto{Where to put the player when the mask is used as a key}location property AruhnSeprediaLocation auto{The Aruhn Sepredia Cell}imageSpaceModifier property AzuraFadeToBlack auto{Use a basic fade-to-black for the transition}imageSpaceModifier property FadeToBlackBackImod autoSound Property TransitionSFX AutoMessage Property ErrorMessage Autobool property needUpdate autoobjectReference property maskActual auto{Point explicity to the unique, placed reference of the mask in the world};Function to try and transport the playerFunction Transport(Actor Caster) if Caster == game.getPlayer() && Caster .isInLocation(AruhnSeprediaLocation) == FALSE if Caster.isInCombat() == FALSE needUpdate = FALSE AruhnSeprediaReturnMarker.moveto(caster) AzuraFadeToBlack.apply() TransitionSFX.play(caster) utility.wait(2.5) caster.moveTo(AruhnSeprediaMarker) FadeToBlackBackImod.apply() AzuraFadeToBlack.remove() else ;If the player is in combat, show error message and set for update ErrorMessage.Show() needUpdate = TRUE endif endifendFunctionEVENT OnEffectStart(Actor Target, Actor akCaster) Caster = akCaster Transport(Caster) if needUpdate == TRUE RegisterForUpdate(5) endIfendEVENTEVENT OnEffectStop() ;Safety measure UnregisterForUpdate()endEVENT;Tries to move the player every 5 seconds while mask is onEVENT OnUpdate() Transport(Caster) if needUpdate == FALSE UnregisterForUpdate() endIfendEVENT
On the portal inside the house:
Spoiler
Scriptname AruhnSeprediaReturnSCRIPT extends ObjectReference {Returns the player to his previous location before using the glass mask.}objectReference property AruhnSeprediaReturnMarker auto{Marker used to return the player to his prior location.}imageSpaceModifier property AzuraFadeToBlack auto{Use a basic fade-to-black for the transition}imageSpaceModifier property FadeToBlackBackImod autoSound Property TransitionSFX AutoObjectReference Property maskActual Auto Armor Property MaskBase Auto Event OnTriggerEnter(ObjectReference akActionRef) AzuraFadeToBlack.apply() TransitionSFX.play(akActionRef) utility.wait(2.5) akActionRef.moveTo(AruhnSeprediaReturnMarker) FadeToBlackBackImod.apply() AzuraFadeToBlack.remove() if Game.getPlayer().isEquipped(maskBase) (akActionRef as Actor).UnequipItem(maskBase) endIf if akActionRef.getItemCount(maskActual) < 1 ; safety catch - if the player dropped the mask in Aruhn Sepredia, add it to inventory so it doesn't get lost. akActionRef.addItem(maskActual) endifendEvent
As you can see, basically the Wooden Mask script split over two objects.
I tried to use Game.FastTravel(AruhnSeprediaReturnMarker), but that did not work either. The marker I use to track the location is just an XMarkerHeading, no scripts attached.
Excuse the long names, I know, it's stupid to use names this long in scripts...