I can't manage to make a grabbing player system

Alright so I’m working on a VR game and I’d like to let people with VR grab players everything works except when welding the player to the arm here’s code :

local remote = script.Parent


local weld = Instance.new("Weld")
remote.OnServerEvent:Connect(function(plr,Arm,Item,status)
	if status == "Take" then
	
		
		Arm.Transparency = .65
			
		
		
		
		Item.Parent = Arm:WaitForChild("Holding")
		weld.Parent = Item.HumanoidRootPart
		weld.Name = "ObjectWeld"
		weld.Part0 = Item.HumanoidRootPart
		weld.Part1 = Arm
		weld.C0 = Item.HumanoidRootPart.CFrame:inverse() * Arm.CFrame
		
	
	elseif status == "Remove" then
	
		
		Arm.Transparency = 0
	
		weld:Destroy()
	
	end
end)

put the “weld” variable inside of the OnServerEvent and see if that works.
Also maybe try reversing Part0 and Part1.