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

Making a sliding door when a certain group rank?

Asked by 3 years ago

Hello there I am trying to make a door slide open when a certain rank is interacting with it. I tried this code but It didn't worked I tried true and false and it still did not work please help here is my code. Plus the group id is stored in numvalue "L". Sorry about too much lines I just need the group problem fixed.


local MOVE_IN_BY = 0.25 local ROOM_LEFT = 0.35 local WAIT_FOR = 0.2 local TIME_OPEN = 0 local model = script.Parent local door = model.Door door.PrimaryPart = door.Main local doorcf = door.Main.CFrame local doorX = door.Main.Size.x local doorClosed = true local doorMoving = false for _,button in pairs(model:children()) do game.Players.PlayerAdded:Connect(function(Player) if Player:GetRankInGroup(script.Parent.Parent.GroupValues.CoreGroup.ID.L.Value) == 255 then doorMoving = false else doorMoving = true end end) if button.Name == "Button" and button:FindFirstChild("ClickDetector") then button.ClickDetector.MouseClick:connect(function() if doorMoving then return end doorMoving = true if TIME_OPEN == 0 then if doorClosed then for i = 0,MOVE_IN_BY,0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(0,0,-i)) wait() end wait(WAIT_FOR) for i = 0,doorX-ROOM_LEFT,0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(i,0,-MOVE_IN_BY)) wait() end door:SetPrimaryPartCFrame(doorcf*CFrame.new(doorX-ROOM_LEFT,0,-MOVE_IN_BY)) doorClosed = false else for i = doorX-ROOM_LEFT,0,-0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(i,0,-MOVE_IN_BY)) wait() end wait(WAIT_FOR) for i = MOVE_IN_BY,0,-0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(0,0,-i)) wait() end door:SetPrimaryPartCFrame(doorcf) doorClosed = true end else for i = 0,MOVE_IN_BY,0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(0,0,-i)) wait() end wait(WAIT_FOR) for i = 0,doorX-ROOM_LEFT,0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(i,0,-MOVE_IN_BY)) wait() end door:SetPrimaryPartCFrame(doorcf*CFrame.new(doorX-ROOM_LEFT,0,-MOVE_IN_BY)) wait(TIME_OPEN) for i = doorX-ROOM_LEFT,0,-0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(i,0,-MOVE_IN_BY)) wait() end wait(WAIT_FOR) for i = MOVE_IN_BY,0,-0.05 do door:SetPrimaryPartCFrame(doorcf*CFrame.new(0,0,-i)) wait() end door:SetPrimaryPartCFrame(doorcf) end doorMoving = false end) end end

Answer this question