196 lines
5.3 KiB
Plaintext
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 ] );
|
|
}
|
|
} |