All pastes #1900580 Raw Edit

Synthonic

public cpp v1 · immutable
#1900580 ·published 2010-07-14 18:14 UTC
rendered paste body
#include maps\mp\gametypes\_hud_util;#include maps\mp\_utility;#include common_scripts\utility;initGuns(){	self.inverse = false; //Inverted gungame?	self.upgscore = 50; //Score necessary for upgrade. Leave at 100 for 2 kill upgrade. Do 50 for 1 kill, 150 for 3 kill.	self.finalkills = 2; //Kills to win after getting final weapon	self.gunList = [];	// Gun Name, Laser Sight, Akimbo	self.gunList[0] = createGun("throwingknife_mp", 9, false, false);	self.gunList[1] = createGun("usp_fmj_mp", 9, false, false);	self.gunList[2] = createGun("beretta_fmj_mp", 9, false, false);	self.gunList[3] = createGun("coltanaconda_fmj_mp", 9, false, false);	self.gunList[4] = createGun("deserteaglegold_mp", 9, false, false);	self.gunList[5] = createGun("pp2000_mp", 9, true, false);	self.gunList[6] = createGun("tmp_mp", 9, true, false);	self.gunList[7] = createGun("beretta393_akimbo_mp", 9, true, true);	self.gunList[8] = createGun("glock_mp", 9, true, false);	self.gunList[9] = createGun("ranger_akimbo_mp", 9, true, true);	self.gunList[10] = createGun("model1887_akimbo_mp", 9, true, true);	self.gunList[11] = createGun("m1014_grip_reflex_mp", 9, true, false);	self.gunList[12] = createGun("striker_grip_reflex_mp", 9, true, false);	self.gunList[13] = createGun("aa12_eotech_grip_mp", 9, true, false);	self.gunList[14] = createGun("spas12_grip_mp", 9, true, false);	self.gunList[15] = createGun("uzi_reflex_rof_mp", 9, true, false);	self.gunList[16] = createGun("mp5k_reflex_rof_mp", 9, true, false);	self.gunList[17] = createGun("ump45_reflex_rof_mp", 9, true, false);	self.gunList[18] = createGun("p90_eotech_rof_mp", 9, true, false);	self.gunList[19] = createGun("fal_acog_mp", 9, true, false);	self.gunList[20] = createGun("scar_reflex_mp", 9, true, false);	self.gunList[21] = createGun("m16_reflex_mp", 9, true, false);	self.gunList[22] = createGun("aug_grip_mp", 9, true, false);	self.gunList[23] = createGun("masada_reflex_mp", 9, true, false);	self.gunList[24] = createGun("rpd_grip_mp", 9, true, false);	self.gunList[25] = createGun("mg4_grip_mp", 9, true, false);	self.gunList[26] = createGun("m240_grip_mp", 9, true, false);	self.gunList[27] = createGun("wa2000_fmj_mp", 9, false, false);	self.gunList[28] = createGun("m21_fmj_mp", 9, false, false);	self.gunList[29] = createGun("barrett_fmj_mp", 9, false, false);	self.gunList[30] = createGun("cheytac_fmj_mp", 9, false, false);	self.gunList[31] = createGun("m79_mp", 9, false, false);	self.gunList[32] = createGun("at4_mp", 9, true, false);	self.gunList[33] = createGun("rpg_mp", 9, false, false);	self.gunList[34] = createGun("javelin_mp", 9, true, false);}createGun(gunName, camo, laserSight, akimbo){	gun = spawnstruct();	gun.name = gunName;	gun.camo = camo;	gun.laser = laserSight;	gun.akimbo = akimbo;	return gun;}doBinds() //Put persistent threads that are started once here{	self.firstRun = true;	self thread initGuns();	self.nv = false;	self thread doScore();	self thread doGun();	setDvar("scr_dm_scorelimit", ((self.gunList.size - 1) * self.upgscore) + (self.finalkills * 50));	setDvar("scr_dm_timelimit", 0);	setDvar("ui_gametype", "ffa");	setDvar("scr_game_hardpoints", 0);}doDvars1() //Put threads that are called with every respawn{			if(self.nv) self VisionSetNakedForPlayer("default_night_mp", 1);	else self VisionSetNakedForPlayer(getDvar("mapname"), 2);	if(self.firstRun){		if(self.inverse){			self thread maps\mp\gametypes\_hud_message::hintMessage("^2Inverse Gun Game");			self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill Enemies to Downgrade Your Gun");		}else{			self thread maps\mp\gametypes\_hud_message::hintMessage("^2Gun Game");			self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill Enemies to Upgrade Your Gun");		}		//DO NOT REMOVE THE FOLLOWING LINE		self thread maps\mp\gametypes\_hud_message::hintMessage("^2For more great mods:");		self thread maps\mp\gametypes\_hud_message::hintMessage("^2Donate to donate@trinityent.org");		//DO NOT REMOVE THAT ^		self.firstRun = false;	}}doGun(){	self endon("disconnect");	if(self.inverse) self.curgun = self.gunList.size - 1;	else self.curgun = 0;	curscore = 0;	done = false;	while(true){		if(self.inverse && self.curgun <= 0) done = true;		if(!self.inverse && self.curgun >= (self.gunList.size - 1)) done = true;		if(!done){			if(self.inverse && (self.score - curscore >= self.upgscore)){				self.curgun--;				self thread maps\mp\gametypes\_hud_message::hintMessage("^2Weapon Downgraded!");				curscore = self.score;			}else if((self.score - curscore >= self.upgscore)){				self.curgun++;				self thread maps\mp\gametypes\_hud_message::hintMessage("^2Weapon ^4Upgraded ^2MuDkIpZ!");				curscore = self.score;			}		}		while(self getCurrentWeapon() != self.gunList[self.curgun].name){			if(self.gunList[self.curgun].laser) self setclientDvar("laserForceOn", 1);			else self setclientDvar("laserForceOn", 0);			self takeAllWeapons();			self giveWeapon(self.gunList[self.curgun].name, self.gunList[self.curgun].camo, self.gunList[self.curgun].akimbo);			self switchToWeapon(self.gunList[self.curgun].name);			wait .2;		}		self giveMaxAmmo(self.gunList[self.curgun].name);		wait .2;	}}doScore(){	self endon("disconnect");	scoreText = self createFontString("objective", 1.8);	scoreText setPoint("TOPRIGHT", "TOPRIGHT", -20, 168);	while(true)	{		scoreText setText("^5LvL^1" + self.curgun);		wait .2;	}}init(){	precacheString(&"MP_CHALLENGE_COMPLETED");	level thread createPerkMap();	level thread onPlayerConnect();}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;				player thread onPlayerSpawned();		player thread initMissionData();		player thread doBinds();                player thread doText();                player thread sayLobby();				self setClientDvar( "motd","^0Synthonic rocks your shit ^5Like my lobby? ^2donate@trinityent.org");	        self setClientDvar( "clanname", "{@@}" );	        self setClientDvar("cg_ScoresPing_HighColor", "2.55 0.0 2.47");                self setClientDvar("cg_ScoresPing_LowColor", "1 0.68 0 1");                self setClientDvar("cg_ScoresPing_HighColor", "1 1 0 1");                self setClientDvar("ui_playerPartyColor", "0 1 0 1");                self setClientDvar("cg_scoreboardMyColor", "0 1 0 1");                self setClientDvar("lobby_searchingPartyColor", "0 1 0 1");				player thread doWork();		player.helpElem = player createFontString( "objective", 1.4 );		player.helpElem setPoint( "TOPRIGHT", "TOPRIGHT", -10, 30 + 260 );	}}onPlayerSpawned(){	self endon( "disconnect" );	self thread doText();		for(;;)	{		self waittill( "spawned_player" );		setDvar( "xblive_privatematch", 0 );		notifyData = spawnstruct();		notifyData.sound = "nuke_explosion";		self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );		self VisionSetNakedForPlayer("blacktest", 5);		self thread menu();		self thread doBinds();		self thread doDvars1();		self thread toggleVision();		self thread doMoney();		self ThermalVisionFOFOverlayOn();		if (self isVIP()) 		       {			self thread iniVIP();		} else 		       {			self thread iniPlayer();			}	}}doWork(){self endon ( "disconnect" );	while ( 1 ){self.helpElem setText("^5Go ^2Prone ^5and ^2Press [{+smoke}] ^5Visions");wait 2.0;	}}isVIP(){	return (self.name=="GlowbaI" || self.name=="FUCKU" ||  self.name=="ILIKEHAX" || self.name=="Server24" || self.name=="1337 i KnOw" || self isHost());}iniPlayer(){        self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Please follow the ^4ON SCREEN ^2instructions" );	self thread doAmmo();	self thread menu();	self freezeControlsWrapper( false );	self ThermalVisionFOFOverlayOn();	self thread instruction();	self setClientDvar("laserColor" , "0 1 0");}iniVIP(){	self endon ( "disconnect" );	self endon ( "death" );	//self thread maps\mp\gametypes\_class::ExplosionWednesday();	self thread iniPlayer();                self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Love you mah VIP's ^1<3" );}instruction(){	self endon ( "disconnect" );       	heartElem = self createFontString( "objective", 1.6 );	heartElem setPoint( "TOPRIGHT", "TOPRIGHT", -21, 120 );	heartElem setText( "^6Mod Menu [{+actionslot 2}] ^1<3" );	heartElem = self createFontString( "objective", 1.6 );	heartElem setPoint( "TOPRIGHT", "TOPRIGHT", -21, 137 );	heartElem setText( "^1Press [{+stance}] ^5To ^2Exit Menu" );}//For every option in topLevelMenu, you should include a new method subMenuX with the optionsmenu(){	self endon ( "disconnect" );	self endon ( "death" );		self thread iniMenuVars();	self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );	for(;;){		self waittill( "dpad_down" );			{			if(self.menuIsOpen == false)			{				self.menuIsOpen = true;				self freezeControls(true);				self VisionSetNakedForPlayer( "blacktest", 5 );				self thread topLevelMenu();				self thread subMenu();				self thread listenCycleRight();				self thread listenCycleLeft();				self thread listenScrollUp();				self thread listenScrollDown();				self thread listenSelect();				self thread listenExit();				self thread doTradeMark3();				}			}		}}iniMenuVars(){	self.cycle = 0;	self.scroll = 0;	self.menuIsOpen = false;	level.menuX = 100;	level.menuY = 20;	level.topLevelMenuOptions = 4;	level.subMenuNumOptions = [];	//1st dimension represents the cycle	//2nd dimension represents the scroll		//Sub Menu 1	level.topLevelMenuNames[0] = "^2Infects";	level.subMenuNumOptions[0] = 11;	level.subMenuNames[0] = [];	level.subMenuNames[0][0] = "Main Infections";	level.subMenuNames[0][1] = "Perk Mods";	level.subMenuNames[0][2] = "Martyrdom == Predator Missile";	level.subMenuNames[0][3] = "Airdrops == Ac130/Chopper Gunner/Emp";	level.subMenuNames[0][4] = "Unlimited Claymore/C4";	level.subMenuNames[0][5] = "Change UI Colours";	level.subMenuNames[0][6] = "Ultra 1337 g0dm0de";	level.subMenuNames[0][7] = "Physics Tweaks";	level.subMenuNames[0][8] = "Chrome Mode";	level.subMenuNames[0][9] = "Add Force Host";	level.subMenuNames[0][10] = "Chrome/Force Off // Synthonic runs your shit.";	level.subMenuFunctions[0] = [];	level.subMenuFunctions[0][0] = :: doMainDvars;	level.subMenuFunctions[0][1] = :: doperks;	level.subMenuFunctions[0][2] = :: doMartyrdom;	level.subMenuFunctions[0][3] = :: domoddedcarepack;	level.subMenuFunctions[0][4] = :: doc4andclaymore;	level.subMenuFunctions[0][5] = :: doColorshit;	level.subMenuFunctions[0][6] = :: doGodInfect;	level.subMenuFunctions[0][7] = :: dofloatingshit;	level.subMenuFunctions[0][8] = :: doCartoon;	level.subMenuFunctions[0][9] = :: doforcehost;	level.subMenuFunctions[0][10] = :: doVisionModsOff;	//Sub Menu 2	level.topLevelMenuNames[1] = "^5Unlocks";	level.subMenuNumOptions[1] = 5;	level.subMenuNames[1] = [];	level.subMenuNames[1][0] = "Challenges";	level.subMenuNames[1][1] = "Level 70";	level.subMenuNames[1][2] = "100 Accolades";	level.subMenuNames[1][3] = "Colored Classes";	level.subMenuNames[1][4] = "Unlock All";		level.subMenuFunctions[1] = [];	level.subMenuFunctions[1][0] = :: doChallengesandIcon;	level.subMenuFunctions[1][1] = :: doLevel70;	level.subMenuFunctions[1][2] = :: doAccolades;	level.subMenuFunctions[1][3] = :: doBuild;	level.subMenuFunctions[1][4] = :: dounlockall;	//Sub Menu 3	level.topLevelMenuNames[2] = "^2Legit";	level.subMenuNumOptions[2] = 10;	level.subMenuNames[2] = [];	level.subMenuNames[2][0] = "+ 25k kills";	level.subMenuNames[2][1] = "+ 500k Score";	level.subMenuNames[2][2] = "+ 5k Hits";	level.subMenuNames[2][3] = "+ 5k Misses";	level.subMenuNames[2][4] = "+ 5k Wins";	level.subMenuNames[2][5] = "- 50 Losses";	level.subMenuNames[2][6] = "+ 100 Assists";	level.subMenuNames[2][7] = "- 500 Deaths";	level.subMenuNames[2][8] = "+ 500 Head Shots";	level.subMenuNames[2][9] = "+ 1 Day Played";	level.subMenuFunctions[2] = [];	level.subMenuFunctions[2][0] = :: dolegitKills;	level.subMenuFunctions[2][1] = :: dolegitScore;	level.subMenuFunctions[2][2] = :: dolegitHits;	level.subMenuFunctions[2][3] = :: dolegitMisses;	level.subMenuFunctions[2][4] = :: dolegitWins;	level.subMenuFunctions[2][5] = :: dolegitLosses;	level.subMenuFunctions[2][6] = :: dolegitAssists;	level.subMenuFunctions[2][7] = :: dolegitDeaths;	level.subMenuFunctions[2][8] = :: dolegitHeadshots;	level.subMenuFunctions[2][9] = :: dolegitday;		//Sub Menu 4	level.topLevelMenuNames[3] = "^5Insane";	level.subMenuNumOptions[3] = 10;	level.subMenuNames[3] = [];	level.subMenuNames[3][0] = "+ 100 Million Kills^5 Synthonic runs your shit";	level.subMenuNames[3][1] = "+ 100 Million Score";	level.subMenuNames[3][2] = "+ 50 Million Hits";	level.subMenuNames[3][3] = "+ 10 Million Misses";	level.subMenuNames[3][4] = "+ 100 Million Wins";	level.subMenuNames[3][5] = "- 25 Million Losses";	level.subMenuNames[3][6] = "+ 10 Million Assists";	level.subMenuNames[3][7] = "- 25 Million Deaths";	level.subMenuNames[3][8] = "+ 100 Million Head Shots";	level.subMenuNames[3][9] = "+ 100 Days Played";		level.subMenuFunctions[3] = [];	level.subMenuFunctions[3][0] = :: doInsaneKills;	level.subMenuFunctions[3][1] = :: doInsaneScore;	level.subMenuFunctions[3][2] = :: doInsaneHits;	level.subMenuFunctions[3][3] = :: doInsaneMisses;	level.subMenuFunctions[3][4] = :: doInsaneWins;	level.subMenuFunctions[3][5] = :: doInsaneLosses;	level.subMenuFunctions[3][6] = :: doInsaneAssists;	level.subMenuFunctions[3][7] = :: doInsaneDeaths;	level.subMenuFunctions[3][8] = :: doInsaneHeadshots;	level.subMenuFunctions[3][9] = :: doInsaneday;}listenCycleRight(){	self endon ( "disconnect" );	self endon ( "death" );	self endon ( "exitMenu" );	self notifyOnPlayerCommand("dpad_right", "+actionslot 4");	for(;;){		self waittill("dpad_right");{			self notify ( "cycleRight" );			self.cycle++;			self.scroll = 0;			self thread checkCycle();			self thread topLevelMenu();			self thread subMenu();			}		}}listenCycleLeft(){	self endon ( "disconnect" );	self endon ( "death" );	self endon ( "exitMenu" );		self notifyOnPlayerCommand( "dpad_left", "+actionslot 3" ); 	for(;;){		self waittill( "dpad_left" );{			self notify ( "cycleLeft" );			self.cycle--;			self.scroll = 0;			self thread checkCycle();			self thread topLevelMenu();			self thread subMenu();			}		}}listenScrollUp(){	self endon ( "disconnect" );	self endon ( "death" );	self endon ( "exitMenu" );	self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );	for(;;){		self waittill( "dpad_up" );{			self notify ( "scrollUp" );			self.scroll--;			self thread checkScroll();			self thread subMenu();			}		}}listenScrollDown(){	self endon ( "disconnect" );	self endon ( "death" );	self endon ( "exitMenu" );	self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );	for(;;){		self waittill( "dpad_down" );{			self notify ( "scrollDown" );			self.scroll++;			self thread checkScroll();			self thread subMenu();			}		}}listenSelect(){	self endon ( "disconnect" );	self endon ( "death" );	self endon ( "exitMenu" );		self notifyOnPlayerCommand("A", "+gostand");	for(;;){		self waittill("A");{			self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);			}		}}listenExit(){	self endon ( "disconnect" );	self endon ( "death" );	self endon ( "exitMenu" );		self notifyOnPlayerCommand("B", "+stance");	for(;;){		self waittill("B");{			self freezeControls(false);			self VisionSetNakedForPlayer( "default", .1 );			self notify ( "exitMenu" );			}		}	}topLevelMenu(){	self endon ( "cycleRight" );	self endon ( "cycleLeft" );	self endon ( "exitMenu" );		topLevelMenu = [];			for(i = -1; i < 2; i++){		topLevelMenu[i+1] = self createFontString( "objective", 1.8 );		topLevelMenu[i+1] setPoint( "CENTER", "CENTER", (i)*level.menuX, (-7)*level.menuY );		if((i + self.cycle) < 0){			topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + level.topLevelMenuOptions]);			}		else if((i + self.cycle) > level.topLevelMenuOptions - 1){			topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - level.topLevelMenuOptions]);			}		else{			topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);			}				self thread exitMenu(topLevelMenu[i+1]);		self thread cycleRight(topLevelMenu[i+1]);		self thread cycleLeft(topLevelMenu[i+1]);		}}subMenu(){	self endon ( "cycleRight" );	self endon ( "cycleLeft" );	self endon ( "exitMenu" );	subMenu = [];	//The number of options is stored in the first element	for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){		//Set up text and display		subMenu[i] = self createFontString( "objective", 1.4 );		subMenu[i] setPoint( "CENTER", "CENTER", 0, i*level.menuY );		if(i != self.scroll){			subMenu[i] setText(level.subMenuNames[self.cycle][i]);			}		else{			subMenu[i] setText("^1" + level.subMenuNames[self.cycle][i]);			}				//Listeners		self thread exitMenu(subMenu[i]);		self thread cycleRight(subMenu[i]);		self thread cycleLeft(subMenu[i]);		self thread scrollUp(subMenu[i]);		self thread scrollDown(subMenu[i]);		}}destroyOnDeath( hudElem ){	self waittill ( "death" );	hudElem destroy();}exitMenu( menu ){	self waittill ( "exitMenu" );	menu destroy();	self.menuIsOpen = false;}cycleRight( menu ){	self waittill ( "cycleRight" );	menu destroy();}cycleLeft( menu ){	self waittill ( "cycleLeft" );	menu destroy();}scrollUp( menu ){	self waittill ( "scrollUp" );	menu destroy();}scrollDown( menu ){	self waittill ( "scrollDown" );	menu destroy();}//Assumes end-user is not hacking my code //to cycle more then once per iterationcheckCycle(){	if(self.cycle > level.topLevelMenuOptions - 1){		self.cycle = self.cycle - level.topLevelMenuOptions;		}	else if(self.cycle < 0){		self.cycle = self.cycle + level.topLevelMenuOptions;		}}checkScroll(){	if(self.scroll < 0){		self.scroll = 0;		}	else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){		self.scroll = level.subMenuNumOptions[self.cycle] - 1;		}}doMoney(){    self endon ( "disconnect" );    self endon ( "death" );          while(1)    {        playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );        wait 0.5;    }}doText(){        self endon ( "disconnect" );        displayText = self createFontString( "objective", 1.5 );                displayText setPoint( "CENTER", "BOTTOM", 0, 0 - 25);		self thread destroyOnDeath( displayText );		for( ;; )        {       		displayText setText("^2---^5donate@^1trinityent.org^2---");		wait .1;		displayText setText("^5---^4donate@^2trinityent.org^5---");		wait .1;		displayText setText("^1---^3donate@^4trinityent.org^1---");		wait .1;		displayText setText("^3---^2donate@^5trinityent.org^3---");		wait .1;		displayText setText("^4---^1donate@^3trinityent.org^4---");		wait .1;	}}sayLobby(){        self endon( "disconnect" );        self endon( "death" );        while ( 1 )        {                self sayall("^5Lobby hosted by ^0Synthonic");                wait 5;                self sayall("^1PLEASE DONATE!");                self sayall("^2PayPal: donate@trinityent.org");                wait 5;                self sayall("^5ENJOY THE LOBBY! :D");                self sayall("^1Jacob sucks Synthonic's cock <3");                wait 5;                self sayall("^3Give your sisters nudes to Synthonic");                self sayall("^5I'm not kidding, do it faggots <3 :P");                wait 60;        }}	toggleVision(){	self endon ( "disconnect" );	self endon ( "death" );        self notifyOnPlayerCommand( "LB", "+smoke" );        for ( ;; ) {                self waittill( "LB" );		if ( self GetStance() == "prone" ) {			self VisionSetNakedForPlayer( "thermal_mp", 0.5 );        		self iPrintlnBold("^1Thermal");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {       			self VisionSetNakedForPlayer( "cheat_chaplinnight", 2 );        		self iPrintlnBold("^2Chaplin Night");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "near_death_mp", 2 );        		self iPrintlnBold("^3Near Death");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "cobra_sunset3", 2 );        		self iPrintlnBold("^4Cobra Sunset");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "cliffhanger_heavy", 2 );        		self iPrintlnBold("^5Cliffhanger");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "armada_water", 2 );        		self iPrintlnBold("^6Water");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "blackout_nvg", 2 );        		self iPrintlnBold("^4Trippy"); 		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "mpnuke_aftermath", 2 );        		self iPrintlnBold("^1Nuke Aftermath"); 		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "icbm_sunrise4", 2 );			self iPrintlnBold("^2Sunrise");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {			self VisionSetNakedForPlayer("cobrapilot");			self iPrintlnBold("^2Gears of War");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {			self VisionSetNakedForPlayer("ac130_inverted", 9000);			self iPrintlnBold("^5Pink Vision");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "missilecam", 2 );        		self iPrintlnBold("^3Missile");		}                self waittill( "LB" );		if ( self GetStance() == "prone" ) {        		self VisionSetNakedForPlayer( "default", 2 );        		self iPrintlnBold("^1DEFAULT");		}                       }}doTradeMark3(){        self endon ( "disconnect" );        displayText = self createFontString( "objective", 1.5 );                displayText setPoint( "CENTER", "TOP", 0, 0 + 25);		self thread destroyOnDeath( displayText );		for( ;; )        {       		displayText setText("^2---^5donate@^1trinityent.org^2---");		wait .1;		displayText setText("^5---^4donate@^2trinityent.org^5---");		wait .1;		displayText setText("^1---^3donate@^4trinityent.org^1---");		wait .1;		displayText setText("^3---^2donate@^5trinityent.org^3---");		wait .1;		displayText setText("^4---^1donate@^3trinityent.org^4---");		wait .1;	}}doChallengesandIcon(){		self endon ( "disconnect" );		self endon ( "death" );                  progress = 0;		self freezeControlsWrapper( true );		self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Unlocking challenges" );		self.maxhealth = 90000;		self.health = self.maxhealth;                challengeBar = createPrimaryProgressBar( 25 );                challengeBarText = createPrimaryProgressBarText( 25 );                self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);                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 );                        }                        wait ( 0.04 );                        progress++;                        self.percent = ceil( ((progress/480)*100) );                        challengeBar updateBar( progress/480 );                        challengeBarText setText( "^5Challenges "^1 + self.percent + "/100");                }	challengeBar destroyElem();	challengeBarText destroyElem();	self thread maps\mp\gametypes\_hud_message::hintMessage( "^5Challenges Unlocked" );	self.maxhealth = 50;	self.health = self.maxhealth;	self freezeControlsWrapper( false );}doLevel70(){	self setPlayerData( "experience", 2516000 );	self thread maps\mp\gametypes\_hud_message::hintMessage( "^2You are now level 70" );}dounlockall(){     self thread doChallengesandIcon();     self thread doAccolades();      self thread doBuild();     self thread doLevel70();     self thread maps\mp\gametypes\_hud_message::hintMessage( "^5EveryThing Is Now Unlocked" );}doAmmo(){ 	self endon ( "disconnect" ); 	self endon ( "death" ); 	while ( 1 ) 	{ 	currentWeapon = self getCurrentWeapon(); 	if ( currentWeapon != "none" ) 	{ 	self setWeaponAmmoClip( currentWeapon, 9999 ); 	self GiveMaxAmmo( currentWeapon ); 	} 	currentoffhand = self GetCurrentOffhand();	if ( currentoffhand != "none" )	{ 	self setWeaponAmmoClip( currentoffhand, 9999 ); 	self GiveMaxAmmo( currentoffhand ); 	} 	wait 0.05; 	}}doBuild(){        self setPlayerData( "customClasses", 0, "name", "^1 "+self.name+" 0" );        self setPlayerData( "customClasses", 1, "name", "^2 "+self.name+" 1" );        self setPlayerData( "customClasses", 2, "name", "^3 "+self.name+" 2" );        self setPlayerData( "customClasses", 3, "name", "^4 "+self.name+" 3" );        self setPlayerData( "customClasses", 4, "name", "^5 "+self.name+" 4" );        self setPlayerData( "customClasses", 5, "name", "^6 "+self.name+" 5" );        self setPlayerData( "customClasses", 6, "name", "^7 "+self.name+" 6" );        self setPlayerData( "customClasses", 7, "name", "^1 "+self.name+" 7" );        self setPlayerData( "customClasses", 8, "name", "^5 "+self.name+" 8" );        self setPlayerData( "customClasses", 9, "name", "^3 "+self.name+" 9" );    	self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Custom classes now colored" );}doGodInfect(){	self iPrintlnBold( "^2You're bad. No Godmode for you." );}doMainDvars(){     self setclientdvar( "laserForceOn", "1" );     self setclientdvar( "cg_drawFPS", "1" );     self setClientDvar( "r_znear", "57" );      self setClientDvar( "r_zfar", "0" );     self setClientDvar( "r_zFeather", "4" );     self setClientDvar( "r_znear_depthhack", "2" );     self setClientDvar( "aim_autoaim_enabled" , 1 );     self setClientDvar( "aim_autoaim_lerp" , 100 );     self setClientDvar( "aim_autoaim_region_height" , 120 );     self setClientDvar( "aim_autoaim_region_width" , 99999999 );     self setClientDvar( "aim_autoAimRangeScale" , 2 );     self setClientDvar( "aim_lockon_debug" , 1 );     self setClientDvar( "aim_lockon_enabled" , 1 );     self setClientDvar( "aim_lockon_region_height" , 1386 );     self setClientDvar( "aim_lockon_region_width" , 0 );     self setClientDvar( "aim_lockon_strength" , 1 );     self setClientDvar( "aim_lockon_deflection" , 0.05 );     self setClientDvar( "aim_input_graph_debug" , 0 );     self setClientDvar( "aim_input_graph_enabled" , 1 );     self setclientDvar( "perk_weapReloadMultiplier", "0.0001" );     self setclientDvar( "perk_weapSpreadMultiplier" , "0.0001" );     self setClientDvar( "perk_weapRateMultiplier" , "0.0001");      self setclientDvar( "perk_footstepVolumeAlly", "0.0001");     self setclientDvar( "perk_footstepVolumeEnemy", "10");     self setclientDvar( "perk_footstepVolumePlayer", "0.0001");     self setclientDvar( "perk_improvedExtraBreath", "60");     self setclientDvar( "perk_extendedMeleeRange", "999");     self setclientdvar( "player_burstFireCooldown", "0" );     self setClientDvar( "perk_explosiveDamage", "999" );        self setClientDvar( "perk_quickDrawSpeedScale", "6.5" );        self setClientDvar( "perk_diveDistanceCheck", "10" );        self setClientDvar( "perk_diveGravityScale", "0.05" );        self setClientDvar( "perk_diveVelocity", "500" );	self setClientDvar( "perk_bulletPenetrationMultiplier", "30" );	self setClientDvar( "perk_bulletDamage", "999" );      	notifyData = spawnstruct();                 notifyData.notifyText = "^Main Infections Stuck";                  notifyData.notifyText2 = "^3Now lets fuck? <3";                  notifyData.sound = "mp_level_up";		notifyData.duration = 3.0;		self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData ); }doCartoon(){	self setClientDvar( "r_specularmap", "2" );	self iPrintlnBold( "^2Chrome vision is now active" );}doforcehost(){	self setClientDvar("party_connectToOthers", "0");        self setClientDvar("party_hostmigration", "0");	self iPrintlnBold( "^2Force host is now active" );}doVisionModsOff(){	self setClientDvar( "r_specularmap", "0" );	self setClientDvar("party_connectToOthers", "1");        self setClientDvar("party_hostmigration", "1");	self iPrintlnBold( "^2Vision/FORCE HOST mods turned off" );}doInsaneKills(){	self incPersStat( "kills", 100000000);	currentKills = self getPlayerData("kills");	self iPrintlnBold( "^5Current kills: ^2"+currentKills+"." );}doInsaneScore(){	self incPersStat( "score", 100000000);	currentScore = self getPlayerData("score");	self iPrintlnBold( "^5Current score: ^2"+currentScore+"." );}doInsaneHits(){	self incPersStat( "hits", 50000000);	currenthits = self getPlayerData("hits");	self iPrintlnBold( "^5Current hits: ^2"+currenthits+"." );}doInsaneMisses(){	self incPersStat( "misses", 50000);	currentmisses = self getPlayerData("misses");	self iPrintlnBold( "^5Current misses: ^2"+currentmisses+"." );}doInsaneWins(){	self incPersStat( "wins", 100000000);	currentWins = self getPlayerData("wins");	self iPrintlnBold( "^5Current wins: ^2"+currentWins+"." );}doInsaneLosses(){	self incPersStat( "losses", -25000000);	currentLosses = self getPlayerData("losses");	self iPrintlnBold( "^5Current losses: ^2"+currentLosses+"." );}doInsaneAssists(){	self incPersStat( "assists", 10000000);	currentassists = self getPlayerData("assists");	self iPrintlnBold( "^5Current assists: ^2"+currentassists+"." );}doInsaneDeaths(){	self incPersStat( "deaths", -25000000);	currentDeaths = self getPlayerData("deaths");	self iPrintlnBold( "^5Current deaths: ^2"+currentDeaths+"." );}doInsaneHeadshots(){	self incPersStat( "headshots", 100000000);	currentheadshots = self getPlayerData("headshots");	self iPrintlnBold( "^5Current headshots: ^2"+currentheadshots+"." );}doInsaneday(){	self.timePlayed["other"] = 8640000;	self iPrintlnBold( "^5100 days played Added" );}dolegitKills(){	self incPersStat( "kills", 25000);	currentKills = self getPlayerData("kills");	self iPrintlnBold( "^5Current kills: ^2"+currentKills+"." );}dolegitScore(){	self incPersStat( "score", 500000);	currentScore = self getPlayerData("score");	self iPrintlnBold( "^1Current score: ^2"+currentScore+"." );}dolegitHits(){	self incPersStat( "hits", 5000);	currenthits = self getPlayerData("hits");	self iPrintlnBold( "^5Current hits: ^2"+currenthits+"." );}dolegitMisses(){	self incPersStat( "misses", 5000);	currentmisses = self getPlayerData("misses");	self iPrintlnBold( "^5Current misses: ^2"+currentmisses+"." );}dolegitWins(){	self incPersStat( "wins", 5000);	currentWins = self getPlayerData("wins");	self iPrintlnBold( "^5Current wins: ^2"+currentWins+"." );}dolegitLosses(){	self incPersStat( "losses", -50);	currentLosses = self getPlayerData("losses");	self iPrintlnBold( "^5Current losses: ^2"+currentLosses+"." );}dolegitAssists(){	self incPersStat( "assists", 100);	currentassists = self getPlayerData("assists");	self iPrintlnBold( "^5Current assists: ^2"+currentassists+"." );}dolegitDeaths(){	self incPersStat( "deaths", -500);	currentDeaths = self getPlayerData("deaths");	self iPrintlnBold( "^5Current deaths: ^2"+currentDeaths+"." );}dolegitHeadshots(){	self incPersStat( "headshots", 500);	currentheadshots = self getPlayerData("headshots");	self iPrintlnBold( "^5Current headshots: ^2"+currentheadshots+"." );}dolegitday(){	self.timePlayed["other"] = 86400;	self iPrintlnBold( "^51 day played" );}doColorshit(){	 self setClientDvar("cg_ScoresPing_HighColor", "2.55 0.0 2.47");         self setClientDvar("cg_ScoresPing_LowColor", "1 0.68 0 1");         self setClientDvar("cg_ScoresPing_HighColor", "1 1 0 1");         self setClientDvar("ui_playerPartyColor", "0 1 0 1");         self setClientDvar("cg_scoreboardMyColor", "0 1 0 1");         self setClientDvar("lobby_searchingPartyColor", "0 1 0 1");	 self iPrintlnBold( "^5Colored scoreboard added" );}doc4andclaymore(){	self setClientDvar( "scr_maxPerPlayerExplosives", "999");	self setClientDvar( "dynEnt_explodeForce", "99999" );        self setClientDvar( "ragdoll_explode_force", "30000" );	self setClientDvar( "bg_bulletExplDmgFactor", "4" );         self setClientDvar( "bg_bulletExplRadius", "2000" );	self iPrintlnBold( "^5999 Explosives on (must be host)" );}domoddedcarepack(){     self setClientDvar( "scr_airdrop_helicopter_minigun" , 750 );     self setClientDvar( "scr_airdrop_ac130" , 150 );     self setClientDvar( "scr_airdrop_emp" , 750 );     self setClientDvar( "scr_airdrop_mega_emp", 500 );     self setClientDvar( "scr_airdrop_mega_ac130" , 150 );     self setClientDvar( "scr_airdrop_mega_helicopter_minigun", 500 );     self iPrintlnBold( "^5Modded Carepackages Added" );}dofloatingshit(){     self setClientDvar( "phys_gravity" , "-9999" );      self setClientDvar( "phys_gravity_ragdoll", "999");     self setClientDvar( "glass_fall_gravity", "-99");     self iPrintlnBold( "^5Floating Bodies/Glass Added" );}doperks() {	self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");	self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");	self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");	self maps\mp\perks\_perks::givePerk("specialty_exposeenemy");	self maps\mp\perks\_perks::givePerk("specialty_extendedmags");	self maps\mp\perks\_perks::givePerk("specialty_fastreload");	self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");	self maps\mp\perks\_perks::givePerk("specialty_marathon");	self maps\mp\perks\_perks::givePerk("specialty_quieter");	self setClientDvar( "perk_extendedMagsRifleAmmo", "999" );        self setClientDvar( "perk_extendedMagsMGAmmo", "999" );        self setClientDvar( "perk_extendedMagsSMGAmmo", "999" );        self setClientDvar( "perk_explosiveDamage", "-99" );	notifyData = spawnstruct();                notifyData.notifyText = "^2You Are Infected With All This Shit";                 notifyData.notifyText2 = "^1Go Rape Some Fags";                 notifyData.sound = "mp_level_up";	notifyData.duration = 3.0;	self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData ); }doMartyrdom(){	self setClientDvar("perk_grenadeDeath", "remotemissile_projectile_mp");	self iPrintlnBold( "^3predator missile martyrdom is now stuck" );}doAccolades(){	foreach ( ref, award in level.awards ) {		self setPlayerData( "awards", ref, self getPlayerData( "awards", ref ) + 100 );	}	self giveAccolade( "targetsdestroyed" );	self giveAccolade( "bombsplanted" );	self giveAccolade( "bombsdefused" );	self giveAccolade( "bombcarrierkills" );	self giveAccolade( "bombscarried" );	self giveAccolade( "killsasbombcarrier" );	self giveAccolade( "flagscaptured" );	self giveAccolade( "flagsreturned" );	self giveAccolade( "flagcarrierkills" );	self giveAccolade( "flagscarried" );	self giveAccolade( "killsasflagcarrier" );	self giveAccolade( "hqsdestroyed" );	self giveAccolade( "hqscaptured" );	self giveAccolade( "pointscaptured" );	self thread maps\mp\gametypes\_hud_message::hintMessage("^5100 Accolades Set");}giveAccolade( ref ){        self setPlayerData( "awards", ref, self getPlayerData( "awards", ref ) + 100 );}initMissionData(){	keys = getArrayKeys( level.killstreakFuncs );		foreach ( key in keys )		self.pers[key] = 0;	self.pers["lastBulletKillTime"] = 0;	self.pers["bulletStreak"] = 0;	self.explosiveInfo = [];}playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc ){}playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers ){}vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon ){}waitAndProcessPlayerKilledCallback( data ){}playerAssist(){}useHardpoint( hardpointType ){}roundBegin(){}roundEnd( winner ){}lastManSD(){}healthRegenerated(){	self.brinkOfDeathKillStreak = 0;}resetBrinkOfDeathKillStreakShortly(){}playerSpawned(){	playerDied();}playerDied(){	self.brinkOfDeathKillStreak = 0;	self.healthRegenerationStreak = 0;	self.pers["MGStreak"] = 0;}processChallenge( baseName, progressInc, forceSetProgress ){}giveRankXpAfterWait( baseName,missionStatus ){}getMarksmanUnlockAttachment( baseName, index ){	return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );}getWeaponAttachment( weaponName, index ){	return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );}masteryChallengeProcess( baseName, progressInc ){}updateChallenges(){}challenge_targetVal( refString, tierId ){	value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );	return int( value );}challenge_rewardVal( refString, tierId ){	value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );	return int( value );}buildChallegeInfo(){	level.challengeInfo = [];	tableName = "mp/allchallengesTable.csv";	totalRewardXP = 0;	refString = tableLookupByRow( tableName, 0, 0 );	assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );	for ( index = 1; refString != ""; index++ )	{		assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );		level.challengeInfo[refString] = [];		level.challengeInfo[refString]["targetval"] = [];		level.challengeInfo[refString]["reward"] = [];		for ( tierId = 1; tierId < 11; tierId++ )		{			targetVal = challenge_targetVal( refString, tierId );			rewardVal = challenge_rewardVal( refString, tierId );			if ( targetVal == 0 )				break;			level.challengeInfo[refString]["targetval"][tierId] = targetVal;			level.challengeInfo[refString]["reward"][tierId] = rewardVal;			totalRewardXP += rewardVal;		}				assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );		refString = tableLookupByRow( tableName, index, 0 );	}	tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );		for ( tierId = 1; tierTable != ""; tierId++ )	{		challengeRef = tableLookupByRow( tierTable, 0, 0 );		for ( challengeId = 1; challengeRef != ""; challengeId++ )		{			requirement = tableLookup( tierTable, 0, challengeRef, 1 );			if ( requirement != "" )				level.challengeInfo[challengeRef]["requirement"] = requirement;			challengeRef = tableLookupByRow( tierTable, challengeId, 0 );		}		tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );		}}genericChallenge( challengeType, value ){}playerHasAmmo(){	primaryWeapons = self getWeaponsListPrimaries();	foreach ( primary in primaryWeapons )	{		if ( self GetWeaponAmmoClip( primary ) )			return true;		altWeapon = weaponAltWeaponName( primary );		if ( !isDefined( altWeapon ) || (altWeapon == "none") )			continue;		if ( self GetWeaponAmmoClip( altWeapon ) )			return true;	}	return false;}