How do I stop pet from cloning too much

Hello everybody, So whenever the player clicks Equip on the cat, the cat clones in his/her character and then follows the player around. The issue is that the player can click Equip multiple times and the cat will clone infinitely. Is there any way to prevent this
Screenshot 2022-04-06 201457
Screenshot 2022-05-06 200808
Local Script

local Equip = script.Parent
local template = script.Parent.Parent.Parent.Parent.Parent
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EquipPet = ReplicatedStorage:WaitForChild("EquipPet")

Equip.MouseButton1Click:Connect(function() -- when player clicks Equip, the Equip is a Ui that prompts players
	Equip.Text = "Equipped"

	local EquippedValue = template:WaitForChild("EquippedValue")
	EquippedValue.Value = "Equipped" -- value in template to store info
	template.check.ImageColor3 = Color3.fromRGB(82, 170, 55)

	for _, child in pairs(template:GetChildren()) do -- checking all children of template
		if child:IsA("Folder") and child.Name == "Cat"	then 
			print("Cat is a valid child of template")




Server Script ā€“ this script deals with positioning and oreientation of the pet

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EquipPet = ReplicatedStorage:WaitForChild("EquipPet")

	local char = player.Character

		local Cat = game.ReplicatedStorage.Pets.BasicEggPets.Cat:Clone()
	local humroot = char.HumanoidRootPart
--local i = 1	
		--while i == 1  do
		if Cat ~= nil and char ~= nil then 
			local modelSize = Cat.PrimaryPart.Size
			local attachmentCharacter ="Attachment")
			attachmentCharacter.Visible = false
			attachmentCharacter.Parent = humroot
			attachmentCharacter.Position =,-5.5,0) + modelSize
			local attachmentPet ="Attachment")
			attachmentPet.Visible = false
			attachmentPet.Parent = Cat.PrimaryPart
			local alignPosition ="AlignPosition")
			alignPosition.MaxForce = 25000
			alignPosition.Attachment0 = attachmentPet
			alignPosition.Attachment1 = attachmentCharacter
			alignPosition.Responsiveness = 25 
			alignPosition.Parent = Cat
			local AlignOrientation ="AlignOrientation")
			AlignOrientation.MaxTorque = 25000
			AlignOrientation.Attachment0 = attachmentPet
			AlignOrientation.Attachment1 = attachmentCharacter
			AlignOrientation.Responsiveness = 25 
			AlignOrientation.Parent = Cat
				Cat.Parent = char
				db = false

I recommend destroying the other one. Not the one equipped. Set it to do it every time a person equips.

1 Like

Oh wow easier than I thought it would be! Thanks for the help

1 Like

Your welcome. Iā€™m glad my last braincell could help you!