Weird weld error thing

I want to have a part weld to a person’s torso

The weld isn’t really updating and it isnt staying with the player so I
have tried different welds but it hasn’t worked sir

local Player = game.Players.LocalPlayer
local InteraPar = script.Parent:WaitForChild("PlayerInteractions")

function Clone(Character, destroy)
	if not destroy and (Player.Team == game.Teams.Sheriff or Player.Team == game.Teams.Police) and not Character:WaitForChild("HumanoidRootPart"):FindFirstChild("PlayerInteractions") then
		local Interacti = InteraPar:Clone()
		local partA = Interacti
		local partB = Player.Character.Torso

		local weld = Instance.new("WeldConstraint")
		weld.Parent = workspace
		weld.Part0 = partA
		weld.Part1 = partB
	elseif destroy and Character.HumanoidRooPlayerInteractionstPart:FindFirstChild("PlayerInteractions") or Character:FindFirstChild("PlayerInteractions") then
		Character.HumanoidRootPart.PlayerInteractions:Destroy()
		Character.PlayerInteractions:Destroy()
	end
end

for _, p in pairs(game.Players:GetPlayers()) do
	if p ~= Player then
		Clone(p.Character)
		p.CharacterAdded:Connect(function(c)
			Clone(c)
		end)
	end
end

game.Players.PlayerAdded:Connect(function(p)
	p.CharacterAdded:Connect(function(c)
		Clone(c)
	end)
end)


Player:GetPropertyChangedSignal("Team"):Connect(function()
	for _, p in pairs(game.Players:GetPlayers()) do
		if p ~= Player then
			Clone(p.Character, not (Player.Team == game.Teams.Sheriff or Player.Team == game.Teams.Police))
		end
	end
end)```

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.

https://gyazo.com/21f26ef3f1620e0930e5b01e93ba92fe