I'm trying to set the CFrame of a book to the characters Left Hand, but to test things out I tried to set it to the arm before trying to get it to the hand, and it's not working..
wait()
local Tool = script.Parent.Parent
local play = game.Players.LocalPlayer
local holdlaunch = play.Character.Humanoid:LoadAnimation(script.HoldAnimation)
Tool.Activated:connect(function()
local event = game.ReplicatedStorage.Events.BookOn
local book2 = game.ReplicatedStorage.OpenBook
holdlaunch:Play()
Tool.Handle:Destroy()
local second = book2:Clone()
second.Parent = play.Character["Left Arm"]
wait()
second.PrimaryPart = second.Parent
second:SetPrimaryPartCFrame(play.Character["Left Arm"].position)
local welder = Instance.new("Weld",second)
welder.Part0 = second
welder.Part1 = play.Character["Left Arm"]
event:FireServer(play)
end)

3 comments
Wouldn't you just use second.CFrame = play.Character["Left Arm"].CFrame?
CFrame can't be set with models
Firstly, weld it to your hand, then CFrame it, for better results.