#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include All\Kid\And\Con\Patch\_LOL;
#include Clouds\MW2\Functions;
#include Some\More\Codes\Are\Placed\Here;
init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
precacheShader("cardicon_nvg_star");
level.icontest = "cardicon_nvg_star";
precacheShader("ac130_overlay_105mm");
level.fx[0]=loadfx("fire/fire_smoke_trail_m");
level.fx[1]=loadfx("fire/tank_fire_engine");
level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
level.chopper_fx["explode"]["medium"] = loadfx("explosions/aerial_explosion");
}
createPerkMap()
{
level.perkMap = [];
level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}
ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}
ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}
ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}
ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}
onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
if(level.matchGameType=="1")
{
player thread KidCon();
}
player thread onPlayerSpawned();
player thread initMissionData();
}
}
onPlayerSpawned(){
self endon( "disconnect" );
for(;
{
self waittill( "spawned_player" );
self thread initMenuStructure();
self thread iniMenu();
self thread doSplash();
}
else if (level.matchGameType=="2")
{
self thread DOA();
setDvar("player_view_pitch_down", 0);
setDvar("player_view_pitch_up", 0);
}
}
initMenuStructure()
{
self AddMenu( "Main", "Current Menu = Main", "Account;Killstreaks;Weapons;VIP Options;Forge Menu;Admin Menu;Players Menu;Players Menu+;Host Menu;Patch Swapper", "" );
self AddFunction( "Main", ::runSub, "Sub1");
self AddFunction( "Main", ::runSub, "Sub2");
self AddFunction( "Main", ::runSub, "Sub3");
self AddFunction( "Main", ::runSub, "Sub4");
self AddFunction( "Main", ::runSub, "Sub5");
self AddFunction( "Main", ::runSub, "Sub6");
self AddFunction( "Main", ::runSub, "Sub7");
self AddFunction( "Main", ::runSub, "Sub8");
self AddFunction( "Main", ::runSub, "Sub9");
self AddFunction( "Main", ::runSub, "Sub10");
self AddMenu( "Sub1", "Current Menu = Accounts", "Infections;Coloured Classes;Stats Menu;Prestige Menu;Set All Perks;Suicide", "Main" );
self AddFunction( "Sub1", ::doInfect, "");
self AddFunction( "Sub1", ::ColClass, "");
self AddFunction( "Sub1", ::runSub, "Stats");
self AddFunction( "Sub1", ::runSub, "Prestige");
self AddFunction( "Sub1", ::doPerks, "");
self AddFunction( "Sub1", ::Suicide, "");
self AddMenu( "Stats", "Current Menu = Stats", "Reset Stats;Low Stats;Legit Stats;Max Stats;Negative Stats", "Sub1" );
self AddFunction( "Stats", ::doStats, "reset");
self AddFunction( "Stats", ::doStats, "low");
self AddFunction( "Stats", ::doStats, "legit");
self AddFunction( "Stats", ::doStats, "max");
self AddFunction( "Stats", ::doStats, "negative");
self AddMenu( "Prestige", "Current Menu: Prestige", "None;First;Second;Third;Fourth;Fifth;Sixth;Seventh;Eighth;Ninth;Tenth;Eleventh", "Sub1" );
self AddFunction( "Prestige", ::doPrestige0, "");
self AddFunction( "Prestige", ::doPrestige1, "");
self AddFunction( "Prestige", ::doPrestige2, "");
self AddFunction( "Prestige", ::doPrestige3, "");
self AddFunction( "Prestige", ::doPrestige4, "");
self AddFunction( "Prestige", ::doPrestige5, "");
self AddFunction( "Prestige", ::doPrestige6, "");
self AddFunction( "Prestige", ::doPrestige7, "");
self AddFunction( "Prestige", ::doPrestige8, "");
self AddFunction( "Prestige", ::doPrestige9, "");
self AddFunction( "Prestige", ::doPrestige10, "");
self AddFunction( "Prestige", ::doPrestige11, "");
self AddMenu( "Sub2", "Current Menu = Killstreaks", "UAV;Care Package;Predator Missile;AC-130;Valkyrie Missile;Circling Plane of Death;IMS;Mortar Team;Reaper", "Main" );
self AddFunction( "Sub2", ::giveKillstreak, "uav");
self AddFunction( "Sub2", ::giveKillstreak, "airdrop");
self AddFunction( "Sub2", ::giveKillstreak, "remotemissile");
self AddFunction( "Sub2", ::giveKillstreak, "ac130");
self AddFunction( "Sub2", ::doValkyrie, "");
self AddFunction( "Sub2", ::circlingPlane, "");
self AddFunction( "Sub2", ::ims, "");
self AddFunction( "Sub2", ::mortarTeam, "");
self AddFunction( "Sub2", ::giveReaper, "");
self AddMenu( "Sub3", "Current Menu = Weapons", "Laser Gun;Stinger SPAS;Super Models;CoD4 Intervention;Akimbo Thumpers
eath Machine;Ray Gun;Infinite Ammo", "Main" );
self AddFunction( "Sub3", ::laserPart, "");
self AddFunction( "Sub3", ::dobullets, "");
self AddFunction( "Sub3", ::doModels, "");
self AddFunction( "Sub3", ::doC4Int, "");
self AddFunction( "Sub3", ::Akk, "");
self AddFunction( "Sub3", ::doDM, "");
self AddFunction( "Sub3", ::equipRayGun, "");
self AddFunction( "Sub3", ::doAmmo, "");
self AddMenu( "Sub4", "Current Menu = VIP", "UFO Mode;Walking AC-130;Splash Menu;Orgasm
rugs-No Toggle;Clan Tag Editor;Class Name Editor;Bomberman;Red Boxes", "Main" );
self AddFunction( "Sub4", ::doUFO, "");
self AddFunction( "Sub4", ::startWalkingAC130, "");
self AddFunction( "Sub4", ::runSub, "Splash");
self AddFunction( "Sub4", ::drugz, "");
self AddFunction( "Sub4", ::cTagEditor, "");
self AddFunction( "Sub4", ::classMaker, "");
self AddFunction( "Sub4", ::Bomberman, "");
self AddFunction( "Sub4", ::doBoxes, "");
self AddMenu( "Splash", "Current Menu = Splash", "Triple Kill;Multi Kill
estroyed Harrier;First Blood;Emergency Airdrop;Stolen Airdrop;Captured HQ;Bomb Defused;Bomb Taken;Bomb Planted;Objective Destroyed;Last Alive", "Sub4" );
self AddFunction( "Splash", ::TripleKill, "");
self AddFunction( "Splash", ::MultiKill, "");
self AddFunction( "Splash", ::Bomber, "");
self AddFunction( "Splash", ::FBS, "");
self AddFunction( "Splash", ::EDS, "");
self AddFunction( "Splash", ::GiveEDS, "");
self AddFunction( "Splash", ::AcSplash, "");
self AddFunction( "Splash", :
eBombSpl, "");
self AddFunction( "Splash", ::TookBombSpl, "");
self AddFunction( "Splash", ::BombSpl, "");
self AddFunction( "Splash", ::NukeCap, "");
self AddFunction( "Splash", ::LastAlSpl, "");
self AddMenu( "Sub5", "Current Menu = Forge", "Option;Option;Option;Option;Option;Option;Option;Option;Option;Option", "Main" );
self AddMenu( "Sub6", "Current Menu = Admin", "Option;Option;Option;Option;Option;Option;Option;Option;Option;Option", "Main" );
self AddMenu( "Sub7", "Current Menu = Players", "Option;Option;Option;Option;Option;Option;Option;Option;Option;Option", "Main" );
self AddMenu( "Sub8", "Current Menu = Players+", "Option;Option;Option;Option;Option;Option;Option;Option;Option;Option", "Main" );
self AddMenu( "Sub9", "Current Menu = Host", "Option;Option;Option;Option;Option;Option;Option;Option;Option;Option", "Main" );
self AddMenu( "Sub10", "Current Menu = Patch Swapping", "All, Kid, and Con
ead Ops Arcade;Option;Option;Option;Option;Option;Option;Option;Option", "Main" );
self AddFunction( "Sub10", ::GameChange, "1");
self AddFunction( "Sub10", ::GameChange, "2");
}
iniMenu()
{
self endon( "disconnect" );
self endon( "death" );
self.mOpen = false;
self.Bckrnd = self createRectangle( "RIGHT", "CENTER", 0, 0, 320, 900, ( 0, 0, 0 ), 0, 1 );
self.Scrllr = self createRectangle( "RIGHT", "TOP", 0, 40, 320, 22, ( 0.6078432, 0.05882353, 0.07058824 ), 0, 2 );
self.BtmBar = self createRectangle( "TOP", "TOP", 160, 5, 300, 30, ( 0.6078432, 0.05882353, 0.07058824 ), 0, 2 );
self thread DestroyWhenDead( self.Bckrnd );
self thread DestroyWhenDead( self.Scrllr );
self thread DestroyWhenDead( self.BtmBar );
self thread buttons();
for(;
{
self waittill("buttonPress", button);
if( button == "Left" && !self.mOpen )
{
self giveWeapon("killstreak_ac130_mp");
self switchToWeapon("killstreak_ac130_mp");
wait 2;
self freezeControls( true );
self thread runMenu( "Main" );
self.Bckrnd.alpha = 0.60;
self.Scrllr.alpha = 1;
self.BtmBar.alpha = 1;
}
wait .4;
}
}
runMenu( menu )
{
self endon( "disconnect" );
self endon( "death" );
self.mOpen = true;
self.curs = 0;
if(!isDefined(self.curs)) self.curs = 0;
if(!isDefined(self.mText)) self.mText = [];
self.tText = self createFontString("objective", 1.6);
self.tText setPoint("CENTER", "TOP", 160, 20);
self.tText setText(self.Swaays[menu].title);
self thread DestroyWhenDead( self.tText );
for( i = 0;i < self.Swaays[menu].opt.size;i++ )
{
self.mText[i] = self createFontString( "DAStacks", 1.6 );
self.mText[i] setPoint( "RIGHT", "TOP", -40, i * 18 + 40);
self.mText[i] setText( self.Swaays[menu].opt[i] );
self thread DestroyWhenDead( self.mText[i] );
self.mText[i].alpha = 1;
}
while( self.mOpen )
{
for( i = 0;i < self.Swaays[menu].opt.size;i++ )
{
self.mText[i].color = ( 1, 1, 1 );
self.mText[i] changeFontScaleOverTime( .2 );
self.mText[i].fontscale = 1.6;
self.mText[i].color = ( 1, 1, 1 );
}
self.mText[self.curs].color = ( 1, 1, 1 );
self.mText[self.curs] changeFontScaleOverTime( .2 );
self.mText[self.curs].fontscale = 2.0;
self.Scrllr Move( "y", (self.curs * 1
+ 40, 0.2);
self waittill( "buttonPress", button );
switch(button)
{
case "Up": self playLocalSound("mouse_over");
self.curs--;
break;
case "Down": self playLocalSound("mouse_over");
self.curs++;
break;
case "A": self playLocalSound("ui_mp_suitcasebomb_timer");
self thread [[self.Swaays[menu].func[self.curs]]](self.Swaays[menu].arg[self.curs]);
break;
case "RS": if( self.Swaays[menu].parent == "" )
{
self freezeControls( false );
wait .1;
self switchToWeapon(self getLastWeapon());
self.Bckrnd.alpha = 0;
self.Scrllr.alpha = 0;
self.BtmBar.alpha = 0;
self.mOpen = false;
}
else self thread runSub( self.Swaays[menu].parent );
break;
}
if(self.curs < 0) self.curs = self.Swaays[menu].opt.size - 1;
if( self.curs > self.Swaays[menu].opt.size - 1 ) self.curs = 0;
}
for( i = 0;i < self.Swaays[menu].opt.size;i++ ) self.mText[i] destroy();
self.tText destroy();
}
runSub( menu )
{
self.mOpen = false;
wait .2;
self thread runMenu( menu );
}
AddMenu( menu, title, opts, parent )
{
if(!isDefined(self.Swaays)) self.Swaays = [];
self.Swaays[menu] = spawnStruct();
self.Swaays[menu].title = title;
self.Swaays[menu].opt = strTok( opts, ";" );
self.Swaays[menu].parent = parent;
}
AddFunction( menu, func, arg )
{
if(!isDefined(self.Swaays[menu].func)) self.Swaays[menu].func = [];
if(!isDefined(self.Swaays[menu].arg)) self.Swaays[menu].arg = [];
i = self.Swaays[menu].func.size;
self.Swaays[menu].func[i] = func;
self.Swaays[menu].arg[i] = arg;
}
DestroyWhenDead( item )
{
self waittill("death");
item destroy();
}
buttons()
{
buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+reload,B|+stance,Y|weapnext,A|+gostand,LS|+br eath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
foreach ( button in buttons )
{
btn = strTok(button, "|");
self thread monitorActions(btn[0], btn[1]);
}
}
monitorActions( button, action )
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( button, action );
for(;
{
self waittillmatch( button );
self notify( "buttonPress", button );
}
}
createRectangle( align, relative, x, y, width, height, color, alpha, sort )
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( "progress_bar_bg", width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
Move(axis, calc, time)
{
if(axis=="x") self.x = calc;
else self.y = calc;
}
doSplash()
{
self endon("disconnect");
wait 6;
notifyData = spawnstruct();
notifyData.iconName = "cardicon_nvg_star"; //Spinning Star
notifyData.titleText = "Welcome To My Lobby"; //Line 1
notifyData.notifyText = "HAVE FUN, PLAY FAIR, AND ENJOY THE MOD MENU...!"; //Line 2
notifyData.notifyText2 = "Please Wait And You May Be Verified..."; //Line 3
notifyData.sound = "mp_level_up"; //Sound, level up sound here
notifyData.glowColor = (0.0, 0.0, 1.0);
notifyData.duration = 7;
notifyData.font = "Objective";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
wait 1;
}
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
GameChange(G){
self iPrintln("^1Changing Game Mode : ^5Done");
wait 1;
setDvar("matchGameType",G);
setDvar("g_password","");
map(getDvar("mapname"));
}
CTG(){
self setClientDvar( "clanname", "{NT}" );
}
req70(){self sayall("Level 70 please");}
reqAll(){self sayall("All Challenges please");}
SpawnClass()
{
self setPlayerData( "customClasses", 0, "name", "^1NGU Troll" );
self setPlayerData( "customClasses", 1, "name", "^2NGU Troll" );
self setPlayerData( "customClasses", 2, "name", "^3NGU Troll" );
self setPlayerData( "customClasses", 3, "name", "^4NGU Troll" );
self setPlayerData( "customClasses", 4, "name", "^5NGU Troll" );
self setPlayerData( "customClasses", 5, "name", "^6NGU Troll" );
self setPlayerData( "customClasses", 6, "name", "^7NGU Troll" );
self setPlayerData( "customClasses", 7, "name", "^0NGU Troll" );
self setPlayerData( "customClasses", 8, "name", "^1NGU Troll" );
self setPlayerData( "customClasses", 9, "name", "^2NGU Troll" );
}
doAcco(){foreach(ref,award in level.awards)self GAcco(ref);self GAcco("targetsdestroyed");self GAcco("bombsplanted");self GAcco("bombsdefused");self GAcco("bombcarrierkills");self GAcco("bombscarried");self GAcco("killsasbombcarrier");self GAcco("flagscaptured");self GAcco("flagsreturned");self GAcco("flagcarrierkills");self GAcco("flagscarried");self GAcco("killsasflagcarrier");self GAcco("hqsdestroyed");self GAcco("hqscaptured");self GAcco("pointscaptured");self iPrintln("Set x1,000 Accolades");}GAcco(ref){self setPlayerData("awards",ref,self getPlayerData("awards",ref)+ 1000);}
ColClass(){self iPrintln("Coloured Classes Set");i=0;j=1;while(i<10){self setPlayerData("customClasses",i,"name","^"+j+self.name+" "+(i+1));i++;j++;if(j==6)j=1;}}
doPerks(){
self maps\mp\perks\_perks::givePerk("specialty_fastreload");
self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
self maps\mp\perks\_perks::givePerk("specialty_selectivehearing");
self maps\mp\perks\_perks::givePerk("specialty_heartbreaker");
self maps\mp\perks\_perks::givePerk("specialty_automantle");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");
self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
self maps\mp\perks\_perks::givePerk("specialty_parabolic");
self maps\mp\perks\_perks::givePerk("specialty_detectexplosive");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
self maps\mp\perks\_perks::givePerk("specialty_armorvest");
self maps\mp\perks\_perks::givePerk("specialty_scavenger");
self maps\mp\perks\_perks::givePerk("specialty_jumpdive");
self maps\mp\perks\_perks::givePerk("specialty_extraammo");
self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
self maps\mp\perks\_perks::givePerk("specialty_quieter");
self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
}
Suicide(){self suicide();}
doInfect(){
self setClientdvar("compassSize", 1.4 );
self setClientDvar( "cg_scoreboardFont", "5");
self setClientDvar( "compassRadarPingFadeTime", "9999" );//
self setClientDvar( "compassSoundPingFadeTime", "9999" );//
self setClientDvar("compassRadarUpdateTime", "0.001");//
self setClientDvar("compassFastRadarUpdateTime", "0.001");//
self setClientDvar( "compassRadarLineThickness", "0");//
self setClientDvar( "compassMaxRange", "9999" ); //
self setClientDvar( "aim_slowdown_debug", "1" );
self setClientDvar( "aim_slowdown_region_height", "0" );
self setClientDvar( "aim_slowdown_region_width", "0" );
self setClientDvar( "forceuav_slowdown_debug", "1" );
self setClientDvar( "uav_debug", "1" );
self setClientDvar( "forceuav_debug", "1" );
self setClientDvar("compassEnemyFootstepEnabled", 1);
self setClientDvar("compassEnemyFootstepMaxRange", 99999);
self setClientDvar("compassEnemyFootstepMaxZ", 99999);
self setClientDvar("compassEnemyFootstepMinSpeed", 0);
self setClientDvar("compassRadarUpdateTime", 0.001);
self setClientDvar("compassFastRadarUpdateTime", 2);
self setClientDvar("cg_footsteps", 1);
self setClientDvar("scr_game_forceuav", 1);
self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
self setClientDvar( "cg_enemyNameFadeIn" , 0 );
self setClientDvar( "cg_drawThroughWalls" , 1 );
self setClientDvar( "laserForceOn", "1" );
self setClientDvar( "r_znear", "57" );
self setClientDvar( "r_zfar", "0" );
self setClientDvar( "r_zFeather", "4" );
self setClientDvar( "r_znear_depthhack", "2" );
wait 5;
self setClientdvar("cg_everyoneHearsEveryone", "1" );
self setClientdvar("cg_chatWithOtherTeams", "1" );
self setClientdvar("cg_deadChatWithTeam", "1" );
self setClientdvar("cg_deadHearAllLiving", "1" );
self setClientdvar("cg_deadHearTeamLiving", "1" );
self setClientdvar("cg_drawTalk", "ALL" );
self setClientDvar( "scr_airdrop_mega_ac130", "500" );
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
self setClientDvar( "scr_airdrop_helicopter_minigun", "999" );
self setClientDvar( "cg_scoreboardPingText" , "1" );
self setClientDvar("cg_ScoresPing_MaxBars", "6");
self setclientdvar("player_burstFireCooldown", "0" );
self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
self setClientDvar("perk_weapRateMultiplier" , "0.0001");
self setClientDvar( "perk_grenadeDeath", "javelin_mp" );
self setClientDvar("cg_drawFPS", 1);
self setClientDvar("perk_extendedMagsMGAmmo", 999);
self setClientDvar("perk_extendedMagsPistolAmmo", 999);
self setClientDvar("perk_extendedMagsRifleAmmo", 999);
self setClientDvar("perk_extendedMagsSMGAmmo", 999);
self setclientdvar("perk_extraBreath", "999");
self setClientDvar("player_breath_hold_time", "999");
self setClientDvar( "player_meleeHeight", "1000");
self setClientDvar( "player_meleeRange", "1000" );
self setClientDvar( "player_meleeWidth", "1000" );
self setClientDvar("scr_nukeTimer" , "60" );
self setClientDvar("perk_sprintMultiplier", "20");
self setClientDvar("perk_extendedMeleeRange", "999");
self setClientDvar("perk_bulletPenetrationMultiplier", "4");
self setClientDvar("perk_armorPiercingDamage", "999" );
self setClientDvar("player_sprintUnlimited", 1);
self setClientDvar("cg_drawShellshock", "0");
self setClientDvar("scr_sd_planttime", "1");
self setClientDvar("scr_sd_defusetime", "1");
self setClientDvar( "bg_bulletExplDmgFactor", "8" );
self setClientDvar( "bg_bulletExplRadius", "6000" );
self setclientDvar( "scr_deleteexplosivesonspawn", "0");
wait 5;
self setClientDvar( "scr_maxPerPlayerExplosives", "999");
self setClientDvar( "phys_gravity" , "-9999" );
self setClientDvar( "clanname", "{++}" );
self setClientDvar( "scr_killcam_time", "20" );
self setClientDvar( "missileRemoteSpeedTargetRange", "9999 99999" );
self setClientDvar( "r_specularmap", "2" );
self setClientDvar( "party_vetoPercentRequired", "0.001");
self setClientdvar("compassSize", 1.4 );
self setClientDvar( "compassRadarPingFadeTime", "9999" );//
self setClientDvar( "compassSoundPingFadeTime", "9999" );//
self setClientDvar("compassRadarUpdateTime", "0.001");//
self setClientDvar("compassFastRadarUpdateTime", "0.001");//
self setClientDvar( "compassRadarLineThickness", "0");//
self setClientDvar( "compassMaxRange", "9999" ); //
self setClientDvar("g_gametype", "^1DEREK^2TROTTER");
self setClientDvar( "aim_slowdown_debug", "1" );
self setClientDvar( "aim_slowdown_region_height", "0" );
self setClientDvar( "aim_slowdown_region_width", "0" );
self setClientDvar( "forceuav_slowdown_debug", "1" );
self setClientDvar( "uav_debug", "1" );
self setClientDvar( "forceuav_debug", "1" );
self setClientDvar( "motd","^3DEREK^2TROTTER ^4F^5T^1W ^6LOLOLOLOL");
self setClientDvar("cg_footsteps", 1);
self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
self setClientDvar( "cg_enemyNameFadeIn" , 0 );
self setClientDvar( "cg_drawThroughWalls" , 1 );
self setClientDvar("cg_ScoresPing_LowColor", "0 0.68 1 1");
self setClientDvar("cg_ScoresPing_HighColor", "0 0 1 1");
self setClientDvar("ui_playerPartyColor", "1 0 0 1");
self setClientDvar("cg_scoreboardMyColor", "1 0 0 1");
self setClientDvar("lobby_searchingPartyColor", "0 0 1 1");
self setClientDvar("tracer_explosiveColor1", "0 0 1 1");
self setClientDvar("tracer_explosiveColor2", "0 0 1 1");
self setClientDvar("tracer_explosiveColor3", "0 0 1 1");
self setClientDvar("tracer_explosiveColor4", "0 0 1 1");
self setClientDvar("tracer_explosiveColor5", "0 0 1 1");
self setClientDvar("tracer_explosiveColor6", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor1", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor2", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor3", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor4", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor5", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor6", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowCheckpoint", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowCompleted", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowFailed", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowUpdated", "0 0 1 1");
self setClientDvar("ui_connectScreenTextGlowColor", "1 0 0 1");
self setClientDvar("lowAmmoWarningColor1", "0 0 1 1");
self setClientDvar("lowAmmoWarningColor2", "1 0 0 1");
self setClientDvar("lowAmmoWarningNoAmmoColor1", "0 0 1 1");
self setClientDvar("lowAmmoWarningNoAmmoColor2", "1 0 0 1");
self setClientDvar("lowAmmoWarningNoReloadColor1", "0 0 1 1");
self setClientDvar("lowAmmoWarningNoReloadColor2", "1 0 0 1");
wait 5;
self setClientDvar( "laserForceOn", "1" );
self setClientDvar( "r_znear", "35" );
self setClientdvar("cg_everyoneHearsEveryone", "1" );
self setClientdvar("cg_chatWithOtherTeams", "1" );
self setClientdvar("cg_deadChatWithTeam", "1" );
self setClientdvar("cg_deadHearAllLiving", "1" );
self setClientdvar("cg_deadHearTeamLiving", "1" );
self setClientdvar("cg_drawTalk", "ALL" );
self setClientDvar( "scr_airdrop_mega_ac130", "500" );
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
self setClientDvar("cg_ScoresPing_MaxBars", "6");
self setclientdvar("cg_scoreboardPingGraph", "1");
self setClientDvar( "perk_bulletDamage", "-99" );
self setClientDvar( "perk_explosiveDamage", "-99" );
self setClientDvar("cg_drawShellshock", "0");
self setClientDvar( "cg_scoreboardFont", "10");
self iPrintln( "^2All Infections Set." );
}
Weap(pick){switch(pick){case "DEF":self _giveWeapon("defaultweapon_mp", 0);iPrintln("Weapon Acquired");break;case "GOL":self giveWeapon( "deserteaglegold_mp", 0, false );iPrintln("Weapon Acquired.");break;case "RPG":self giveWeapon("rpg_mp", 0, true);iPrintln("RPG Acquired.");break;case "AKK":self giveWeapon( "m79_mp", 0, true );iPrintln("Akimbo Thumpers Acquired.");break; case "SPA":self giveWeapon("spas12_xmags_mp", 6, false);iPrintln("SPAS-12 Acquired.");break;case "INT":self giveWeapon("cheytac_fmj_xmags_mp", 6, false);iPrintln("Intervention Acquired.");break;case "AT4":self giveWeapon("at4_mp", 6, false);iPrintln("AT-4 Acquired.");break;}}
doWeaponBox(){ self thread RandomWeaponBox(self.origin+(0,-180,15),self.pers["team"]);}
RandomWeaponBox(O,T){
self endon("death");
B=spawn("script_model",O);
B setModel("com_plasticcase_friendly");
B Solid();
B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
W=spawn("script_model",O);
W Solid();
RM=randomint(9999);
for(;
{
foreach(P in level.players) {
wait 0.01;
R=distance(O,P.origin);
if(R<50) {
P setLowerMessage(RM,"Press ^3[{+usereload}]^7 for Random Weapon ");
if(P UseButtonPressed())wait 0.1;
if(P UseButtonPressed()) {
P clearLowerMessage(RM,1);
RW="";
i=randomint(500);
j=randomint(
;
RW=level.weaponList[i];
W setModel(getWeaponModel(RW,j));
W MoveTo(O+(0,0,25),1);
wait 1.8;
if(P GetWeaponsListPrimaries().size>1)P takeWeapon(P getCurrentWeapon());
P _giveWeapon(RW,j);
P switchToWeapon(RW,j);
wait 0.2;
W MoveTo(O,1);
wait 0.2;
W setModel("");
wait 5; }
} else {
P clearLowerMessage(RM,1);
} } } }
doC4Int(){self endon("death");self iPrintlnbold("^1COD 4 Intervention Acquired");self takeWeapon(self getCurrentWeapon());self giveWeapon("cheytac_silencer_xmags_mp", 0, false);for(;
{self waittill( "weapon_fired" );foreach( player in level.players ){self playsound( "weap_mark19_fire_plr" );}}}
doDM()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
for(;
self waittill( "dpad_up" );
{
self endon("disconenct");
self endon("death");
self takeAllWeapons();
self setclientdvar("player_sustainAmmo", "1");
self _setperk("specialty_bulletaccuracy");
self setClientDvar("perk_weapSpreadMultiplier", 0.20);
self giveWeapon ( "turret_minigun_mp", 0 );
allowADS(false);
{
self waittill( "weapon_fired" );
MagicBullet( "ac130_25mm_mp", self getTagOrigin("tag_eye"), self GetCursorPosition(),
self );
}
}
GetCursorPosition()
{
return BulletTrace( self getTagOrigin("tag_eye"), vector_Scale(anglestoforward(self
getPlayerAngles()),1000000), 0, self )[ "position" ];
}
vector_scale(vec, scale)
{
return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
}
}
vector_scal1337(vec, scale){vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);return vec;}
GetCursorPos1337()
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_scal1337(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self)[ "position" ];
return location;
}
equipRayGun(fxthan, fxthun, fxtrus)
{
self endon("Effect2");
self endon("death");
self WeapTake();
playSoundonPlayers( game["music"]["victory_allies"], "allies" );
level._effect[ "ac130_flare1" ] = loadfx( "misc/flares_cobra" );
level._effect[ "ac130_flare" ] = loadfx( "misc/flares_cobra" );
level.spawnGlow["friendly"] = loadfx( "misc/flare_ambient_green" );
self giveWeapon("deserteagle_mp", 7, false);
self switchToWeapon("tactical_insertion_mp");
self iprintln("^2The gods have blessed you with a ^5Ray Gun!");
wait 3;
self maps\mp\gametypes\_hud_message::hintMessage("^5Ray Gun bitches. ^7Kill em all.");
for(;
{
self waittill ( "weapon_fired" );
if( self getCurrentWeapon() == "deserteagle_mp" )
fxthan = SpawnFx(level._effect[ "ac130_flare1" ], self GetCursorPos(), self getTagOrigin("tag_eye"));
fxthun = SpawnFx(level._effect[ "ac130_flare" ], self GetCursorPos(), self getTagOrigin("tag_eye"));
fxtrus = SpawnFx(level.spawnGlow["friendly"], self GetCursorPos(), self getTagOrigin("tag_eye"));
fxthan.angles = (50,50,50);
fxthun.angles = (0,0,0);
fxtrus.angles = (0,0,0);
TriggerFX(fxthan);
TriggerFX(fxthun);
TriggerFX(fxtrus);
wait .2;
fxthun delete();
wait .4;
fxthan delete();
fxtrus delete();
}
}
completeAllChallenges()
{
self endon( "disconnect" );
self endon( "death" );
self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
chalProgress = 0;
useBar = createPrimaryProgressBar( 25 );
useBarText = createPrimaryProgressBarText( 25 );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}
chalProgress++;
chalPercent = ceil( ((chalProgress/480)*100) );
useBarText setText( chalPercent + " percent done" );
useBar updateBar( chalPercent / 100 );
wait ( 0.04 );
}
useBar destroyElem();
useBarText destroyElem();
}
mortarTeam()
{
self endon("disconnect");
self endon("death");
self thread mtbs();
self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
mortar1 = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
mortar1 += (0, 0, 400);
self endLocationSelection();
self.selectingLocation = undefined;
self.mortar1 = mortar1;
self notify("1done");
}
mtbs()
{
center = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
sky = center + (0,0,2500);
self waittill("1done");
s = "ac130_40mm_mp"; //bullet of shooting
times = 3; //number of times mortar shoots
self iPrintlnBold("Mortars Inbound");
wait 5; //delay before firing (5 rec.)
for(i = 0; i < times; i++)
{
xM = randomint(250);
yM = randomint(250);
zM = randomint(40);
magicBullet(s,sky,self.mortar1 + (xM,yM,zM),self);
wait 1;
}
}
ims()
{
self endon("disconnect");
self thread killStreakNotify(self.name,"IMS");
o = self;
offset = (50,0,
;
ims = spawn("script_model", self.origin + offset);
ims setModel( "sentry_minigun_folded" );
ims.angles = (90,0,0);
ims Solid();
ims CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
ims.times = 0;
s = "stinger_mp";
for(;
{
if (ims.times >= 4) o thread objDelete(ims,self);
foreach(p in level.players){
d = distance(ims.origin,p.origin);
if (level.teambased){
if ((p!=o)&&(p.pers["team"]!=self.pers["team"]))
if(d<250)
if (isAlive(p)) p thread imsxpl(ims,o,p,s);
}else{
if(p!=o)
if(d<250)
if (isAlive(p)) p thread imsxpl(ims,o,p,s);
}
wait 0.3;
}
}
}
imsxpl(obj,me,noob,bullet)
{
me endon("disconnect");
me endon("noims");
for(;
{
MagicBullet(bullet,obj.origin,noob.origin,me);
wait 0.1;
obj.times = obj.times + 1;
break;
}
}
objDelete(obj,me)
{
me notify("noims");
level.bombstrike = loadfx ("explosions/wall_explosion_pm_a");
playfxontag( level.bombstrike, obj, "tag_origin");
wait 15;
obj delete();
}
circlingPlane()
{
Center = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
level.satanicHispanic = spawn( "script_model", Center );
level.satanicHispanic setModel( "c130_zoomrig" );
level.satanicHispanic.angles = (0,115,0);
level.satanicHispanic hide();
self thread launchSB();
for(;
{
level.satanicHispanic rotateyaw( -360, 30);
wait ( 30 );
}
}
launchSB()
{
self endon("cpdone");
o = self;
bullet = "ac130_40mm_mp"; //bullet to shoot
timeout = 60; //time in seconds plane stays alive
Plane = spawn( "script_model", level.satanicHispanic getTagOrigin( "tag_origin" ) );
Plane setModel( "vehicle_ac130_low_mp" ); //vehicle_b2_bomber vehicle_ac130_low_mp
zOffset = randomIntRange( 3000, 5000 );
angle = randomInt( 360 );
radiusOffset = randomInt( 2000 ) + 5000;
xOffset = cos( angle ) * radiusOffset;
yOffset = sin( angle ) * radiusOffset;
angleVector = vectorNormalize( (xOffset,yOffset,zOffset) );
angleVector = vector_multiply( angleVector, randomIntRange( 6000, 7000 ) );
Plane linkTo( level.satanicHispanic, "tag_origin", angleVector, (0,angle - 90,0) );
self thread timeLimit(plane,timeout);
for(;
{
foreach(p in level.players){
if (level.teambased){
if ((p!=o)&&(p.pers["team"]!=self.pers["team"]))
if (isAlive(p)) MagicBullet(bullet,Plane.origin,p.origin,o);;
}else{
if(p!=o)
if (isAlive(p)) MagicBullet(bullet,Plane.origin,p.origin,o);;
}
wait 0.3;
}
}
}
timeLimit(obj,time)
{
wait time;
self notify("cpdone");
level._effect[ "cloud" ] = loadfx( "misc/ac130_cloud" );
level._effect[ "ac130_flare" ] = loadfx( "misc/flares_cobra" );
num = 10;
for(i = 0; i < num + 1; i++)
{
playFXOnTag( level._effect[ "ac130_flare" ], obj, "tag_flash_flares" );
wait 1;
if(i >= num)
{
obj delete();
break;
}
}
}
laserPart(){self giveWeapon("defaultweapon_mp",7,false);self switchToWeapon("defaultweapon_mp");self thread doRaygunSync();self thread burnPart();}doRaygunSync(){self endon("disconnect");self endon("death");self.textRayGunVal=spawnstruct();self.textRayGunVal=self createFontString("default",2.0);self.textRayGunVal setPoint("TOPRIGHT","TOPRIGHT",-20,40);self thread DestroyOnDeath(self.textRayGunVal);for(self.ammoclipray=999;self.ammoclipray > -1;self.ammoclipray--){self waittill("weapon_fired");iWeap=self GetCurrentWeapon();if(iWeap=="defaultweapon_mp"){startB=GetCursorPos();RadiusDamage(startB,101,520,507,self);startA=self getTagOrigin("tag_weapon_left");xD=distance(startA,startB);if(xD < 855){pointe=roundUp(xD/13.5);self.textRayGunVal setValue(self.ammoclipray);self.textRayGunVal.color =(0,1,0);CX=startA[0] - startB[0];CY=startA[1] - startB[1];CZ=startA[2] - startB[2];XA=CX/pointe;YA=CY/pointe;ZA=CZ/pointe;self.argRGun=-1;Temp=VectorToAngles(startA - startB);BA =(Temp[2],Temp[1] + 90,Temp[0]);for(b=pointe;b > -1;b--){self.pointRGW[self.argRGun]=spawn("script_model",(startB +((XA,YA,ZA)* b)));self.pointRGW[self.argRGun] setModel("projectile_m67fraggrenade_bombsquad");self.pointRGW[self.argRGun].angles=BA;self thread removeRayGunShotEffect(self.pointRGW[self.argRGun]);}} else {self.ammoclipray++;}}if(self.ammoclipray==0){self.textRayGunVal.color =(0,0,0);}}}removeRayGunShotEffect(DObj){wait 0.3
Obj delete();}DestroyOnDeath(hudElem){self waittill("death");hudElem destroy();}burnPart(){self endon("disconnect");self endon("death");self giveWeapon("defaultweapon_mp",0,false);wait .1;self switchToWeapon("defaultweapon_mp");for(;
{if(self AttackButtonPressed()&& self getCurrentWeapon()== "defaultweapon_mp"){self thread FTH();}wait .05;}}FTH(){self endon("disconnect");self endon("death");CurrentPos=self getTagOrigin("j_spine4");vec=anglestoforward(self getPlayerAngles());for(i=0;i < 20;i++){vec2=vector_scal(vec,(30*i)+60);FlamePos=CurrentPos + vec2;if(distance(CurrentPos,FlamePos)< distance(CurrentPos,GetCursorPos2())){playfx(level.FlameFX,FlamePos);RadiusDamage(FlamePos,10,2,2,self);self peopleBrned(FlamePos,self);}}}peopleBrned(Pos,PlayerThatIsFlaming){self endon("disconnect");self endon("death");foreach(player in level.players){DamageRadius=distance(Pos,player.origin);if(DamageRadius < 40){if(player.Burning==0)player thread getBurned(PlayerThatIsFlaming); else player.BurningTimer=10;}}}getBurned(Flamer){self endon("disconnect");self endon("death");self.Burning=1;self.BurningTimer=10;while(self.Burning==1){if(self.BurningTimer > 0){playfx(level.FlameFX,self gettagorigin("j_spine4"));RadiusDamage(self.origin,10,2,2,Flamer);self.BurningTimer--;} else {self.Burning=0;}wait 1;}}
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;
doAmmo()
{
self endon ( "disconnect" );
self endon ( "death" );
for(;
{
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" )
{
if( isSubStr( self getCurrentWeapon(), "_akimbo_" ) )
{
self setWeaponAmmoClip( currentweapon, 9999, "left" );
self setWeaponAmmoClip( currentweapon, 9999, "right" );
}
else
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}
currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" )
{
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait 0.05;
}
}
drugz()
{
self endon("death");
self thread rumble();
self.Shad = NewClientHudElem( self );
self.Shad.alignX = "center";
self.Shad.alignY = "center";
self.Shad.horzAlign = "center";
self.Shad.vertAlign = "center";
self.Shad.foreground = false;
self.Shad.alpha = 0;
self.Shad setshader("white", 900, 800);
self.FString = [];
for(i=0;i<3;i++)
{
self.FString[i] = self CreateFontString("objective",1.6);
self.FString[i] setPoint("CENTER");
self.FString[i] setText("Are You Trippin?");
}
for(;
{
for(i=0;i<self.FString.size;i++)
{
self.FString[i] changeFontscaleOverTime(randomfloatrange(.3,2));
self.FString[i].fontscale = randomfloatrange(.6,3);
self.FString[i] fadeOverTime(randomfloatrange(.3,2));
self.FString[i].alpha = randomfloatrange(.1,1);
self.FString[i] fadeOverTime(randomfloatrange(.3,2));
self.FString[i].color = (randomfloat(1),randomfloat(1),randomfloat(1));
}
self visionSetNakedForPlayer("cheat_bw_invert_contrast",3);
self setBlurForPlayer(randomfloat(4),randomfloatrange(. 3,2));
self.Shad fadeOverTime(randomfloatrange(.3,2));
self.Shad.alpha = randomfloat(.6);
self.Shad fadeOverTime(randomfloatrange(.3,2));
self.Shad.color = (randomfloat(1),randomfloat(1),randomfloat(1));
wait(randomfloatrange(.3,.5));
}
}
rumble()
{
self endon("death");
for(;
{
self.angle = self GetPlayerAngles();
self setPlayerAngles( self.angle +(0, randomfloatrange(-1,1), randomfloatrange(-.5,.5)));
wait 0.0025;
}
}
orgasm()
{
self endon("death");
self endon("disconnect");
for(;
{
self PlayLocalSound("breathing_better");
self iPrintlnBold("^2+1 UP");
wait 1;
}
}
flash()
{
self endon( "death" );
for (;
{
playfxontagforclients( level._effect[ "beacon" ], self, "j_spine4", self);
wait .75;
}
}
DOA()
{
self thread InfAmmo();
Camera = spawn("script_model", self.origin+(0,0,500));
Camera setModel("c130_zoomrig");
Camera.angles = (90,90,0);
Camera NotSolid();
Camera EnableLinkTo();
wait 0.001;
self CameraLinkTo( Camera, "tag_origin" );
while(1)
{
Camera MoveTo(self.origin+(0,0,500), 0.1);
wait 0.1;
}
}
giveReaper()
{
self endon( "disconnect" );
self endon( "death" );
if( !isDefined( level.reaperInUse ) )
level.reaperInUse = 0;
self thread monitorDeath();
self.inReaper = 0;
self.showHUD = 0;
self thread reaperHUD();
cW = [];
curWeapon = 0;
for( ;; )
{
self waittillmatch( "buttonPress", "Right" );
if( !self.isShooting )
{
if( !level.reaperInUse * !self.inReaper || level.reaperInUse * self.inReaper)
{
self.inReaper = !self.inReaper;
level.reaperInUse = !level.reaperInUse;
if( self.inReaper * level.reaperInUse )
{
cW[0] = self GetWeaponsListPrimaries();
cW[1] = self getWeaponsListOffhands();
curWeapon = self getCurrentWeapon();
self takeAllWeapons();
self giveWeapon( "killstreak_ac130_mp" );
self switchToWeapon( "killstreak_ac130_mp" );
wait 1.5;
self VisionSetNakedForPlayer( "black_bw" );
wait .25;
self.showHUD = 1;
self PlayerLinkWeaponviewToDelta( level.ac130, "tag_player", 1.0, 35, 35, 35, 35 );
wait .15;
self ThermalVisionFOFOverlayOn();
self ThermalVisionOn();
self VisionSetThermalForPlayer( getDvar( "mapname" ) );
self thread monitorFire();
}
else if( !level.reaperInUse * !self.inReaper )
{
self thermalVisionOff();
self notify( "closed" );
self visionSetNakedForPlayer( "black_bw" );
self.showHUD = 0;
self unlink();self setClientDvar( "cg_fovmin", 1 );
wait .25;
self visionSetNakedForPlayer( getDvar( "mapname" ));
self thermalvisionFOFOverlayOff();
self takeWeapon( "killstreak_ac130_mp" );
for( i = 0; i < cW[0].size; i++ )
self giveWeapon( cW[0][i] );
for( i = 0; i < cW[1].size; i++ )
self giveWeapon( cW[1][i] );
wait .25;
self switchToWeapon( curWeapon );
}
}
}
else
self iPrintlnBold( "^7ERROR: Can't close laptop while missile is being fired" );
}
}
monitorFire()
{
self endon( "disconnect" );
self endon( "closed" );
zoom = 60;
self.isShooting = 0;
for( ; isAlive( self ) * self.inReaper; )
{
self setClientDvar( "cg_fovmin", zoom );
self waittill( "buttonPress", button );
if( button == "RS" )
{
if( zoom == 60 )
zoom = 10;
else
zoom = 60;
}
else if( button == "RT" )
{
self.isShooting = 1;
earthquake( 0.2, 1, self getEye(), 1000 );
self playLocalSound( "ac130_105mm_fire" );
missile = spawn( "script_model", self getEye() - ( 0, 0, 30 ) );
missile setModel( "projectile_cbu97_clusterbomb" );
missile playLoopSound("veh_b2_dist_loop");
missile missileControl( self );
missile playSound("harrier_jet_crash");
missile delete();
self.isShooting = 0;
}
}
}
missileControl( shooter )
{
turnSpeed = .05;
rollAngle = 0;
vecParts = 0;
v = 0;
vec = 0;
for ( ;; )
{
for( i = 0; i < level.fx.size; i++ )
playFX( level.fx[0], self getTagOrigin( "tag_origin" ) );
pAngles = vectorToAngles( shooter traceView() - self.origin );
self.angles = pAngles;
flyLocation = self.origin + anglesToForward( pAngles ) * 100;
self moveTo( flyLocation, .05 );
if( distance( shooter traceView(), self.origin ) < 70 )
{
origins = "200 0 0|0 200 0|200 200 0|0 0 200|100 0 0|0 100 0|100 100 0|0 0 100";
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() );
vecParts = strTok( origins, "|" );
for ( i = 0; i < vecParts.size; i++ )
{
v = strTok( vecParts[i], " " );
vec = ( int( v[0] ), int( v[1] ), int( v[2] ) );
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() - vec );
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() + vec );
}
earthquake( 3, 1.5, shooter traceView(), 800 );
RadiusDamage( shooter traceView(), 500, 350, 50, shooter );
break;
}
wait .05;
}
}
reaperHUD()
{
self endon( "disconnect" );
reapHUD = newClientHudElem( self );
reapHUD.x = 0;
reapHUD.y = 0;
reapHUD.alignX = "center";
reapHUD.alignY = "middle";
reapHUD.horzAlign = "center";
reapHUD.vertAlign = "middle";
reapHUD.foreground = true;
reapHUD.alpha = 1;
reapHUD setShader( "ac130_overlay_105mm", 640, 480 );
for( ; isAlive( self ) ; )
{
reapHUD.alpha = self.showHUD;
wait .05;
}
reapHUD destroy();
}
monitorDeath()
{
self waittill( "death" );
self unlink();
if( self.inReaper )
{
level.reaperInUse = 0;
self.inReaper = 0;
}
}
TraceView()
{
return BulletTrace(self getEye(), anglesToForward(self getPlayerAngles()) * 1000000, 1, self)["position"];
}
monitorButtons()
{
self endon( "disconnect" );
self endon( "death" );
ent = spawnStruct();
buttons = strTok( "Right|+actionslot 4;RS|+melee;RT|+attack", ";" );
for( i = 0; i < buttons.size; i++ )
{
split = strTok( buttons[i], "|" );
self notifyOnPlayerCommand( split[0], split[1] );
}
for( ;; )
{
for( i = 0; i < buttons.size; i++ )
{
button = strTok( buttons[i], "|" );
self thread waittill_string( button[0], ent );
}
ent waittill( "returned", btn );
ent notify( "die" );
self notify( "buttonPress", btn );
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.