ScriptName StatueTeleportationScript extends ObjectReferenceActivator Property SummonTargetFXActivator AutoActor Property PlayerREF AutoObjectReference Property Statue01REF AutoObjectReference Property Statue02REF AutoEvent OnActivate(ObjectReference akActivator) If akActivator == PlayerREF If Self == Statue01REF ; To Teleport(akActivator, Statue02REF, 128, 128, 0) ; Offset will need fine tuning ElseIf Self == Statue02REF ; Fro Teleport(akActivator, Statue01REF, 128, 128, 0) ; Offset will need fine tuning EndIf EndIfEndEventFunction Teleport(ObjectReference akTraveler = None, ObjectReference akDestination = None, Float afOffsetX = 0.0, Float afOffsetY = 0.0, Float afOffsetZ = 0.0, ObjectReference arPortal = None, Int aiStage = 0, Float afDelay = 0.0) While aiStage < 6 aiStage += 1 If aiStage == 1 ; Shroud Player with portal arPortal = akTraveler.PlaceAtMe(SummonTargetFXActivator) ElseIf aiStage == 2 ; Make Player appear to vanish into the void akTraveler.SetScale(0.0) ElseIf aiStage == 3 ; Move the portal to the opposite statue arPortal.MoveTo(akDestination, afOffsetX, afOffsetY, afOffsetZ) ElseIf aiStage == 4 ; Move Player to portal akTraveler.MoveTo(arPortal) ElseIf aiStage == 5 ; Make the Player appear as the portal dissipates akTraveler.SetScale(1.0) EndIf Utility.Wait(afDelay) EndWhileEndFunction