Shop GUI broken

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I am trying to achieve a shop GUI that lets you buy items such as guns.

  2. What is the issue? Include screenshots / videos if possible!
    I’ve noticed that everytime you buy an item, it clones the item three times. I think this has to do with the remotes and the amount of TextButtons.

Here’s a video:
https://gyazo.com/41fd1a1efc426cda61f38e8887c8f45a

And here are the scripts:

Button Script:

local info = game.ReplicatedStorage.ShopItems.Draco.Info
local price = info.Price.Value
local desc = info.Desc.Value
local title = game.ReplicatedStorage.ShopItems.Draco.Name
local itemsFolder = game.ReplicatedStorage.ShopItems



script.Parent.MouseButton1Click:Connect(function()
	script.Parent.Parent.Description.Description.Text = desc
	script.Parent.Parent.Description.Buy.Text = price	
	script.Parent.Parent.Description.Title.Text = title
	script.Parent.Parent.Description.Image.Image = "rbxassetid://6573815357"
end)

local textTitle = script.Parent.Parent.Description.Title

textTitle.Parent.Buy.MouseButton1Click:Connect(function()
	textTitle.Parent.Buy.Visible = false
	game.ReplicatedStorage.OnBought:FireServer(itemsFolder[textTitle.Text])
	wait(3)
	textTitle.Parent.Buy.Visible = true
end)

Shop Script:

local items = game.ReplicatedStorage:WaitForChild("ShopItems")



game.ReplicatedStorage:WaitForChild("OnBought").OnServerEvent:Connect(function(plr, itemBought)
	
	if itemBought and itemBought:IsA("Tool") and itemBought.Parent == items then
		
		
		local cash = plr:WaitForChild("leaderstats").Money
		
		if cash.Value >= itemBought.Info.Price.Value then
			
			cash.Value -= itemBought.Info.Price.Value
			
			itemBought:Clone().Parent = plr.Backpack
		end
	end
end)

Here are some images if you want to see them:
image
image

  1. What solutions have you tried so far? Did you look for solutions on the Developer Hub?

So what I’ve tried is deleting one of the buttons in the GUI so there are only two buttons, and when I tested it, it gave me 2 guns. So I removed another button and it gave me only 1 gun. I’m confused on how the amount of buttons has to do with the amount of guns it gives you.

Please do not ask people to write entire scripts or design entire systems for you. If you can’t answer the three questions above, you should probably pick a different category.