I made this script so that I can lock all players in the server from using a certain gui. It can only be activated by players with a numbervalue (defined as "Rank") that has a value of 999 (developers). It works, but it can't be undone unless you keep the gui up because literally everyoen loses the abiltity to open the gui. I want to make an exception for players whose stored numbervalue ("Rank") is 999 so that their gui doesn't disappear. Any help is welcome :)
Here is the script (It is a server script):
local AlreadyActive = false function activate() local player = script.Parent.Parent.Parent.Parent.Parent.Parent local Rank = player:WaitForChild('Rank') if player.Rank.Value == 999 and AlreadyActive == false then -- This checks that the person running the command has a rank of 999. AlreadyActive = true local gamers = game.Players:GetChildren() -- This is the table that adds all the players for i, v in pairs(gamers) do v.PlayerGui.trollGui.Open.Visible = false end game.StarterGui.trollGui.Open.Visible = false elseif player.Rank.Value == 999 and AlreadyActive == true then AlreadyActive = false local sadgamers = game.Players:GetChildren() for i, v in pairs(sadgamers) do v.PlayerGui.trollGui.Open.Visible = true end game.StarterGui.trollGui.Open.Visible = true end end script.Parent.MouseButton1Click:Connect(activate)