Make the player point forwards while in first person without a viewmodel

I am trying to make a script that makes the player point forwards in first person, I don’t want to use a view model as the entire body is visible and it could look weird.
I have tried many scripts around and can’t find one that looks good in first person, can any one help me with this?

This is my current point script but it doesn’t work well in first person (This game is first person locked and only single player so as long as it looks good in first person I don’t care.)

local Camera = workspace.CurrentCamera
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()

local char = Player.Character or Player.CharacterAdded:Wait()
local Root = char:WaitForChild("HumanoidRootPart")
local RunService = game:GetService("RunService")

local CN,CA = CFrame.new,CFrame.Angles
local an = math.asin

local armOffset = char.Torso.CFrame:Inverse() * char["Right Arm"].CFrame


local armWeld = Instance.new("Weld")
armWeld.Part0 = char.Torso
armWeld.Part1 = char["Right Arm"]
armWeld.Parent = char

RunService.Heartbeat:Connect(function()
	local cframe = CN(char.Torso.Position, Mouse.Hit.Position) * CA(math.pi/2, 0, 0)
	armWeld.C0 = armOffset * char.Torso.CFrame:toObjectSpace(cframe) * CN(0,-1,-0.5)
end)

If you need any scripts such as my body model script I can give it.