Garry's Mod Wiki

Revision Difference

util.TraceLine#512405

<function name="TraceLine" parent="util" type="libraryfunc">⤶ <description>⤶ Performs a trace with the given trace data.⤶ ⤶ <note>Clientside entities will not be hit by traces.</note>⤶ </description>⤶ <realm>Shared</realm>⤶ <args>⤶ <arg name="TraceData" type="table">The trace data to use. See &lt;page&gt;Trace&lt;/page&gt;</arg>⤶ </args>⤶ <rets>⤶ <ret name="" type="table">Trace result. See <page>TraceResult</page>.⤶ ⤶ Can return nil if <page>game.GetWorld</page> or its [physics object](/gmod/Entity/GetPhysicsObject) is invalid. This will be the case for any traces done before <page>GM:InitPostEntity</page> is called.</ret>⤶ </rets>⤶ </function>⤶ ⤶ <example>⤶ <description>Using a function callback as filter.</description>⤶ <code>⤶ local tr = util.TraceLine( {⤶ start = LocalPlayer():EyePos(),⤶ endpos = LocalPlayer():EyePos() + EyeAngles():Forward() * 10000,⤶ filter = function( ent ) if ( ent:GetClass() == "prop_physics" ) then return true end end⤶ } )⤶ ⤶ print( tr.HitPos, tr.Entity )⤶ </code>⤶ <output>The trace will only hit prop_physics or world.</output>⤶ ⤶ </example>