Model not spawning in the correct place when player dies

I’m trying to make a script where when a person dies a model spawns where they die.

At the moment, the model does spawn when the player dies but doesn’t spawn in the right place

Its currently using the SetPrimaryPartCFrame() method, I’ve previously tried changing the models Origin position but that show any results.

local char = script.Parent
local hum = char.Humanoid
local players = game.Players
local hand = game.ReplicatedStorage.Hand
local startCFrame = char.HumanoidRootPart.CFrame

hum.Died:Connect(function()
	local player = players:GetPlayerFromCharacter(char)
	hand:SetPrimaryPartCFrame(startCFrame)
	hand:Clone().Parent = game.Workspace
end)

You need to set startCFrame when they die.

Move the startCFrame variable inside of the function, because the variable is storing the CFrame of the HumanoidRootPart as soon as a player loads in, storing the initial CFrame.
When the player moves to a different position, startCFrame variable does not change to the newer CFrame.

hum.Died:Connect(function()
    local startCFrame = char.HumanoidRootPart.CFrame -- Here
	local player = players:GetPlayerFromCharacter(char)
	hand:SetPrimaryPartCFrame(startCFrame)
	hand:Clone().Parent = game.Workspace
end)