My drop item script is not working

I need to bring a cloned part to the player.
The part doesn’t go the the location and it errors saying “Position is not a valid member of Vector3”.
I tried switching from position to position but it didn’t work so I tried to set it’s CFrame.
Script:

local clone = droppedItem:Clone()
		clone.Parent = game.Workspace
		local pname = player.name
		local character = game.Workspace:WaitForChild(pname).UpperTorso.Position
clone:SetPrimaryPartCFrame(CFrame.new(character.Position.X,character.Position.Y,character.Position.Z))

Just try something like:

game.Players.PlayerAdded:Connect(function(plr)
 plr.CharacterAdded:Connect(function(charac)
  local clone = --put whatev here

  clone.Position = charac.UpperTorso.Position
 end)
end)

You already referenced position.

Just do this:

local clone = droppedItem:Clone()
clone.Parent = game.Workspace
local pname = player.Name
local character = game.Workspace:WaitForChild(pname).UpperTorso.Position
clone:SetPrimaryPartCFrame(CFrame.new(character))

instead of “WaitForChild” do “FindFirstChild”, if that does not work then I’m not too sure.

local clone = droppedItem:Clone()
		clone.Parent = game.Workspace
		local pname = player.Name
		local character = game.Workspace:WaitForChild(pname)
clone:SetPrimaryPartCFrame(character.UpperTorso.CFrame)

@D3rpyDev
You already referenced position at 4th line of code

local character = game.Workspace:WaitForChild(pname).UpperTorso.Position --< here

Try doing something like this

local character = game.Workspace:WaitForChild(pname).UpperTorso --this will not give you an error, lol

Anyways, i wish you a good luck at your future projects!