Hello everyone,
So right to the point, I'm trying to make a drone fly near a players head but I get a NaN velocity and not sure why...
PHP Code:
public spawn_drone( id, drone_id ) {
if( player_has_drone[ id ] )
return;
new Drone[ DroneInformation ];
ArrayGetArray( Drones, drone_id, Drone );
new Float: fOrigin[ 3 ];
entity_get_vector( id, EV_VEC_origin, fOrigin );
fOrigin[ 1 ] += 18.0;
fOrigin[ 2 ] += 24.0;
new DroneEntity = create_entity( "func_breakable" );
entity_set_string( DroneEntity, EV_SZ_classname, EntName );
entity_set_int( DroneEntity, EV_INT_solid, SOLID_TRIGGER );
entity_set_int( DroneEntity, EV_INT_movetype, MOVETYPE_FLY );
entity_set_int( DroneEntity, EV_INT_iuser1, drone_id );
entity_set_edict( DroneEntity, EV_ENT_owner, id );
entity_set_model( DroneEntity, Drone[ drone_model ] );
entity_set_float( DroneEntity, EV_FL_takedamage, 1.0 );
entity_set_float( DroneEntity, EV_FL_health, Drone[ drone_health ] );
entity_set_float( DroneEntity, EV_FL_nextthink, halflife_time( ) + 0.1 );
entity_set_origin( DroneEntity, fOrigin );
player_has_drone[ id ] = true;
return;
}
public drone_think_ai( droneEnt ) {
// Drono informacija //
new Drone[ DroneInformation ];
new DroneOwner = entity_get_edict( droneEnt, EV_ENT_owner );
new DroneID = entity_get_int( droneEnt, EV_INT_iuser1 );
ArrayGetArray( Drones, DroneID, Drone );
// Sekiojimas //
new Float: fOrigin[ 3 ], Float: fAngles[ 3 ];
entity_get_vector( DroneOwner, EV_VEC_origin, fAngles );
entity_get_vector( droneEnt, EV_VEC_origin, fOrigin );
// Set Angles so it aims forward //
fAngles[ 1 ] += 18.0;
fAngles[ 2 ] += 24.0;
// entity_set_origin( droneEnt, fOrigin );
xs_vec_sub( fAngles, fOrigin, fOrigin );
xs_vec_normalize( fOrigin, fOrigin );
xs_vec_mul_scalar( fOrigin, 150.0, fOrigin);
fOrigin[ 0 ] = 0.0;
entity_set_vector( droneEnt, EV_VEC_velocity, fOrigin );
// Forwardinam ai //
ExecuteForward( Drone[ drone_forward ], fwResult, DroneOwner, droneEnt );
// Pratesiame drono mastyma //
entity_set_float( droneEnt, EV_FL_nextthink, halflife_time( ) );
}