IW4-Dump-Files/maps/co_ac130_code.gsc

196 lines
5.3 KiB
Plaintext

#include maps\_utility;
precacheLevelStuff()
{
// Press ^3[{weapnext}]^7 to cycle through weapons.
precachestring( &"AC130_HINT_CYCLE_WEAPONS" );
// You have not been cleared to fire. Mission failed.
precachestring( &"AC130_DO_NOT_ENGAGE" );
// You damaged the church. Mission failed.
precachestring( &"AC130_CHURCH_DAMAGED" );
// The friendly escape convoy was destroyed. Mission failed.
precachestring( &"AC130_ESCAPEVEHICLE_DESTROYED" );
// \n0 A-G MAN NARO
precachestring( &"AC130_HUD_TOP_BAR" );
// RAY\nFF 30\nLIR\n\nBORE
precachestring( &"AC130_HUD_LEFT_BLOCK" );
// N\nT\n\nS\nF\n\nQ\nZ\n\nT\nG\nT
precachestring( &"AC130_HUD_RIGHT_BLOCK" );
// L1514 RDY
precachestring( &"AC130_HUD_BOTTOM_BLOCK" );
// WHOT
precachestring( &"AC130_HUD_THERMAL_WHOT" );
// BHOT
precachestring( &"AC130_HUD_THERMAL_BHOT" );
// 105 mm
precachestring( &"AC130_HUD_WEAPON_105MM" );
// 40 mm
precachestring( &"AC130_HUD_WEAPON_40MM" );
// 25 mm
precachestring( &"AC130_HUD_WEAPON_25MM" );
// &&1 AGL
precachestring( &"AC130_HUD_AGL" );
// Friendlies: &&1
precachestring( &"AC130_DEBUG_FRIENDLY_COUNT" );
// Too many friendlies have been KIA. Mission failed.
precachestring( &"AC130_FRIENDLIES_DEAD" );
// Friendly fire will not be tolerated!\nWatch for blinking IR strobes on friendly units!
precachestring( &"AC130_FRIENDLY_FIRE" );
// You attacked a friendly helicopter!
precachestring( &"AC130_FRIENDLY_FIRE_HELICOPTER" );
// You harmed a civilian! Mission failed.
precachestring( &"AC130_CIVILIAN_FIRE" );
// You attacked a civilian vehicle! Mission failed.
precachestring( &"AC130_CIVILIAN_FIRE_VEHICLE" );
// Provide AC-130 air support for friendly SAS ground units.
precachestring( &"AC130_OBJECTIVE_SUPPORT_FRIENDLIES" );
// 'Death From Above'
precachestring( &"AC130_INTROSCREEN_LINE_1" );
// Day 2 - 04:20:[{FAKE_INTRO_SECONDS:16}]
precachestring( &"AC130_INTROSCREEN_LINE_2" );
// Western Russia
precachestring( &"AC130_INTROSCREEN_LINE_3" );
// Thermal Imaging TV Operator
precachestring( &"AC130_INTROSCREEN_LINE_4" );
// AC-130H Spectre Gunship
precachestring( &"AC130_INTROSCREEN_LINE_5" );
// Pull [{+speed}] to control zoom and pull [{+attack}] to fire.
precachestring( &"SCRIPT_PLATFORM_AC130_HINT_ZOOM_AND_FIRE" );
// Press [{+usereload}] to toggle thermal vision\nbetween white hot and black hot.
precachestring( &"SCRIPT_PLATFORM_AC130_HINT_TOGGLE_THERMAL" );
// Provide AC-130 air support for friendly ground units.
precachestring( &"CO_AC130_OBJECTIVE_COOP_AC130_GUNNER" );
// Regroup with any survivors from Bravo Team at the crash site.
precachestring( &"CO_AC130_OBJECTIVE_COOP_GROUND_PLAYER" );
precacheShader( "popmenu_bg" );
precacheModel( "tag_laser" );
}
vehicleScripts()
{
maps\_mi17::main( "vehicle_mi17_woodland_fly_cheap" );
}
laser_targeting_device( player )
{
player endon( "remove_laser_targeting_device" );
player.lastUsedWeapon = undefined;
player.laserForceOn = false;
player setWeaponHudIconOverride( "actionslot4", "dpad_laser_designator" );
player notifyOnPlayerCommand( "use_laser", "+actionslot 4" );
player notifyOnPlayerCommand( "fired_laser", "+attack" );
for ( ;; )
{
player waittill( "use_laser" );
player ent_flag_set( "player_used_laser" );
if ( player.laserForceOn )
{
player notify( "cancel_laser" );
player laserForceOff();
// player allowFire( true );
player.laserForceOn = false;
}
else
{
player laserForceOn();
// player allowFire( false );
player.laserForceOn = true;
// player thread laser_designate_target();
}
wait 0.05;
}
}
/*
laser_targeting_device()
{
setDvarIfUninitialized( "ac130_force_perspective_laser", "1" );
self.lastUsedWeapon = undefined;
self.laserForceOn = false;
for ( ;; )
{
while ( self getcurrentweapon() != "laser_targeting_device" )
{
self.lastUsedWeapon = self GetCurrentWeapon();
wait 0.05;
}
if ( self.laserForceOn )
{
self laserForceOff();
self.laserForceOn = false;
if ( isdefined( self.fake_laser ) )
{
self.fake_laser laserForceOff();
self.fake_laser delete();
self notify( "laser_off" );
}
}
else
{
self laserForceOn();
self LaserHideFromClient( level.ac130gunner );
self.laserForceOn = true;
if ( getdvar( "ac130_force_perspective_laser" ) == "1" )
{
self.fake_laser = spawn( "script_model", self getEye() );
self.fake_laser.angles = self getplayerangles();
self.fake_laser setmodel( "tag_laser" );
self thread update_laser();
//self.fake_laser linkto( self );
self.fake_laser laserForceOn();
self.fake_laser LaserHideFromClient( level.ground_player );
// turn off hint when laser used, if there is a hint
if( self ent_flag_exist( "player_used_laser" ) )
self ent_flag_set( "player_used_laser" );
}
}
self giveBackWeapon();
while ( self getcurrentweapon() == "laser_targeting_device" )
wait 0.05;
}
}
*/
update_laser()
{
self endon( "laser_off" );
while( 1 )
{
self.fake_laser.origin = self getEye();
self.fake_laser.angles = self getplayerangles();
wait 0.05;
}
}
giveBackWeapon()
{
if ( ( isdefined( self.lastUsedWeapon ) ) && ( self HasWeapon( self.lastUsedWeapon ) ) )
{
self switchToWeapon( self.lastUsedWeapon );
}
else
{
weaponList = self GetWeaponsListPrimaries();
if ( isdefined( weaponList[ 0 ] ) )
self switchToWeapon( weaponList[ 0 ] );
}
}