Hello, I made a code where zombie shots an entity and when a player touches the entity it gives him a green screen while the entity is being in the air, and when there is more than one player in the entity's way only one player gets the green screen.
PHP Code:
public plugin_init( ) {
register_touch( "vomit_entity", "*", "vomit_touch" );
msgidFade = get_user_msgid( "ScreenFade" );
}
public VomitDo( id ) {
// New vomit in progress //
new Float:vOrigin[ 3 ], Float:vAngles[ 3 ], Float:vVelocity[ 3 ];
entity_get_vector( id, EV_VEC_origin, vOrigin );
entity_get_vector( id, EV_VEC_v_angle, vAngles );
new vomit_ent = create_entity( "info_target" );
entity_set_string( vomit_ent, EV_SZ_classname, "vomit_entity" );
entity_set_model( vomit_ent, spit_model );
entity_set_size( vomit_ent, minModel, maxModel );
entity_set_origin( vomit_ent, vOrigin );
entity_set_vector( vomit_ent, EV_VEC_angles, vAngles );
entity_set_int( vomit_ent, EV_INT_solid, SOLID_SLIDEBOX );
entity_set_int( vomit_ent, EV_INT_movetype, MOVETYPE_TOSS );
entity_set_edict( vomit_ent, EV_ENT_owner, id );
set_rendering( vomit_ent, kRenderFxGlowShell, 79, 180, 61, kRenderNormal, 25 );
velocity_by_aim( id, 700, vVelocity );
entity_set_vector( vomit_ent, EV_VEC_velocity, vVelocity );
}
public vomit_touch( vomitEnt, victim ) {
if( !pev_valid( vomitEnt ) )
return;
static vEnt[ 32 ];
pev( victim, pev_classname, vEnt, charsmax( vEnt ) );
if( equal( vEnt, "player" ) ) {
if( is_user_alive( victim ) && !is_zombie( victim ) ) {
vomitedUser( victim );
}
}
}
What could be the problem ?