Why do I get 2 tools instead of 1?

So I have this script

game:GetService("ReplicatedStorage").ToolPurchase.OnServerEvent:Connect(function(player)
	if not player.Backpack:FindFirstChild("Teddy") then
		local Gifts = script.Parent.Gifts:GetChildren()
		local selectedTool = Gifts[math.random(1, #Gifts)]
		selectedTool:Clone().Parent = player.Backpack
   end
end)

And I have a folder named “Gifts” so when I test the game it gives me 2 tools like example: it gives me sword and gun. what I want is only 1 item given. any help? no errors.

Add a print line to confirm the event is actually firing twice, which is probably what is happening here.

1 Like

Can you show the LocalScript used to fire the event?