So basically, I have 2 scripts. One is a team only gear script and the other is a gear drop script. When I have the team only gear script, the gear drop script doesn't work but if it isn't there, then it works. Help. Here are my 2 scripts.

Team Only Gear

function teamFromColor(color) 
for _,t in pairs(game:GetService("Teams"):GetChildren()) do 
if t.TeamColor==color then return t end 
end 
return nil 
end 

function onSpawned(plr) 
local tools = teamFromColor(plr.TeamColor):GetChildren() 
for _,c in pairs(tools) do 
c:Clone().Parent = plr.Backpack 
end 
end 

function onChanged(prop,plr) 
if prop=="Character" then 
onSpawned(plr) 
end 
end 

function onAdded(plr) 
plr.Changed:connect(function(prop) 
onChanged(prop,plr) 
end) 
end 

game.Players.PlayerAdded:connect(onAdded)

Gear drop on death

function onPlayerDeath(player, character)
	local center = character.Head.Position
	local tools = player.Backpack:GetChildren()
		for i = 1, #tools do
			local v = tools[i]
			if v:IsA("Tool") then
				v.Parent = workspace
				local theta = i/#tools*math.pi*2
				v.Handle.CFrame = CFrame.new(center + Vector3.new(math.sin(theta)*5, 0, math.cos(theta)*5), center)
				wait()
			end
		end
				for i = 1, #tools do
				if tools[i]:IsA("Keycard") then
					tools[i].Parent = creator.Value:FindFirstChild("Backpack")
				end
			end
		end

function onPlayerSpawned(player, character)
	character.Humanoid.Died:connect(function () onPlayerDeath(player, character) end)
end

function onPlayerChatted(player, message, recipient)

end

function onPlayerEntered(player)
	player.CharacterAdded:connect(function (char) onPlayerSpawned(player, char) end)
	player.Chatted:connect(function (msg, rec) onPlayerChatted(player, msg, rec) end)


end

game.Players.PlayerAdded:connect(onPlayerEntered)