My code is not working correctly

I want my gun to look where the mouse is pointing and hrp to look where the gun is pointing

-Script

local mouse = game.Players.LocalPlayer:GetMouse()

local silah = script.Parent
local handle = silah:WaitForChild("BodyAttach")
local hrp = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")

local donmeHizi = 0.05

RunService.RenderStepped:Connect(function(deltaTime)
	local silahYonu = (handle.CFrame.LookVector * Vector3.new(1, 0, 1)).unit
	local tar = mouse.Hit.Position

	local lookAtCFrame = CFrame.lookAt(Vector3.new(0, 0, 0), Vector3.new(silahYonu.X, 0, silahYonu.Z))
	hrp.CFrame = CFrame.new(hrp.Position) * lookAtCFrame
end)