Rewrote the code for the wiki's laser gun tutorial.

local tool = script.Parent
local Player = game.Players.LocalPlayer
local Char = Player.Character
local Mouse = Player:GetMouse()
local start =  tool.Handle.CFrame.p   --where the ray originates
local lookAt = Mouse.hit.p - tool.Handle.CFrame.p  -- direction the ray is facing

tool.Activated:connect(function()
	local ray = Ray.new(start, (lookAt - start).unit * 300) -- creates the ray
	local tPart, pos = game.Workspace:FindPartOnRay(ray, Char) -- returns the part that it touched/intersected(tPart) and position of the part(tPart)

	local Hum = tPart and tPart.Parent and tPart.Parent:FindFirstChild("Humanoid")
	if Hum then
		Hum:TakeDamage(30)
	end
	
	local distance = (pos - tool.Handle.CFrame.p).magnitude
	local rayPart = Instance.new("Part",Char)
	rayPart.Name = "RayPart"
	rayPart.Transparency = 0.5
	rayPart.Anchored = true
	rayPart.CanCollide = false
	rayPart.TopSurface = 0
	rayPart.BottomSurface = 0
	rayPart.FormFactor = "Custom"
	rayPart.Size = Vector3.new(0.2,0.2,distance)
	rayPart.CFrame = CFrame.new(pos, tool.Handle.CFrame.p) * CFrame.new(0,0, -distance/2)
	game.Debris:AddItem(rayPart,0.1)
end)

the actual ray part seems to only be attatched to the floor on my game(not a baseplate). Wherever i move, the ray always points to a specific part on my floor. I'm not sure what's going on as there is no output.

Hierarchy:

		Players
				> LevelKap
					> Backpack
						> PaintballGun(tool)
							>Local Script 
							> Handle
								> Mesh