How to make a functionnal and limited use vest

Okay so,
I’m trying to make a gun system which is supposed to equip a vest to the player who click on the vest model, located in workspace. The equip system work (script bellow), but he can still equip other vest after equipping one. The problem comes from that the value doesn’t change, but idk how to fix that, the code :

local Players = game:GetService("Players")
local Teams = game:GetService("Teams")
local click = script.Parent
local d = script.Parent.Parent
local vest = game.ReplicatedStorage.Vest
click.MouseClick:Connect(function(player)
	local x = player.Character:FindFirstChild("Vest")
	local y = player.Character:FindFirstChild("LVest")

	if not x then
		x = Instance.new("BoolValue")
		x.Parent = player.Character
		x.Name = "Vest"
	end
	if not y then
		y = Instance.new("BoolValue")
		y.Parent = player.Character 
		y.Name = "LVest"
	end

	if x.Value == false and y.Value == false and player.Team == Teams["DClass"] or player.Team == Teams["Scientist"] or player.Team == Teams["Guard"] or player.Team == Teams["GRUP"] or player.Team == Teams["ChaosI"] or player.Team == Teams["GOC"] or player.Team == Teams["O5"] or player.Team == Teams["UIU"] then
			local v = vest:Clone()
			print("Clone")
			v.Parent = player.Character
			v.Name = "HeavyVest"
			print("equipped")
			x = true
			player.Character.Humanoid.MaxHealth = player.Character.Humanoid.MaxHealth + 75
	     	player.Character.Humanoid.Health = player.Character.Humanoid.Health + 75
		   d:Destroy()
		print("Add health")
	elseif x.Value == false and y.Value == true and player.Team == Teams["DClass"] or player.Team == Teams["Scientist"] or player.Team == Teams["Guard"] or player.Team == Teams["GRUP"] or player.Team == Teams["ChaosI"] or player.Team == Teams["GOC"] or player.Team == Teams["O5"] or player.Team == Teams["UIU"] then
			local v = vest:Clone()
			v.Parent = player.Character
			v.Name = "HeavyVest"
			x = true
			player.Character.Humanoid.MaxHealth = player.Character.Humanoid.MaxHealth + 25
		player.Character.Humanoid.Health = player.Character.Humanoid.Health + 25
		d:Destroy()
		end
	end)

You should write x.Value = true instead of x = true