Weld changes another part

I’m making a system in script that makes the character teleports in front of the target and kill him, but instead of the weld change my character position, they change the target position like this:
image

The script:

if target.Parent:FindFirstChildOfClass('Humanoid') then
		local enemy = target.Parent :: Model
		local HRP = char.HumanoidRootPart
		local eHRP = enemy.Head
		local weld = script.Weld:Clone()
		
		weld.Parent = HRP
		weld.Part0 = eHRP
		weld.Part1 = HRP
	end

It is because of root priority