#include maps\_utility;
#include animscripts\utility;
#include common_scripts\utility;
#include maps\_anim;
main()
{
precacheItem( "m1a1_turret" );
precacheItem( "hind_turret" );
level thread maps\_cobra::main( "vehicle_cobra_helicopter" );
level thread maps\_bmp::main( "vehicle_bmp" );
getEnt( "bradley_start", "targetname" ) thread manage_bradley();
maps\_load::main();
array_thread( getEntArray( "ally", "script_noteworthy" ), ::add_spawn_function, ::setTeam, "allies" );
array_thread( getEntArray( "enemy", "script_noteworthy" ), ::add_spawn_function, ::setTeam, "axis" );
}
setTeam( team )
{
/*--------------------
CONFIGURES ARABIANS AS FRIENDLIES AND AMERICANS AS BADDIES
----------------------*/
self.team = team;
if( team == "allies" )
{
self maps\_names::get_name_for_nationality( "arab" );
self.goal_radius = 1024;
}
else
{
// Couldn't figure out how to remove American names =0(
// Null .name and .script_friendName cause switch statement errors in names utility
// Not too important to spend time figuring out
self.goal_radius = 1024;
}
} // setTeam()
manage_bradley()
{
self waittill ( "trigger" );
wait ( 1.2 );
bradley = getEnt( "bradley", "targetname" );
bradley thread bradley_ai_mode_aim_turret();
bradley thread bradley_ai_mode_shoot_turret();
level.seat = spawn("script_model",level.bradley);
level.seat setmodel("tag_origin");
level.seat linkto( level.bradley,"tag_pilot",(0,0,-25),(0,0,15));
level.player PlayerLinkToDelta( level.seat, "tag_origin", 0,360,360,360,360,0,"false" );
wait( 40 );
if( isAlive( bradley ) )
RadiusDamage( bradley.origin, 50, 1000, 100 );
} // manage_bradley()
bradley_ai_mode_aim_turret()
{
/*--------------------
BRADLEY AIMS AT ENEMIES
----------------------*/
level.cosine[ "45" ] = cos( 45 );
self endon( "death" );
for(;;)
{
eTarget = get_closest_ai( level.player getOrigin(), "axis" );
if( isdefined( eTarget ) )
{
eTargetOffset = ( 8, 13, 10 );
self setTurretTargetEnt( eTarget, eTargetOffset );
}
wait randomfloatrange( 1.5, 2.9 );
}
} // bradley_ai_mode_aim_turret()
bradley_ai_mode_shoot_turret()
{
/*--------------------
BRADLEY FIRES AT ENEMIES
----------------------*/
self endon( "death" );
self setVehWeapon( "hind_turret" );
for(;;)
{
randomShots = randomintrange( 1, 2 );
for( i = 0 ; i < randomShots ; i++ )
{
self fireWeapon( "tag_flash" );
wait 0.05;
}
wait randomfloatrange( 0.1, 0.4 );
}
} // bradley_ai_mode_shoot_turret()
thats my gsc for a heli that fires at enemy
heres my zone source
ignore,code_post_gfx
ignore,common
col_map_sp,maps/aiprone.d3dbsp
rawfile,maps/aiprone.gsc
rawfile,maps/aiprone_amb.gsc
localize,aiprone
sound,common,aiprone,!all_sp
sound,generic,aiprone,!all_sp
sound,voiceovers,aiprone,!all_sp
sound,requests,aiprone,!all_sp
sound,hqoutside,hqoutside,!all_sp
weapon,sp/mp5
xmodel,viewmodel_base_viewhands
weapon,sp/at4
weapon,sp/ak47
weapon,sp/remington700
weapon,sp/rpd
weapon,sp/skorpion
weapon,sp/mp44
weapon,sp/uzi
weapon,sp/m60e4
weapon,sp/g36c
weapon,sp/deserteagle
xanim,abrams_movement_backwards
xanim,abrams_movement
xmodel,vehicle_t72_tank
weapon,sp/bradley_turret
weapon,sp/t72_turret
weapon,sp/t72_turret2
weapon,sp/bradley_turret
weapon,sp/bmp_turret
weapon,sp/hind_turret
xmodel,vehicle_t72_tank_d_body
rawfile,shock/tankblast.shock
xmodel,vehicle_t72_tank_pkt_coaxial_mg
xmodel,vehicle_bradley
xanim,humvee_passenger_in_r
xanim,humvee_passenger_in_l
xanim,humvee_driver_climb_in
xanim,bmp_idle_4
xanim,bmp_idle_3
xanim,bmp_idle_2
xanim,bmp_idle_1
xanim,bmp_exit_4
xanim,bmp_exit_3
xanim,bmp_exit_2
xanim,bmp_exit_1
xanim,bmp_movement_backwards
xanim,bmp_movement
xanim,bmp_doors_open
xmodel,vehicle_bmp
xmodel,vehicle_bmp_dsty
xmodel,vehicle_bmp_machine_gun
weapon,sp/bmp_turret2
xmodel,vehicle_m1a1_abrams_dmg
xanim,helicopter_pilot2_twitch_radio
xanim,helicopter_pilot2_twitch_lookoutside
xanim,helicopter_pilot2_twitch_clickpannel
xanim,helicopter_pilot2_idle
xanim,helicopter_pilot1_twitch_lookoutside
xanim,helicopter_pilot1_twitch_lookback
xanim,helicopter_pilot1_twitch_clickpannel
xanim,helicopter_pilot1_idle
xanim,bh_rotors
xmodel,vehicle_cobra_helicopter
weapon,sp/m1a1_turret
weapon,sp/m1a1_coaxial_mg
xmodel,vehicle_m1a1_abrams
weapon,sp/cobra_20mm
xmodel,vehicle_m1a1_abrams_PKT_Coaxial_MG
weapon,sp/cobra_hellfire
xmodel,vehicle_cobra_helicopter_fly
weapon,sp/ac130_25mm
weapon,sp/minigun_player_turret
weapon,sp/bog_mortar_turret
weapon,sp/cobra_seeker
|