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;}