local cleaver = script.Parent
local handle = cleaver.Parent.WheelHandle
function CleaverActivate()
x = 8
repeat
cleaver.Position = Vector3.new(-26, x, -26.5)
wait(0.000125)
x = x-0.1
until x == 4
x=4
repeat --This is the part that doesn't work
cleaver.Position = Vector3.new(-26, x, -26.5)
wait(0.625)
x = x+0.1
until x == 8.4
end
handle.Touched:connect(function(p)
if p.Parent:FindFirstChild("Humanoid") then
CleaverActivate()
end
end)
This is what I've done. I activate the function, the function does its thing (It makes the cleaver fall down) but the cleaver does not go back up again.

2 comments
The first loop worked, the part flew downwards just like expected. I'm going to try to see if this works, it looks like it works.
It works!