local Players = game:GetService("Players")
groupID = 3237760
rankID = 10
local TweeenService = game:GetService("TweenService")
local door1 = script.Parent:WaitForChild("Door1")
local door2 = script.Parent:WaitForChild("Door2")
local tweenfor = TweenInfo.new(
0.5,
Enum.EasingStyle.Linear,
Enum.EasingDirection.Out,
0,
false,
0
)
local door1Open = {CFrame = CFrame.new(-78.9, 4.1, -164.2)}
local door2Open = {CFrame = CFrame.new(-78.9, 4.1, -172.45)}
local door1Close = {CFrame = CFrame.new(-78.9, 4.1, -167)}
local door2Close = {CFrame = CFrame.new(-78.9, 4.1, -169.75)}
local tween1open = TweeenService:Create(door1,tweenfor,door1Open)
local tween1close = TweeenService:Create(door1,tweenfor,door1Close)
local tween2open = TweeenService:Create(door2,tweenfor,door2Open)
local tween2close = TweeenService:Create(door2,tweenfor,door2Close)
script.Parent.Detector1.Touched:connect(function(hit)
local plr = Players:GetPlayerFromCharacter(hit.Parent)
if plr:GetRankInGroup(groupID) == rankID then
tween1open:Play()
tween2open:Play()
wait(2)
tween1close:Play()
tween2close:Play()
end
end)
script.Parent.Detector2.Touched:connect(function(hit)
local plr = Players:GetPlayerFromCharacter(hit.Parent)
if plr:GetRankInGroup(groupID) == rankID then
tween1open:Play()
tween2open:Play()
wait(2)
tween1close:Play()
tween2close:Play()
end
end)
Located in a model, server script.
What this script does is it makes a sliding door open if a player is an admin in a group. It gives me an error saying the plr is a nil value. Any help would be appreciated!

1 comment
Instead of using "local plr = Players:GetPlayerFromCharacter(hit.Parent)" at line 27, use local plr = Players:FindFirstChild(hit.Parent.Name)