I took this random door from the toolbox it had two different scripts for opening different sides, but I wanted that the door would open with a single press of E
Here is the video of the door opening
This is the script I made
local TweenService = game:GetService("TweenService")
local door = script.Parent
local door2 = script.Parent.Parent.Door2
local doorHinge = door.PrimaryPart
local doorHinge2 = door2.PrimaryPart
local doorOpen = TweenInfo.new()
local doorCFrame = TweenService:Create(doorHinge, doorOpen, {
CFrame = doorHinge.CFrame * CFrame.Angles(0, math.rad(-100),0)--Change 100 to whatever value. Range of swing.
})
local doorCFrameClosed = TweenService:Create(doorHinge, doorOpen, {
CFrame = doorHinge.CFrame * CFrame.Angles(0, math.rad(0),0)--Change 100 to whatever value. Range of swing.
})
local doorOpen2 = TweenInfo.new()
local doorCFrame2 = TweenService:Create(doorHinge2, doorOpen2, {
CFrame = doorHinge.CFrame * CFrame.Angles(0, math.rad(20),0)--Change 100 to whatever value. Range of swing.
})
local doorCFrameClosed2 = TweenService:Create(doorHinge2, doorOpen2, {
CFrame = doorHinge2.CFrame * CFrame.Angles(0, math.rad(0),0)--Change 100 to whatever value. Range of swing.
})
local ProximityPrompt = script.Parent.ProximityPrompt
local PromptVanish = ProximityPrompt.Enabled == false
local PromptAppear = ProximityPrompt.Enabled == true
ProximityPrompt.Triggered:Connect(function()
doorCFrame:Play()
doorCFrame2:Play()
ProximityPrompt.Enabled = false
script.Parent.Open:Play()--rbxassetid://192416578
wait(2)--Door Stays Open this long
doorCFrameClosed:Play()
doorCFrameClosed2:Play()
ProximityPrompt.Enabled = true
wait(1)
script.Parent.Close:Play()
end)
This is the original Second Door script
local TweenService = game:GetService("TweenService")
local door = script.Parent
local doorHinge = door.PrimaryPart
local doorOpen = TweenInfo.new()
local doorCFrame = TweenService:Create(doorHinge, doorOpen, {
CFrame = doorHinge.CFrame * CFrame.Angles(0, math.rad(100),0)--Change 100 to whatever value. Range of swing.
})
local doorCFrameClosed = TweenService:Create(doorHinge, doorOpen, {
CFrame = doorHinge.CFrame * CFrame.Angles(0, math.rad(0),0)--Change 100 to whatever value. Range of swing.
})
local ProximityPrompt = script.Parent.ProximityPrompt
local PromptVanish = ProximityPrompt.Enabled == false
local PromptAppear = ProximityPrompt.Enabled == true
ProximityPrompt.Triggered:Connect(function()
doorCFrame:Play()
ProximityPrompt.Enabled = false
script.Parent.Open:Play()--rbxassetid://192416578
wait(3)--Door Stays Open this long
doorCFrameClosed:Play()
ProximityPrompt.Enabled = true
wait(1)
script.Parent.Close:Play()
end)