I need real time is it factible?
I just tried a solution with the dwenmer lift and it worked just fine using the script below. The lift goes down with the player on it and also back up. I don't know if a sideways motion would work as slick but it just needs to be tried. I have a video of it to show how smooth it works but don't have anywhere to upload. Ignore the reference to water in the script below..I used it to empty a room of water as well.
The script is attached to the lift activator and the LowMarker property is just set to an Xmarker I placed at the bottom for the Z postion. The lifts beggining Z value is used for the return trip. I would imagine that if you could get a follower to get on the lift with you they would also ascend/descend. The translate speed is pretty smooth at 50. I would imagine that too fast would get pretty shaky.
I thought it might be tough to get the player to go down with it smoothly but it works nice. I would imagine that using it with any activator platform would work. If you want to go on an angle just use your xmarker to fill all of the position properties.
You can make a new activator and assign it the graphic that you want. Be it a platform or rope bridge type of thing.
Scriptname BAMM_WaterTranslateScript extends ObjectReference{Water Translate Script for Pump Activation};========;;PROPERTIESInt Property CurrentState = 2 Auto HiddenObjectReference Property LowMarker Auto{Xmarker Destination Water Height}Float Property WaterHeight Auto{Current Position Z}Int Property translateSpeed = 50 Auto{Water Descending Speed}float property afX autofloat property afY autofloat property afZ autofloat property afZTop autofloat property afZBottom autofloat property afXAngle autofloat property afYAngle autofloat property afZAngle auto;=====;;STATESAuto State Phase1 Event OnActivate(ObjectReference akActionRef) If CurrentState == 2 Debug.Trace("State 2 Heading to Lift Down Stage") GoToState("Phase2") ElseIf CurrentState == 3 Debug.Trace("State 3 Heading to Lift Up Stage") GoToState ("Phase3") Else Debug.Trace("I Don't seem to know what state I am in") EndIF EndEventEndStateState Phase2 Event OnBeginState() afX = Self.GetPositionX() afY = Self.GetPositionY() afZTop = Self.GetPositionZ() afZBottom = LowMarker.GetPositionZ() afXAngle = Self.GetAngleX() afYAngle = Self.GetAngleY() afZAngle = Self.getAngleZ() Debug.Trace(afx + "Xpos" + afy + "Ypos" + afzBottom + "Zpos" + TranslateSpeed + "Speed") TranslateTo(afX, afY, afZBottom, afXAngle, afYAngle, afZAngle, TranslateSpeed, 0.0) Debug.Trace("Heading Down") EndEvent Event OnTranslationComplete() Debug.MessageBox("Lift Complete") CurrentState = 3 GoToState("Phase1") EndEventEndStateState Phase3 Event OnBeginState() afX = Self.GetPositionX() afY = Self.GetPositionY() afXAngle = Self.GetAngleX() afYAngle = Self.GetAngleY() afZAngle = Self.getAngleZ() Debug.Trace(afx + "Xpos" + afy + "Ypos" + afzTop + "Zpos" + TranslateSpeed + "Speed") TranslateTo(afX, afY, afZTop, afXAngle, afYAngle, afZAngle, TranslateSpeed, 0.0) Debug.Trace("Heading Up") EndEvent Event OnTranslationComplete() Debug.MessageBox("Lift Complete") CurrentState = 2 GoToState("Phase1") EndEventEndStateState Phase4EndStateState Done;Send Here when completeEndState;=======;;FUNCTIONS