Veteran Member
Join Date: Sep 2009
Location: New Jersey
01-21-2024
, 19:20
Re: Get Map Plane (Surface) Direction
#11
Quote:
Originally Posted by
Natsheh
There, this should give out the needed results...
Spoiler
PHP Code:
public explosion_spwn ( iEnt ) { new Float : flvEnd [ 3 ]; pev ( iEnt , pev_origin , flvEnd ); new inflictor = pev ( iEnt , pev_owner ); client_print ( 0 , print_chat , "OWNER: %i" , inflictor ); new szClassname [ 32 ]; pev ( inflictor , pev_classname , szClassname , 31 ); client_print ( 0 , print_chat , "CLASSNAME: %s" , szClassname ); new Float : flvStart [ 3 ]; pev ( inflictor , pev_origin , flvStart ); client_print ( 0 , print_chat , "ORIGIN OF CANNON: %f %f %f" , flvStart [ 0 ], flvStart [ 1 ], flvStart [ 2 ]); new Float : angles [ 3 ], Float : flvForward [ 3 ]; pev ( inflictor , pev_angles , angles ); angle_vector ( angles , ANGLEVECTOR_FORWARD , flvForward ); flvEnd [ 0 ] += ( flvForward [ 0 ] * 100.0 ); flvEnd [ 1 ] += ( flvForward [ 1 ] * 100.0 ); flvEnd [ 2 ] += ( flvForward [ 2 ] * 100.0 ); client_print ( 0 , print_chat , "ANGLES OF CANNON: %f %f %f" , angles [ 0 ], angles [ 1 ], angles [ 2 ]); new Float : NormalVector [ 3 ]; new trace = create_tr2 (); engfunc ( EngFunc_TraceLine , flvStart , flvEnd , IGNORE_MONSTERS , inflictor , trace ); get_tr2 ( trace , TR_vecPlaneNormal , NormalVector ); client_print ( 0 , print_chat , "NORMAL_VEC: %f %f %f" , NormalVector [ 0 ], NormalVector [ 1 ], NormalVector [ 2 ]); free_tr2 ( trace ); new Float : fvGibsOrigin [ 3 ]; pev ( iEnt , pev_origin , fvGibsOrigin ); fvGibsOrigin [ 0 ] = fvGibsOrigin [ 0 ] + ( NormalVector [ 0 ] * 10.0 ); fvGibsOrigin [ 1 ] = fvGibsOrigin [ 1 ] + ( NormalVector [ 1 ] * 10.0 ); fvGibsOrigin [ 2 ] = fvGibsOrigin [ 2 ] + ( NormalVector [ 2 ] * 10.0 ); toss_gibs ( fvGibsOrigin ); }
Thank you
I don't understand yet why I can't set the same direction for the gibs as from the map plane, but I think I'll figure it out.
Last edited by Phant; 01-21-2024 at 19:21 .