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

How to make a door smoothly go up after it is already down?

Asked by 2 years ago

Yooo, so I am making a game where you press a button and a door goes down and when you press it the second time, the door goes up.... but I have no idea how to make it go up after it goes down.

Here is the script to make the door go down

local part = game.Workspace.Door1 local ClickDetector = Instance.new("ClickDetector") local TweenService = game:GetService("TweenService") ClickDetector.Parent = script.Parent ClickDetector.MouseClick:Connect(function()

local goal = {}
goal.Position = Vector3.new(part.Position.X, part.Position.Y-10, part.Position.Z)

local tweenInfo = TweenInfo.new(1)

local tween = TweenService:Create(part, tweenInfo, goal)

tween:Play()

end)

0
Idk Why the script appears like 2 parts, the part above the actual script is part of the script as well austenman123 2 — 2y

3 answers

Log in to vote
0
Answered by 2 years ago

You can have a variable that changes when it goes up and then down.

local Variable == up
ClickDetector.MouseClick:Connect(function()
    if Variable == up then
        Variable = down
        local goal = {}
        goal.Position = Vector3.new(part.Position.X, part.Position.Y-10, part.Position.Z)

        local tweenInfo = TweenInfo.new(1)

        local tween = TweenService:Create(part, tweenInfo, goal)

        tween:Play()
    elseif Variable == down then
        Variable = up
        local goal = {}
        goal.Position = Vector3.new(part.Position.X, part.Position.Y+10, part.Position.Z)

        local tweenInfo = TweenInfo.new(1)

        local tween = TweenService:Create(part, tweenInfo, goal)

        tween:Play()
    end
end)
Ad
Log in to vote
0
Answered by 2 years ago
Edited 2 years ago
local Variable == up
ClickDetector.MouseClick:Connect(function()
    if Variable == up then
        Variable = down
        local goal = {}
        goal.Position = Vector3.new(part.Position.X, part.Position.Y-10, part.Position.Z)

        local tweenInfo = TweenInfo.new(1)

        local tween = TweenService:Create(part, tweenInfo, goal)

        tween:Play()
    elseif Variable = down then
        Variable = up
        local goal = {}
        goal.Position = Vector3.new(part.Position.X, part.Position.Y+10, part.Position.Z)

        local tweenInfo = TweenInfo.new(1)

        local tween = TweenService:Create(part, tweenInfo, goal)

        tween:Play()
    end
end)

This is the same as @Justin's exepct Without the two equal Signs

Log in to vote
0
Answered by 2 years ago

I keep getting this error when using your idea @Justin

Workspace.Part.Script:5: Expected identifier when parsing expression, got '=='

0
I didn't mean to put 2 equal signs on the first line. Just remove one of them JustinWe12 723 — 2y

Answer this question