I tried but cant figure it out!
admins = {""} function isAdmin(name) for i,v in pairs(admins) do if name:lower() == v:lower() then return true end end return false end local door=script.Parent game.Players.PlayerAdded:connect(function(p) if isAdmin(p.Name) then p.Chatted:connect(function(msg) if msg=="Open lobby" then door.Transparency=.1 wait (.1) door.Transparency=.2 wait (.1) door.Transparency=.3 wait (.1) door.Transparency=.4 wait (.1) door.Transparency=.5 wait (.1) door.Transparency=.6 wait (.1) door.Transparency=.7 wait (.1) door.Transparency=.8 wait (.1) door.Transparency=.9 wait (.1) door.Transparency=1 door.CanCollide=false elseif msg=="Close lobby" then door.CanCollide=true door.Transparency=.9 wait (.1) door.Transparency=.8 wait (.1) door.Transparency=.7 wait (.1) door.Transparency=.6 wait (.1) door.Transparency=.5 wait (.1) door.Transparency=.4 wait (.1) door.Transparency=.3 wait (.1) door.Transparency=.2 wait (.1) door.Transparency=.1 end end) end end)
Not tested but should work.
GroupId = 0 --Group Id goes here Rank = plr:GetRankInGroup(GroupId) --Nothing needs to be edited here local door=script.Parent game.Players.PlayerAdded:connect(function(p) if Rank >= Rank number goes here then --Type the rank number of the lowest rank you want to enter p.Chatted:connect(function(msg) if msg=="Open lobby" then door.Transparency=.1 wait (.1) door.Transparency=.2 wait (.1) door.Transparency=.3 wait (.1) door.Transparency=.4 wait (.1) door.Transparency=.5 wait (.1) door.Transparency=.6 wait (.1) door.Transparency=.7 wait (.1) door.Transparency=.8 wait (.1) door.Transparency=.9 wait (.1) door.Transparency=1 door.CanCollide=false elseif msg=="Close lobby" then door.CanCollide=true door.Transparency=.9 wait (.1) door.Transparency=.8 wait (.1) door.Transparency=.7 wait (.1) door.Transparency=.6 wait (.1) door.Transparency=.5 wait (.1) door.Transparency=.4 wait (.1) door.Transparency=.3 wait (.1) door.Transparency=.2 wait (.1) door.Transparency=.1 end end) end end)