UTIL_PlayerDecalTrace
	
		
		
		
		
		
		Jump to navigation
		Jump to search
		 

 
		
	

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
 
	 
	

This article needs more  links to other articles to help
 links to other articles to help  integrate it into the encyclopedia. Please help improve this article by adding links
 integrate it into the encyclopedia. Please help improve this article by adding links  that are relevant to the context within the existing text.
 that are relevant to the context within the existing text.
January 2024
 links to other articles to help
 links to other articles to help  integrate it into the encyclopedia. Please help improve this article by adding links
 integrate it into the encyclopedia. Please help improve this article by adding links  that are relevant to the context within the existing text.
 that are relevant to the context within the existing text.January 2024

This article is an orphan, meaning that few or no articles link to it.
You can help by adding links to this article from other relevant articles.
 adding links to this article from other relevant articles.  
January 2024
You can help by
 adding links to this article from other relevant articles.
 adding links to this article from other relevant articles.  January 2024

 
UTIL_PlayerDecalTrace is a UTIL provided in the Source code for creating Player sprays.
Usage
/*
==============
UTIL_PlayerDecalTrace
A player is trying to apply his custom decal for the spray can.
Tell connected clients to display it, or use the default spray can decal
if the custom can't be loaded.
==============
*/
void UTIL_PlayerDecalTrace( trace_t *pTrace, int playernum )
{
	if (pTrace->fraction == 1.0)
		return;
	CBroadcastRecipientFilter filter;
	te->PlayerDecal( filter, 0.0,
		&pTrace->endpos, playernum, pTrace->m_pEnt->entindex() );
}
Examples
CBasePlayer *pPlayer = ToBasePlayer( GetOwnerEntity() );
if ( pPlayer )
{
   	int playernum = pPlayer->entindex();
	
	Vector forward;
	trace_t	tr;	
	AngleVectors( GetAbsAngles(), &forward );
	UTIL_TraceLine ( GetAbsOrigin(), GetAbsOrigin() + forward * 128, 
		MASK_SOLID_BRUSHONLY, pPlayer, COLLISION_GROUP_NONE, & tr);
	UTIL_PlayerDecalTrace( &tr, playernum );
}























