I want to weld a gun to a NPC, The issue is that it cant find a part

  1. What do you want to achieve? Keep it simple and clear!

I want to weld a gun to a NPC, The issue is that it cant find a part
2. What is the issue? Include screenshots / videos if possible!
The explorer looks like this: image

	wait(1)
	
	for i,v in pairs(script.Parent:GetChildren()) do
		wait()
    if v.Name == "Droid" then
	
	v.Offset.Value = v.Torso.Position - workspace.Player.HumanoidRootPart.Position
 
	
end
	end
		for i,v in pairs(script.Parent:GetChildren()) do
		wait()
    if v.Name == "Droid" then
	
	
	v.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=435792292"
	v.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=438095346"
	
	v:FindFirstChild("Ultra-Fabulous Hair"):Destroy()
	v:FindFirstChild("Roblox 2.0 Left Arm"):Destroy()
	v:FindFirstChild("Roblox 2.0 Left Leg"):Destroy()
	v:FindFirstChild("Roblox 2.0 Right Arm"):Destroy()
	
	v:FindFirstChild("Roblox 2.0 Right Leg"):Destroy()
	v:FindFirstChild("Roblox 2.0 torso"):Destroy()
	hit = v.Torso
 	local g = script.Parent.Helmet:clone()
		g.Parent = hit.Parent
		local C = g:GetChildren()
		for i=1, #C do
			if C[i].className == "UnionOperation" 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.Head
				Y.Part1 = g.Middle
				Y.C0 = CFrame.new(0, -.1, -.1)
				Y.Parent = Y.Part0
		end

		local h = g:GetChildren()
		for i = 1, # h do
			if h[i].className == "UnionOperation" then
				h[i].Anchored = false
				h[i].CanCollide = false
			end
		end
		
	e = script.Parent.NPC.Animator:Clone()
e.Parent = v.Humanoid
e = script.Parent.Sound:Clone()
e.Parent = v
e = script.Parent.Animate:Clone()
e.Parent = v
e = script.Parent.lolo:Clone()
e.Parent = v
arm = v:FindFirstChild("Right Arm") 
arme = Instance.new("Attachment")
arme.Position = Vector3.new(-0.05, -1, -0.06)
arme.Orientation = Vector3.new(0, 0, -90)
arme.Name = "RightGripAttachment"
arme.Parent = arm
--[[game.ReplicatedStorage:WaitForChild("Model")
ea = game.ReplicatedStorage:FindFirstChild("Model"):Clone()
print(ea.Name)


print(ea.Handle.Name)
]]
v=armourClone
--ea = weaponClone


Weld=Instance.new("Weld")
Weld.Parent = arm
Weld.C0=arm.RightGripAttachment.CFrame
Weld.C1=CFrame.new(0,0,0)
Weld.Part0=arm
Weld.Part1 = v.gun.Handle


end



	end
	
wait(5)


while true do
	wait()
	for i,v in pairs(script.Parent:GetChildren()) do
		wait()
    if v.Name == "Droid" then
	
	v.Humanoid:MoveTo(workspace.pasdalover.HumanoidRootPart.Position + v.Offset.Value )
 
	
end
end
	
end
  1. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I later attempted to clone the gun, but that did not work

Not enough information. You’ve only posted your NPC’s hierarchy (and not even the hierarchy of the gun) and your entire script without specifying what’s wrong with it. Have you checked your console or attempted to debug this yourself? Takes much more than just “I tried cloning instead”.

Please do yourself, your collaborators and thread readers a solid and fix your code indentation to make your code more readable. The lack of proper indenting in locations makes it more difficult to see into what the problem is.

Also, “urgent” in the title isn’t necessary. Those kinds of things are ignored.