elseif moveused == "Create" then
		local rightArm = Player.Character:FindFirstChild("Right Arm")
		local pOrb = ServerStorage.initialPortal:Clone()
		local p1 = pOrb.Attachment.Glow
		local p2 = pOrb.Attachment.Outline
		local p3 = pOrb.Attachment.Rays
		local p4 = pOrb.Attachment.Shadow
		local weld = Instance.new("WeldConstraint")
		pOrb.Parent = rightArm
		weld.Parent = rightArm
		weld.Part0 = rightArm
		weld.Part1 = pOrb
		pOrb.Position = transport
		print("RAP:", transport)
		print("RAR:", detected)
		print("TAP:", previous)
		task.wait(.12)
		p1.Enabled = true
		p2.Enabled = true
		p3.Enabled = true
		p4.Enabled = true

Above is a portion of my script in which one of the abilities is supposed to have an orb appear ahead of the player's right hand. However, whenever used, the particle will rarely appear within the right arm (where I need it to be in the first place) and often appears outside of the right arm. I don't know if the way I'm doing this might be an inefficient way, or if there's something I'm missing here.

Image Example

FYI, "transport" refers to "rightArm.Position"

				if globalCD == true then
					globalCD = false
					Player.Character.Humanoid.WalkSpeed = 0
					slam:Play()
					Remote:FireServer("Create", rightArm.Position, rightArm.Rotation, Player.Character.Torso.Position)
					task.wait(2)
					Player.Character.Humanoid.WalkSpeed = 16
					task.wait(3)
					globalCD = true