Moderator elections are being held. See Valve Developer Community:Moderator elections for more details.
Users who would like to run for moderator must be autoconfirmed and have at least 100 edits. Users can check their own edit count at Special:Preferences.
The Message template has been deleted. A list of pages that transclude it are at Valve Developer Community:Message transclusions.

Left 4 Dead 2/Script Functions/TraceLine

From Valve Developer Community
Jump to: navigation, search

Function Description

bool TraceLine(table traceTable)

Does a raycast along a line specified by two vectors, returning the first entity or geometry hit along the way. Script version of UTIL_TraceLine().


Parameters

Type Name Description
table traceTable Table used for both input and output.


Returns

bool - Whether the trace is successful. This only indicates that the trace was done, not whether it hit anything.


Example

traceTable <-
{
	start = Vector( 0,0,0 )
	end =  Vector( 0,0,256 )
}

if(TraceLine(traceTable))
{
	if(traceTable.hit)
	{
		printl("Trace hit!")
	}
	else
	{
		printl("Trace missed!")
	}
}
else
{
	printl("Trace failed!")
}


Input Parameters

Passed to the parameters table to set up the trace. The only required information to make the trace is providing the start and end point.

Type Name Description
Vector start Global vector where to start the trace.
Vector end Global vector where to end the trace.
int mask Optional collision type bitmask. Masks: TRACE_MASK_VISIBLE_AND_NPCS (default), TRACE_MASK_ALL, TRACE_MASK_VISION, TRACE_MASK_SHOT, TRACE_MASK_PLAYER_SOLID,
CBaseEntity ignore Optional entity to ignore when tracing.


Output parameters

Output written by the function to the parameters table.

Note.pngNote: These parameters may not exist if the trace does not hit. Check that the key exists before using.
Type Name Description
Vector pos World space vector where the trace hit.
float fraction Fraction from the start to end where the trace hit.
bool hit Whether the trace hit something. Always present.
CBaseEntity enthit Handle of the entity the trace hit.
bool startsolid Whether the trace started inside something.
Note.pngNote: This parameter is not set if it is false