You will 100% need a verse script to accomplish that.
You will need to retrieve the Current Location/Transform of the player as a fort_character.
To Teleport a device/prop you can just call .TeleportTo[]
or .MoveTo()
with the Location and rotation and in the case of MoveTo a duration in seconds.
You can get the local forward as a vector3 by calling fort_character.GetViewRotation().GetLocalForward()
and then multiply that by how much far forward you want it to be and then just add that vector3 to the fort_character’s current transform
TeleportMyProp(Teleport:creative_device_base,Center:transform,X:float,Y:float,Z:float,Rotation:rotation,XR:float,YR:float,ZR:float,XS:float,YS:float,ZS:float):void=
if. Teleport.TeleportTo[transform{Translation:=Center.Translation+Center.Rotation.GetLocalForward()*X+Center.Rotation.GetLocalRight()*Y+Center.Rotation.GetLocalUp()*Z,Rotation:=Rotation.ApplyRoll(DegreesToRadians(XR)).ApplyPitch(DegreesToRadians(YR)).ApplyYaw(DegreesToRadians(ZR)),Scale:=vector3{X:=XS,Y:=YS,Z:=ZS}}]
I have been using this function personally to teleport stuff relative to the player
Center Being
Center:=transform{Translation:=FCT.Translation+FCT.Rotation.GetLocalForward()*300.0+FCT.Rotation.GetLocalUp()*50.0,Rotation:=FCT.Rotation.ApplyYaw(DegreesToRadians(90*3.0))}
And when used to teleport a prop it looks something like this
TeleportMyProp(StatsBillboard,Center,-100.0,3.0,-43.0,Center.Rotation,0.0,0.0,0.0,0.65625,0.65625,0.65625)