Paste
Pasted as Lua by xyz ( 6 years ago )
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Lift = script.Parent
--local DURATION = 3
local Door11 = game.Workspace.Door11
local Door12 = game.Workspace.Door12
local Door21 = game.Workspace.Door21
local Door22 = game.Workspace.Door22
local Door31 = game.Workspace.Door31
local Door32 = game.Workspace.Door32
local LiftGroup = game.Workspace.LiftGroup
local InDoor1 = LiftGroup.InDoor1
local InDoor2 = LiftGroup.InDoor2
local CD1 = game.Workspace.Part1.ClickDetector
local CD2 = game.Workspace.Part2.ClickDetector
local CD3 = game.Workspace.Part3.ClickDetector
for _, Part0 in pairs (LiftGroup:GetChildren()) do
if Part0:IsA("BasePart") and not (Part0 == Lift) then
local WeldConstraint = Instance.new("WeldConstraint")
WeldConstraint.Part0 = Part0
WeldConstraint.Part1 = Lift
WeldConstraint.Parent = WeldConstraint.Part0
end
end
local Tweenfo = TweenInfo.new(
3,
Enum.EasingStyle.Sine,
Enum.EasingDirection.In,
0,
false,
0
)
local Goals1 =
{
CFrame = CFrame.new(0,0,0)
}
local Goals2 =
{
CFrame = CFrame.new(0,15,0)
}
local Goals3 =
{
CFrame = CFrame.new(0,30,0)
}
local TweenLift1 = TweenService:Create(Lift, Tweenfo, Goals1)
local TweenLift2 = TweenService:Create(Lift, Tweenfo, Goals2)
local TweenLift3 = TweenService:Create(Lift, Tweenfo, Goals3)
local DoorOpenTweenfo = TweenInfo.new(
2,
Enum.EasingStyle.Sine,
Enum.EasingDirection.In,
0,
false,
0
)
local DoorGoals11 = {Position = Vector3.new(7.85,5.75,-5.35)}
local DoorGoals12 = {Position = Vector3.new(-7.85,5.75,-5.35)}
local DoorGoals21 = {Position = Vector3.new(7.85,20.75,-5.35)}
local DoorGoals22 = {Position = Vector3.new(-7.85,20.75,-5.35)}
local DoorGoals31 = {Position = Vector3.new(7.85,35.75,-5.35)}
local DoorGoals32 = {Position = Vector3.new(-7.85,35.75,-5.35)}
local DoorCloseGoals11 = {Position = Vector3.new(2.96,5.75,-5.35)}
local DoorCloseGoals12 = {Position = Vector3.new(-2.96,5.75,-5.35)}
local DoorCloseGoals21 = {Position = Vector3.new(2.96,20.75,-5.35)}
local DoorCloseGoals22 = {Position = Vector3.new(-2.96,20.75,-5.35)}
local DoorCloseGoals31 = {Position = Vector3.new(2.96,35.75,-5.35)}
local DoorCloseGoals32 = {Position = Vector3.new(-2.96,35.75,-5.35)}
local InDoorGoals1 = {CFrame = Lift.CFrame*CFrame.new(-7.71,5.8,-5.5)}
local InDoorGoals2 = {CFrame = Lift.CFrame*CFrame.new(7.71,5.8,-5.5)}
local InDoorCloseGoals1 = {CFrame = Lift.CFrame*CFrame.new(-2.71,5.8,-5.5)}
local InDoorCloseGoals2 = {CFrame = Lift.CFrame*CFrame.new(2.71,5.8,-5.5)}
--local Doors = {{game.Workspace.Door11, game.Workspace.Door12}, {game.Workspace.Door21, game.Workspace.Door22}}
local TweenDoor1 = TweenService:Create(Door11, DoorOpenTweenfo, DoorGoals11)
local TweenDoor12 = TweenService:Create(Door12, DoorOpenTweenfo, DoorGoals12)
local TweenDoor2 = TweenService:Create(Door21, DoorOpenTweenfo, DoorGoals21)
local TweenDoor22 = TweenService:Create(Door22, DoorOpenTweenfo, DoorGoals22)
local TweenDoor3 = TweenService:Create(Door31, DoorOpenTweenfo, DoorGoals31)
local TweenDoor32 = TweenService:Create(Door32, DoorOpenTweenfo, DoorGoals32)
local TweenIndoor1 = TweenService:Create(InDoor1, DoorOpenTweenfo, InDoorGoals1)
local TweenIndoor2 = TweenService:Create(InDoor2, DoorOpenTweenfo, InDoorGoals2)
local TweenCloseIndoor1 = TweenService:Create(InDoor1, DoorOpenTweenfo, InDoorCloseGoals1)
local TweenCloseIndoor2 = TweenService:Create(InDoor2, DoorOpenTweenfo, InDoorCloseGoals2)
local TweenCloseDoor1 = TweenService:Create(Door11, DoorOpenTweenfo, DoorCloseGoals11)
local TweenCloseDoor12 = TweenService:Create(Door12, DoorOpenTweenfo, DoorCloseGoals12)
local TweenCloseDoor2 = TweenService:Create(Door21, DoorOpenTweenfo, DoorCloseGoals21)
local TweenCloseDoor22 = TweenService:Create(Door22, DoorOpenTweenfo, DoorCloseGoals22)
local TweenCloseDoor3 = TweenService:Create(Door31, DoorOpenTweenfo, DoorCloseGoals31)
local TweenCloseDoor32 = TweenService:Create(Door32, DoorOpenTweenfo, DoorCloseGoals32)
local TweenCloseDoor = {{TweenCloseDoor1, TweenCloseDoor12},{TweenCloseDoor2, TweenCloseDoor22},{TweenCloseDoor3, TweenCloseDoor32}}
local TweenDoor = {{TweenDoor1, TweenDoor12},{TweenDoor2, TweenDoor22},{TweenDoor3, TweenDoor32}}
local function CloseInDoors ()
TweenCloseIndoor1:Play()
TweenCloseIndoor2:Play()
end
local function InDoors ()
TweenIndoor1:Play()
TweenIndoor2:Play()
end
--local inc = 5*(tick()%DURATION)/DURATION
local function CloseDoors(Door)
for _,Door in pairs(TweenCloseDoor) do
Door[1]:Play()
Door[2]:Play()
end
--Door[1].CFrame = Door[1].CFrame * CFrame.new(0, 0, inc)
--Door[2].CFrame = Door[2].CFrame * CFrame.new(0, 0, -inc)
-- end
end
--- Insert a Vector3 to return to?
local function OpenDoor(Door)
Door[1]:Play()
Door[2]:Play()
--Door[1].CFrame = Door[1].CFrame * CFrame.new(0, 0, -inc)
--Door[2].CFrame = Door[2].CFrame * CFrame.new(0, 0, inc)
end
function OpenDoors()
for _,Door in pairs(TweenDoor) do
OpenDoor(Door)
end
end
CD1.MouseClick:Connect(function()
CloseDoors()
wait()
CloseInDoors()
wait(2)
--BoolVal = true
TweenLift1:Play()
TweenLift1.Completed:Connect(function()
InDoors()
wait()
OpenDoor(TweenDoor[1])
end)
end)
CD2.MouseClick:Connect(function()
CloseDoors()
wait()
CloseInDoors()
wait(2)
--BoolVal = true
TweenLift2:Play()
TweenLift2.Completed:Connect(function()
InDoors()
wait()
OpenDoor(TweenDoor[2])
end)
end)
CD3.MouseClick:Connect(function()
CloseDoors()
wait()
CloseInDoors()
wait(2)
--BoolVal = true
TweenLift3:Play()
TweenLift3.Completed:Connect(function()
InDoors()
wait()
OpenDoor(TweenDoor[3])
end)
end)
Revise this Paste
Children: 105707