I have made an SCP game and I have a problem with a toggle button script this script used to work but is now broken for some reason and I am not sure if it has been broken or if roblox has changed the way scripts work and that script is no longer compatible. The script is supposed to get the rank of a player attempting to press the toggle and if their rank is above a certain rank it works if they are not it doesn't then all the doors in a certain room close.
Script:
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local PlayerService = game:GetService('Players')
local Workspace = game:GetService('Workspace')
local TweenService = game:GetService('TweenService')
local DOOR_ROOT = Workspace:WaitForChild('Systems'):WaitForChild('Celldoors'):WaitForChild('Doors')
local NetworkEvents = ReplicatedStorage:WaitForChild("NewEvents")
local DoorRemote = NetworkEvents:WaitForChild('DoorReplicate')
local Permissions = {}
function HasPermissionToUse(Player)
if Permissions[Player] == nil then
Permissions[Player] = Player:GetRankInGroup(2874380) >= 200 or Player:GetRankInGroup(3857842) >= 20 or Player:IsInGroup(3857842) or Player:IsInGroup(3857860)
end
return Permissions[Player]
end
DoorRemote.OnServerEvent:Connect(function(Player, Type, Door, Switch)
if not HasPermissionToUse(Player) then return end
if Type == "ToggleDoor" then
if Door and DOOR_ROOT:FindFirstChild(Door) then
DOOR_ROOT:FindFirstChild(Door).Status.Value = Switch and Switch or false
DOOR_ROOT:FindFirstChild(Door).Barrier.CanCollide = not DOOR_ROOT:FindFirstChild(Door).Status.Value
end
elseif Type == "ToggleAll" then
DOOR_ROOT.Parent.AllStatus.Value = not DOOR_ROOT.Parent.AllStatus.Value
for _,DoorModel in pairs(DOOR_ROOT:GetChildren()) do
DoorModel.Status.Value = DOOR_ROOT.Parent.AllStatus.Value
DoorModel.Barrier.CanCollide = not DoorModel.Status.Value
end
elseif Type == "ToggleRiot" then
DOOR_ROOT.Parent.RiotAlarm.Value = not DOOR_ROOT.Parent.RiotAlarm.Value
if DOOR_ROOT.Parent.RiotAlarm.Value then
--Master Event Announcement
end
end
end)
