Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do I fix this repeat to make the desiredangle go down and up after the before code?

Asked by 6 years ago
Edited 6 years ago

So, I am trying to make this script randomise a motor6d start position, then go either down or up and then just keep going down and up. It works fine until the repeat. It goes to StartPosition and moves to DesiredPosition and then go the other way but then it stop and won't keep going up/down.

I tried this at first:

local tilt = script.Parent.Startposition.Value

    function OnClick(Player)
            script.Parent.Startposition.Value = math.random(-15,15)/10
            script.Parent.Desiredposition.Value = math.random(0,4)
            wait (0.5)
            script.Parent.Tilt.CurrentAngle = script.Parent.Startposition.Value
            wait (0.05)
            script.Parent.Tilt.DesiredAngle = script.Parent.Startposition.Value
            wait (0.05)
            if script.Parent.Desiredposition.Value >= 3 then
            script.Parent.Tilt.DesiredAngle = 1.5
            script.Parent.Direction.Value = 1.5
            else
            script.Parent.Tilt.DesiredAngle = -1.5
            script.Parent.Direction.Value = -1.5
            end
            repeat wait(0.1) until script.Parent.Tilt.CurrentAngle == script.Parent.Direction.Value
        print ("weee")
--- I think this below is what won't work
        repeat
            if script.Parent.Direction.Value == 1.5 then
            script.Parent.Tilt.DesiredAngle = -1.5
            else
            script.Parent.Tilt.DesiredAngle = 1.5
            end
            repeat wait(0.1) until script.Parent.Tilt.CurrentAngle == script.Parent.Tilt.DesiredAngle
        until
        script.Parent.On.Value == false

    end



    game.Workspace.TES2.ClickDetector.MouseClick:connect(OnClick)

Did not output any errors and still did not work so I tried changing the repeat to another thing but still did not work better.

    print ("weee")
    repeat
        if script.Parent.Tilt.DesiredAngle == 1.5 then
        script.Parent.Tilt.DesiredAngle = -1.5
        else
        script.Parent.Tilt.DesiredAngle = 1.5
        end
    repeat 
    wait(0.1) 
    until 
    script.Parent.Tilt.CurrentAngle == script.Parent.Tilt.DesiredAngle
    until
    script.Parent.On.Value == false



end

All help appreciated.

[ EDIT BELOW ] I tried switching to this too. Still no errors and still won't work.

    print ("weee")
    repeat
        if script.Parent.Tilt.DesiredAngle == 1.5 then
        script.Parent.Tilt.DesiredAngle = -1.5
        else
        script.Parent.Tilt.DesiredAngle = 1.5
        repeat wait(0.1) until script.Parent.Tilt.CurrentAngle == script.Parent.Tilt.DesiredAngle
        end
        until script.Parent.On.Value == false


end

Answer this question