Why is this short ignore list not working?

	local R =  Ray.new(Player.Character:WaitForChild("HumanoidRootPart").Position, Player.Character:WaitForChild("HumanoidRootPart").CFrame.lookVector * 9)
			
			local IgnoreList = {Player.Character or Player.CharacterAdded:Wait()
			}
			for i,v in pairs(workspace:GetDescendants()) do
					if (v:IsA("Accessory"))
					or (v:IsA("Tool"))
					or (v:IsA("Part")) and v.CanCollide == false 
					or (v:IsA("Part"))
					or v.Name == "Part" then
					table.insert(IgnoreList,v)
				end
			end
			
			local v = workspace:FindPartOnRayWithIgnoreList(R, IgnoreList)
1 Like

Try this

local R =  Ray.new(Player.Character:WaitForChild("HumanoidRootPart").Position, Player.Character:WaitForChild("HumanoidRootPart").CFrame.lookVector * 9)
			
			local IgnoreList = {Player.Character or Player.CharacterAdded:Wait()
			}
			for i,v in pairs(workspace:GetDescendants()) do
					if (v:IsA("Accessory"))
					or (v:IsA("Tool"))
					or (v:IsA("Part")) and v.CanCollide == false 
					or (v:IsA("Part"))
					or v.Name == "Part" then
					IgnoreList [#IgnoreList + 1] = v
				end
			end
			
			local v = workspace:FindPartOnRayWithIgnoreList(R, IgnoreList)

Hello, AK47xM16!

Currently, workspace:FindPartOnRayWithIgnoreList is depricated.

Use workspace:Raycast instead! WorldRoot | Documentation - Roblox Creator Hub

local R =  Ray.new(Player.Character:WaitForChild("HumanoidRootPart").Position, Player.Character:WaitForChild("HumanoidRootPart").CFrame.lookVector * 9)
repeat wait() until Player.Character ~= nil
local IgnoreList = {Player.Character} --It gets all the descendants!

local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Blacklist
params.FilterDescendantsInstances = IgnoreList

local raycastResult = workspace:Raycast(rayOrigin, rayDirection, raycastParams)
 
	if raycastResult then
		local hitPart = raycastResult.Instance
        local pos = raycastResult.Position
        --insert code here
    end
end