RayCast Working Weirdly

RayCast won’t work unless you go up to an object

https://streamable.com/d8ysea

--//Services
local Replicated_Storage = game:GetService("ReplicatedStorage")
local User_Unput_Service = game:GetService("UserInputService")
local Run_Service = game:GetService("RunService")
local Player_Service = game:GetService("Players")

--//Tool
local Tool = script.Parent
local Animations_Folder = Tool:WaitForChild("Animations")

--//Remote Events
local Punching_Remote = script.PunchingRemote

--//Player
local Player = Player_Service.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character.Humanoid

--//Mouse
local Mouse = Player:GetMouse()
local Mouse_Delta = User_Unput_Service:GetMouseDelta()

--//Animations
local Holding_Animation = Animations_Folder.Other.Hold
--local Play_Holding_Animation = Humanoid:LoadAnimation(Holding_Animation)

--//Values
local Damage = 10
local Range = 1000
local EndLag = 0.1

--//Tables

--| Main Script |--

function Tool_Equipped()
	--Holding_Animation:Play()
end

function Tool_UnEquipped()
	--Holding_Animation:Stop()
end

function Attack()
	print("Attacked")
	local Exclude = {Character}
	local RayCast_Origin = Character.HumanoidRootPart.CFrame.Position
	local RayCast_Orientation = Character.HumanoidRootPart.CFrame.LookVector
	local RayCast_Params = RaycastParams.new()
	RayCast_Params.FilterDescendantsInstances = Exclude
	RayCast_Params.FilterType = Enum.RaycastFilterType.Exclude
	
	local RayCast_Result = workspace:Raycast(RayCast_Origin, RayCast_Orientation, RayCast_Params, Range)
	
	if RayCast_Result then
	if RayCast_Result.Instance then
		print(RayCast_Result.Instance)
		end
		end
end

Tool.Activated:Connect(Attack)

Nvm i solved i, here is the script for someone facing the same issue:

--//Services
local Replicated_Storage = game:GetService("ReplicatedStorage")
local User_Unput_Service = game:GetService("UserInputService")
local Run_Service = game:GetService("RunService")
local Player_Service = game:GetService("Players")

--//Tool
local Tool = script.Parent
local Animations_Folder = Tool:WaitForChild("Animations")

--//Remote Events
local Punching_Remote = script.PunchingRemote

--//Player
local Player = Player_Service.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character.Humanoid

--//Mouse
local Mouse = Player:GetMouse()
local Mouse_Delta = User_Unput_Service:GetMouseDelta()

--//Animations
local Holding_Animation = Animations_Folder.Other.Hold
--local Play_Holding_Animation = Humanoid:LoadAnimation(Holding_Animation)

--//Values
local Damage = 10
local Range = 1000
local EndLag = 0.1

--//Tables
local Exclude = {Character:GetDescendants()}

--| Main Script |--

function Tool_Equipped()
	--Holding_Animation:Play()
end

function Tool_UnEquipped()
	--Holding_Animation:Stop()
end

function Attack()
	print("Attacked")
	local RayCast_Origin = Character.HumanoidRootPart.Position
	local RayCast_Orientation = Character.HumanoidRootPart.CFrame.LookVector * 180
	local RayCast_Params = RaycastParams.new()
	RayCast_Params.FilterDescendantsInstances = Exclude
	RayCast_Params.FilterType = Enum.RaycastFilterType.Exclude
	
	local RayCast_Result = workspace:Raycast(RayCast_Origin, RayCast_Orientation, RayCast_Params, Range)
	
	if RayCast_Result then
	if RayCast_Result.Instance then
		print(RayCast_Result.Instance)
		end
		end
end

Tool.Activated:Connect(Attack)