Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function HandleGate(Doors)
- local Busy = false
- local Values = {}
- for k, v in next, (Doors.Config:GetChildren()) do
- Values[v.Value] = true
- end
- local function Open()
- local d1, d2;
- coroutine.wrap(function()
- for i = 1, 90 do wait()
- Doors.Right:SetPrimaryPartCFrame(Doors.Right.PrimaryPart.CFrame * CFrame.Angles(0,-math.pi/180,0))
- end
- d1 = true
- end)()
- coroutine.wrap(function()
- for i = 1, 90 do wait()
- Doors.Left:SetPrimaryPartCFrame(Doors.Left.PrimaryPart.CFrame * CFrame.Angles(0,math.pi/180,0))
- end
- d2 = true
- end)()
- repeat wait() until d1 and d2
- end
- local function Close()
- local d1, d2;
- coroutine.wrap(function()
- for i = 1, 90 do wait()
- Doors.Right:SetPrimaryPartCFrame(Doors.Right.PrimaryPart.CFrame * CFrame.Angles(0,math.pi/180,0))
- end
- d1 = true
- end)()
- coroutine.wrap(function()
- for i = 1, 90 do wait()
- Doors.Left:SetPrimaryPartCFrame(Doors.Left.PrimaryPart.CFrame * CFrame.Angles(0,-math.pi/180,0))
- end
- d2 = true
- end)()
- repeat wait() until d1 and d2
- end
- Doors.Right:SetPrimaryPartCFrame(Doors.Right.PrimaryPart.CFrame * CFrame.Angles(0,90*math.pi/180,0))
- Doors.Left:SetPrimaryPartCFrame(Doors.Left.PrimaryPart.CFrame * CFrame.Angles(0,-90*math.pi/180,0))
- for _, scan in next, (Doors.Parent:GetChildren()) do
- if (scan.Name == "Scan") then
- scan.ClickDetector.MouseClick:Connect(function(plr)
- if Busy then return end
- Busy = true
- if plr:GetRankInGroup(4881951) >= 190 then
- Open()
- wait(5)
- Close()
- end
- Busy = false
- end)
- end
- end
- for __, Model in next, (workspace:GetChildren()) do
- if (Model:IsA('Model') and (Model.Name:match('Gate')) and Model:FindFirstChild('Doors')) then
- HandleGate(Model:FindFirstChild('Doors'))
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement