This script is for a V.I.P Door:
local door = script.Parent
function open()
-- This function will open the door.
door.CanCollide = false -- Make players able to walk through the door.
for transparency = 0, 1, .1 do
door.Transparency = transparency
wait(.1)
end
end
function close()
-- This function will close the door.
for transparency = 1, 0, -.1 do
door.Transparency = transparency
wait(.1)
end
door.CanCollide = true -- Make players unable to walk through the door.
end
-- This function returns the player a certain part belongs to.
function get_player(part)
--iterate over each player
for _, player in ipairs(game.Players:GetPlayers()) do
--if the part is within the player's character
if part:IsDescendantOf(player.Character) then
--return the player
return player
end
end
end
door.Touched:connect(function(part)
-- If it isn't a character that touched the door, then we ignore it.
local player = get_player(part)
if not player then return end
local allow = (
false
)
if allow then
open()
delay(4, close)
end
player:IsInGroup(980953)
end)

2 comments
How do you know it 'doesn't work'? Are there errors? Does it partially behave correctly?
Actually never mind. I solved it myself.