IW4-Dump-Files/maps/_ucav.gsc

99 lines
2.3 KiB
Plaintext
Raw Normal View History

2017-07-08 11:47:21 -07:00
#include maps\_utility;
#include common_scripts\utility;
#include maps\_vehicle_aianim;
#include maps\_vehicle;
#using_animtree( "vehicles" );
/*QUAKED script_vehicle_ucav (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
put this in your GSC:
maps\_ucav::main( "vehicle_ucav" );
and these lines in your CSV:
include,vehicle_ucav
defaultmdl="vehicle_ucav"
default:"vehicletype" "ucav"
default:"script_team" "allies"
*/
main( model, type )
{
build_template( "ucav", model, type );
build_localinit( ::init_local );
build_deathmodel( "vehicle_ucav" );
//special for ucav/////
level._effect[ "jettrail" ] = loadfx( "smoke/jet_contrail" );
////////////////////////
build_deathfx( "explosions/large_vehicle_explosion", undefined, "explo_metal_rand" );
build_life( 999, 500, 1500 );
build_team( "allies" );
build_mainturret();
}
init_local()
{
thread playJetTrail();
self.missileTags[ 0 ] = "tag_missile_left";
self.missileTags[ 1 ] = "tag_missile_right";
self.nextMissileTag = 0;
}
#using_animtree( "vehicles" );
set_vehicle_anims( positions )
{
return positions;
}
#using_animtree( "generic_human" );
setanims()
{
positions = [];
for ( i = 0;i < 1;i++ )
positions[ i ] = spawnstruct();
return positions;
}
playJetTrail()
{
//This is a geoTrail effect that loops forever. It has to be enabled and disabled while playing as
//one effect. It can't be played in a wait loop like other effects because a geo trail is one
//continuous effect. ConTrails should only be played during high "G" or high speed maneuvers.
playfxontag( level._effect[ "jettrail" ], self, "TAG_JET_TRAIL" );
}
plane_sound_node()
{
self waittill( "trigger", other );
other endon( "death" );
self thread plane_sound_node();// spawn new thread for next plane that passes through this pathnode
other thread play_sound_on_entity( "veh_uav_flyby" );
}
fire_missile_node()
{
self waittill( "trigger", other );
other endon( "death" );
self thread fire_missile_node();
// set the weapon and get the missile target
other setVehWeapon( "ucav_sidewinder" );
eTarget = self get_linked_ent();
// fire weapon
other fireWeapon( other.missileTags[ other.nextMissileTag ], eTarget, ( 0, 0, 0 ) );
// advance to the next missile tag for the next shot
other.nextMissileTag++;
if ( other.nextMissileTag >= other.missileTags.size )
other.nextMissileTag = 0;
}