Video: https://www.youtube.com/watch?v=f9irPras66c
Timestamps: 18:35 - 19:02
(Without buttons)
You can make it so that the part or device is always a certain amount up the Y axis
Ex.
local RunService = game:GetService('RunService') -- faster than wait() local part = -- your part local baseplate = workspace.Baseplate -- optional, where do you want to compare the vector3 from? RunService.Heartbeat:Connect(function() -- the middle of a frame (1/60th of a second) part.Position = Vector3.new(part.Position.X,baseplate.Position.Y + 10,part.Position.Z) -- basically the parts position but it is 10 studs up from the baseplate end)
This would be a server script in workspace...hope this helps and if not I hope it leads you in the right direction
EDIT: VIDEO TUTORIAL: https://youtu.be/wVTAgxptjAw