Player can have multiple stands

I am making a game, where if the player uses an arrow, they will get a stand, which is nothing too important at the moment, and if the player uses an item called a rokaka, their stand will be deleted. My problem is that you can have multiple stands at the same time if you use an arrow without a rokaka. I tried to add something in my script that checks if they have a folder, with an object called StandSummon, and if they do, it should just print “hasStand”, and kill the player, which it does, but it also gives the player another stand, which I don’t want. It has an else statement for if there is no folder with StandSummon, which will give it the stand. It for some reason after finishing the if statement check for if they have a folder with the StandSummon object, it still gives a stand even if they already have a folder of that sort. This is not the entire script. Just a part of it.

     for i, v in pairs(Backpack:GetChildren()) do
				if v:IsA("Folder") then
		
						local StandSummon = v:FindFirstChild("StandSummon")
						if StandSummon then
						print("has stand")
						player.Character.Humanoid:TakeDamage(10000000000)
						
					elseif v:FindFirstChild("StandSummon") == nil then
						local Stand = Stands:FindFirstChild("Stand1"):Clone()
						Stand.Parent = Backpack

						local PlrStats = player:FindFirstChild("PlrStats")
						if PlrStats then
							local  currentStand = PlrStats:FindFirstChild("Stand")
							currentStand.Value = "Stand1"
						end
						end
					end
				end ```

As someone who doesn’t watch anime, I find this very hard to understand. Can you please reword your post so that someone like me can understand what you’re asking?

Sure, give me one second.

Let me reword it very fast.

I have changed it. Is it understandable now?

Well, you can make sure that a player only has one stand by checking if they already have one before using one.

e.g

if not player:FindFirstChild("Stand") then
-- add stand
end

Honestly just make sure that you are using if statements and checking everything.

Give me one second to try that out.

Nope, still doesn’t work.

This is how the script looks now


for i, v in pairs(Backpack:GetChildren()) do
			if v:IsA("Folder") then
				local StandSummon = v:FindFirstChild("StandSummon")
				if not StandSummon then

					local Stand = Stands:FindFirstChild("Stand1"):Clone()
					Stand.Parent = Backpack
					local PlrStats = player:FindFirstChild("PlrStats")
					if PlrStats then
						local  currentStand = PlrStats:FindFirstChild("Stand")
						currentStand.Value = "Stand1"
					end

				end
			end


		end