And backwards? Because I'm trying to make a moving target.
Change the (0,0,0) in the second line to how far you want it to go, in this case you'd change the x axis. Experiment with the time to see what seems right. Change the increment to something quite low, to make it look smooth.
Basically you can make it slide along the x axis
local Part = Workspace.Part -- this is the Part we will move local newPos = Part.Position + Vector3.new(0,0,0) -- the position the Part will go to local Time = 10 -- the time that the script will take to move the part local Increment = 0.5 -- the Part will move 0.5 studs each time it moves local Debounce = false local Diff = newPos - Part.Position -- the difference between the two positions local Mag = Diff.magnitude -- the distance between the two parts local Direction = CFrame.new(Part.Position, newPos).lookVector function MovePart() -- function to move the Part if Debounce then return end -- end the function if debounce is true Debounce = true -- make Debounce true so the function can't run for n = 0, Mag, Increment do Part.CFrame = Part.CFrame + (Direction * Increment) wait( (Time/Mag) * Increment ) end Debounce = false -- set Debounce to false so the function can run again end Workspace.Button.ClickDetector.MouseClick:connect(MovePart)
code source: roblox wiki part sliding