[Vests] Making them get seen by the person wearing it

Okay, so basically, I have a vest with the following Script:

Summary

function onTouched(hit)

if hit.Parent:findFirstChild(“Humanoid”) ~= nil and hit.Parent:findFirstChild(“Vest”) == nil then
local g = script.Parent.Parent.Vest:clone()
g.Parent = hit.Parent
local C = g:GetChildren()
for i=1, #C do
if C[i].className == “Part” or C[i].className == “UnionOperation” or C[i].className == “MeshPart” then
local W = Instance.new(“Weld”)
W.Part0 = g.Middle
W.Part1 = C[i]
local CJ = CFrame.new(g.Middle.Position)
local C0 = g.Middle.CFrame:inverse()*CJ
local C1 = C[i].CFrame:inverse()*CJ
W.C0 = C0
W.C1 = C1
W.Parent = g.Middle
end
local Y = Instance.new(“Weld”)
Y.Part0 = hit.Parent.Torso
Y.Part1 = g.Middle
Y.C0 = CFrame.new(0, 0, 0)
Y.Parent = Y.Part0
end

  local h = g:GetChildren()
  for i = 1, # h do
  	h[i].Anchored = false
  	h[i].CanCollide = false
  end

end
end

script.Parent.Touched:connect(onTouched)

That works perfectly, but if you wear it, you can only see the SpringConstraints that are included it, and not any other parts, and thats what I wanna fix.
Any other Player sees the Vests perfectly fine, but if you wear it yourself, and look at it in First Person, you cant see it.
Does anyone have an Idea how to do that?