Aiming beam

I want to make a script for admins so they can see where the player is looking in witch direction. How can i posibly make a short beam that shows where they aim from their weapon?

Something like this.

[lua]
local targets = {}

hook.Add(“HUDPaint” , “DrawAim” , function()
for k , v in pairs(targets) do
if ValidEntity(v:GetActiveWeapon()) then
local pos = v:GetActiveWeapon():GetPos()
local endpos = v:GetEyeTraceNoCursor().HitPos

		cam.Start3D(EyePos() , EyeAngles())
			render.SetMaterial(Material("Trails/laser"))
			cam.IgnoreZ(false)
			
			render.DrawBeam(pos , endpos , 8 , 2 , 0 , Color( 0 , 255 , 0 , 255 ))
			
			cam.IgnoreZ(true)
		cam.End3D()
	end
end

end )

concommand.Add(“spec” , function(p , c , a)
for k , v in ipairs(player.GetAll()) do
local removed = false
if string.find(string.lower(v:Nick()) , string.lower(a[1])) then
for a , b in pairs(targets) do
if b == v then
table.remove(targets , a)
removed = true
end
end

		if not removed then
			table.insert(targets , v)
		end
	end
end

end )[/lua]

Thanks, is it possible to make the beam like 50 units?

Best regards

Change this

[lua]local endpos = v:GetEyeTraceNoCursor().HitPos[/lua]

To this

[lua]local endpos = v:EyePos() + Vector(0 , 50 , 0)[/lua]

ok thanks will try

It might not work. If not, just fiddle about with the values until you get it to work.

it will not show where the person aims since endpos is static and never change (always point in the same direction).

[lua]
local pos = v:GetShootPos()
local endpos = pos+v:GetAimVector()*50
[/lua]

Yeah, that will work. Can’t believe I forgot about it.

Also in the news: GMod update released (I think)

nice thanks ralle105 and FlapJack a lot