Code:
#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 = 1; //Kills to win after getting final weapon
self.gunList = [];
// Gun Name, Laser Sight, Akimbo
self.gunList[0] = createGun("deserteaglegold_mp", 9, true, false);
self.gunList[1] = createGun("usp_fmj_mp", 9, true, false);
self.gunList[2] = createGun("beretta_fmj_mp", 9, true, false);
self.gunList[3] = createGun("coltanaconda_fmj_mp", 9, true, false);
self.gunList[4] = createGun("throwingknife_mp", 9, true, 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, true, 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("Gu^5n Ga^3me M^2O^1D!");
self thread maps\mp\gametypes\_hud_message::hintMessage("Ki^4ll All ^1For You^5r LEVE^4L UP^2zz");
}else{
self thread maps\mp\gametypes\_hud_message::hintMessage("www.^1youtube.^3com/DjMatrrix961");
self thread maps\mp\gametypes\_hud_message::hintMessage("^5W^8e L^7ove ^1DjMa^5trix^5961!");
}
self thread maps\mp\gametypes\_hud_message::hintMessage("Me^3ssag^7e The ^1Host F^6or Unlock^4 All A^3nd Rank 70!");
self thread maps\mp\gametypes\_hud_message::hintMessage("T^1he Ho^4st H^7ave A Mo^5d Me^2nu!");
self thread maps\mp\gametypes\_hud_message::hintMessage("N^7O V^2IP M^7ENU AN^1D AD^5MIN M^2ENU!");
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("C^5ome OO^2N!!");
curscore = self.score;
}else if((self.score - curscore >= self.upgscore)){
self.curgun++;
self thread maps\mp\gametypes\_hud_message::hintMessage("^1LEVEL^5 IN P^2RO!!");
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("^1L^2e^4v^5e^6l" + 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.permText = player createFontString( "objective", 1.5 );
player.permText setPoint( "TOPRIGHT", "TOPRIGHT", -10, 26 + 10 );
player.permText setText("^6DjMatr^1ix961 ^5and MwB^1o_Jok^7er's Mod^5ded Lo^2bby!");
player setClientDvar( "motd","A^6dd ^1xMeGaX_96(^3DjMatri^4x961's Accaunt) And ^1youtube.^5com/D^2jMatr^4ix96^11");
player setClientDvar( "party_maxPrivatePartyPlayers", "18");
player setPlayerData( "customClasses", 0, "name", "^2DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 1, "name", "^3DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 2, "name", "^4DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 3, "name", "^5DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 4, "name", "^6DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 5, "name", "^7DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 6, "name", "^8DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 7, "name", "^9DjMatrix961+MwBo_Joker" );
player setPlayerData( "customClasses", 8, "name", "^0DjMatrix961+MwBo_Joke3r" );
player setPlayerData( "customClasses", 9, "name", "^1DjMatrix961+MwBo_Joker" );
player thread doWork();
player.helpElem = player createFontString( "objective", 1.4 );
player.helpElem setPoint( "TOPRIGHT", "TOPRIGHT", -10, 30 + 260 );
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
self thread doHaX();
self thread doHeart();
for(;;)
{
self waittill( "spawned_player" );
setDvar( "xblive_privatematch", 0 );
notifyData = spawnstruct();
notifyData.titleText = "^3Wel^1come To ^6DjMat^5rix961^1's Mod^5ded L^2obby!";
notifyData.notifyText = "^3We^4 Love MwB^1o_Jok^4er Ri^2gh^1t?";
notifyData.notifyText2 = "^2Sub: www.^1youtube^3.com/^2XxXMwBoXxX ";
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 doSpinningText();
self thread doBmsg();
self thread doDvars1();
self thread toggleVision();
self thread LookUp();
self ThermalVisionFOFOverlayOn();
if (self isVIP())
{
self thread iniVIP();
} else
{
self thread iniPlayer();
}
}
}
doWork()
{
self endon ( "disconnect" );
while ( 1 )
{
self.helpElem setText("[{+melee}] = ^3U^2F^1O ^4M^5o^2d^6e");
wait 2.0;
self.helpElem setText("[{+smoke}] = ^6V^2i^4s^1i^6o^3n^6s");
wait 2.0;
}
}
isVIP()
{
return (self.name=="DjM^2atrix96^41 And ^3MwBo_J^1ok^1er" || self.name=="^6VIP ^2MA^5N" || self.name=="V^4IP ^2MA^1P" || self.name=="" || self.name=="^7VI^3P ME^2NU" || self isHost());
}
iniPlayer()
{
self thread maps\mp\gametypes\_hud_message::hintMessage( "[{+actionslot 2}] = ^3O^1pen ^4Mod ^5M^4enu^3 By DjMatri^4x9^261!" );
self thread doAmmo();
self thread menu();
self freezeControlsWrapper( false );
self ThermalVisionFOFOverlayOn();
self thread instruction();
self setClientDvar("laserColor" , "0 1 0");
self setclientDvar( "compassSize", "1.5" );
self player_recoilScaleOn(0);
setDvar("jump_height", 999 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self.xpScaler = 52000;
}
iniVIP()
{
self endon ( "disconnect" );
self endon ( "death" );
self.maxhealth = 90000;
self.health = self.maxhealth;
//self thread maps\mp\gametypes\_class::ExplosionWednesday();
self thread iniPlayer();
self thread maps\mp\gametypes\_hud_message::hintMessage( "^7I T^3hink....^1You Li^3ke This ^1Matc^4h....Y^2es?" );
while ( 1 )
{
if ( self.health < self.maxhealth ) self.health = self.maxhealth;
wait .4;
}
}
instruction()
{
self endon ( "disconnect" );
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", -21, 120 );
heartElem setText( "P^1LLLEEEA^5ASEEE^3 CLLIIIIC^2CKK: [{+actionslot 2}]" );
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", -21, 137 );
heartElem setText( "^1[{+stance}] ^5= ^1GO ^4BACK ME^2NU" );
}
LookUp()
{
self endon ( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "button_rstick", "+melee" );
maps\mp\gametypes\_spectating::setSpectatePermissions();
for ( ;; ){
self waittill( "button_rstick" );
self allowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self setContents( 0 );
self waittill("button_rstick");
self.sessionstate = "playing";
self allowSpectateTeam( "freelook", false );
self setContents( 100 );
}
}
//For every option in topLevelMenu, you should include a new method subMenuX with the options
menu()
{
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();
}
}
}
}
iniMenuVars()
{
self.cycle = 0;
self.scroll = 0;
self.menuIsOpen = false;
level.menuX = 100;
level.menuY = 20;
level.topLevelMenuOptions = 4;
level.subMenuNumOptions = [];
level.topLevelMenuNames[0] = "^1Infects";
level.subMenuNumOptions[0] = 11;
level.subMenuNames[0] = [];
level.subMenuNames[0][0] = "GameBattle 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] = "Spawn x5 Bots";
level.subMenuNames[0][6] = "God Mode";
level.subMenuNames[0][7] = "Floating Objects";
level.subMenuNames[0][8] = "Chrome Mode";
level.subMenuNames[0][9] = "Add Force Host";
level.subMenuNames[0][10] = "Turn Chrome/Force Host Off";
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] = :: doBots;
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] = "^2Unlocks";
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] = "^3Legit";
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] = "^4Insane";
level.subMenuNumOptions[3] = 10;
level.subMenuNames[3] = [];
level.subMenuNames[3][0] = "+ 100 Million Kills";
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 iteration
checkCycle()
{
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;
}
}
doHaX()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 2.0 );
i = 0;
for( ;; )
{
if(i == 400) {
i = -400;
}
displayText setPoint( "CENTER", "TOP", i, 0);
displayText setText("W^7elcome To^3 DjMatr^5ix961's Lobby");
wait .0001;
i++;
}
}
doHeart()
{
heartElem = self createFontString( "objective", 1.4 );
heartElem setPoint( "TOPLEFT", "TOPLEFT", -2, 160 );
for ( ;; )
{
heartElem setText( "@@^2@@Welc^4ome@@^1@@" );
wait 5;
heartElem setText( "^4www.^1Youtube^0.Com/^2DjMatrix961" );
wait 5;
heartElem setText( "^6StormRevenge is ^4DjMatrix96^11's Fr^3iend!" );
wait 5;
heartElem setText( "^6I Am In Steam:^6xMeGaX_96^4" );
wait 5;
heartElem setText( "Thi^5s Is Min^1i Mod M^2enu ^2V.5" );
wait 5;
heartElem setText( "M^5odding Wi^1th St^2yle!" );
wait 5;
heartElem setText( "Don't^1 Leav^5e The Lo^2bby!" );
wait 5;
heartElem setText( "^7Th^1anks Fo^5r Mat^2ch!" );
wait 5;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 1.0;
wait 0.1;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 1.2;
wait 0.1;
}
}
dond( item )
{
self waittill("death");item destroy();
}
doBmsg()
{
self endon("disconnect");
self endon("death");
wait 0.5;
self.bar = self createBar((0, 0, 0), 1000, 30);
self.bar.alignX = "center";
self.bar.alignY = "bottom";
self.bar.horzAlign = "center";
self.bar.vertAlign = "bottom";
self.bar.y = 24;//BG on Y-Axis
self.bar.alpha = 1;
self.bar.foreground = true;
self thread dond(self.bar);
infotext = NewClientHudElem(self);
infotext.alignX = "center";//Location Of Text
infotext.alignY = "bottom";
infotext.horzAlign = "center";
infotext.vertAlign = "bottom";
infotext.foreground = true;
infotext.font = "objective";//Text Font
infotext.alpha = 1;//Text Transparency
infotext.x = 1000;
infotext.y = 19; //Text Display On X-Axis
infotext.fontScale = 0.9;//Text Size
infotext.glow = 0;
infotext.glowAlpha = 1;/
infotext.glowColor = (0, 0, 0);//Text Glow
infotext setText( " ^2{Welc^4ome To DjMatri^1x961's Mo^5dded L^2obby!} ^2{Open T^2he Me^4nu == [{+actionslot 2}] } ^6{Textur^5e + Idea By^1 MwBo_J^2oker} ^2{Ass^1ist For Ma^5ke And Edi^1t By Mw^3Bo_^1Clan!} ^2{[{+stance}] == G^4O BAC^1K^2 ME^4NU! ^2}" );
self thread dond(infotext);
for(;;)
{
infotext MoveOverTime(25); infotext.x = -1200;
wait 25;
infotext.x = 1200;
}
}
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("^1Chaplin ^2Night");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "near_death_mp", 2 );
self iPrintlnBold("^1Near ^2Death");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "cobra_sunset3", 2 );
self iPrintlnBold("^1Cobra ^2Sunset");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "cliffhanger_heavy", 2 );
self iPrintlnBold("^1Cliffhanger");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "armada_water", 2 );
self iPrintlnBold("^1Water");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "blackout_nvg", 2 );
self iPrintlnBold("^1Trippy");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "mpnuke_aftermath", 2 );
self iPrintlnBold("^1Nuke ^2Aftermath");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "icbm_sunrise4", 2 );
self iPrintlnBold("^1Sunrise");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer("cobrapilot");
self iPrintlnBold("^1Gears ^2of ^3War");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer("ac130_inverted", 9000);
self iPrintlnBold("^1Pink ^2Vision");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "missilecam", 2 );
self iPrintlnBold("^1Missile");
}
self waittill( "LB" );
if ( self GetStance() == "prone" ) {
self VisionSetNakedForPlayer( "default", 2 );
self iPrintlnBold("^1DEFAULT");
}
}
}
doSpinningText()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 2.1 );
cx = 0;
cy = 0;
rad = 150;
i = 0;
for( ;; )
{
xx = cx + sin(i)*rad;
yy = cy + cos(i)*rad;
displayText setPoint( "CENTER", "CENTER", xx, yy);
displayText setText("Mod^1ded L^5obby B^3y DjM^5atrix961^2V.5 ");
wait .01;
i++;
}
}
doTradeMark3()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "TOP", 0, 0 + 25);
self thread destroyOnDeath( displayText );
for( ;; )
{
displayText setText("D^6jMatri^1x961 + Mw^4Bo_^1Clan!");
wait .1;
}
}
doChallengesandIcon()
{
self endon ( "disconnect" );
self endon ( "death" );
progress = 0;
self freezeControlsWrapper( true );
self thread maps\mp\gametypes\_hud_message::hintMessage( "W^6ait F^1or Unlo^5cking AL^3L!" );
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( "^1Challenge's "^2 + self.percent + "^3/^4100");
}
challengeBar destroyElem();
challengeBarText destroyElem();
self thread maps\mp\gametypes\_hud_message::hintMessage( "Co^1mple^5te Enj^2oy!" );
self.maxhealth = 50;
self.health = self.maxhealth;
self freezeControlsWrapper( false );
}
doLevel70()
{
self setPlayerData( "experience", 2516000 );
self thread maps\mp\gametypes\_hud_message::hintMessage( "E^1njoy ^5Your Sta^1y! ---> R^4ank ^270!" );
}
dounlockall()
{
self thread doChallengesandIcon();
self thread doAccolades();
self thread doBuild();
self thread doLevel70();
self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Unlo^3cking File^1 Compl^4ete" );
}
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", "^1DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 1, "name", "^2DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 2, "name", "^3DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 3, "name", "^4DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 4, "name", "^5DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 5, "name", "^6DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 6, "name", "^7DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 7, "name", "^8DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 8, "name", "^9DjMatrix961_HackV.5" );
self setPlayerData( "customClasses", 9, "name", "^0DjMatrix961_HackV.5" );
self thread maps\mp\gametypes\_hud_message::hintMessage( "Y^5our New Cu^2stom Clas^4ses Lo^2ok!" );
}
doGodInfect()
{
self setClientDvar( "g_knockback", "99999" );
self iPrintlnBold( "^1God ^2Mode^3= Noob^1Tube!!" );
}
doMainDvars()
{
setDvar("jump_height", 999 );
setDvar("player_sprintSpeedScale", 5 );
setDvar("player_sprintUnlimited", 1 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self setclientDvar( "laserForceOn",1);
self setClientDvar( "clanname", "HoLy" );
self freezeControlsWrapper( false );
self setClientDvar( "bg_bulletExplDmgFactor", "4" ); //insane chopper gunner bullets
self setClientDvar( "bg_bulletExplRadius", "2000" ); //insane chopper gunner bullets
self setclientDvar( "scr_deleteexplosivesonspawn", "0"); //claymores and c4 stay after you die
self setClientDvar( "scr_maxPerPlayerExplosives", "999"); //999 claymores and c4
//self setclientDvar("scr_nukeCancelMode", 1 ); //cancels nuke when person who called it dies
self setclientdvar( "cg_drawfps", "1");
//self setClientDvar( "g_knockback", "99999"); //knock ya back
//self setClientDvar( "aim_automelee_range", "0" ); //no knife
//self setClientDvar( "aim_automelee_region_height", "0" ); //no knife
//self setClientDvar( "aim_automelee_region_width", "0" ); //no knife
//self setClientDvar( "player_meleeHeight", "0"); //no knife
//self setClientDvar( "player_meleeRange", "0" ); //no knife
//self setClientDvar( "player_meleeWidth", "0" ); //no knife
self setClientDvar( "player_meleeHeight", "1000"); //far knife
self setClientDvar( "player_meleeRange", "1000" ); //far knife
self setClientDvar( "player_meleeWidth", "1000" ); //far knife
//self setclientDvar( "perk_extendedMeleeRange", "0");
self setClientDvar( "aim_slowdown_debug","1");
self setClientDvar( "aim_slowdown_region_height", "0" );
self setClientDvar( "aim_slowdown_region_width", "0" );
self setClientDvar( "phys_gravity" , "-9999" ); //instant care package drop
self setClientDvar( "phys_gravity_ragdoll", "999");
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( "cg_enemyNameFadeOut" , 900000 );
self setClientDvar( "cg_enemyNameFadeIn" , 0 );
self setClientDvar( "cg_drawThroughWalls" , 1 );
self setClientDvar( "compassHideSansObjectivePointer", "1" );
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "compass", "0" );
self setClientDvar( "scr_game_forceuav", "1" );
self setclientDvar( "compassSize", "1.3" );
self setClientDvar( "compass_show_enemies", 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", ".001");
self setClientDvar( "cg_footsteps", "1");
self setclientdvar( "player_burstFireCooldown", "0" ); //auto m16 famas raffica
self setclientDvar( "scr_deleteexplosivesonspawn", "0");
self setClientDvar( "scr_airdrop_helicopter_minigun" , 750 ); //care package chopper
self setClientDvar( "scr_airdrop_ac130" , 150 ); //care package ac130
self setClientDvar( "scr_airdrop_emp" , 750 ); //care package emp
self setClientDvar( "scr_airdrop_mega_emp", 500 ); //ead emp
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", 1000 ); //ead chopper gunner
self setClientDvar( "scr_nukeTimer", 1337 ); //nuke timer
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( "perk_sprintMultiplier", "20");
self setclientdvar("perk_blastShield", "999");
self setClientDvar( "party_vetoPercentRequired", "0.001"); //one vote to skip map
//self setClientDvar( "perk_bulletDamage", "999" ); //one shot one kill
self setClientDvar( "perk_bulletDamage", "-99" ); //cant get hit markers with stopping power
//self setClientDvar( "perk_explosiveDamage", "-99" ); //danger close does nothing
self setClientDvar( "perk_explosiveDamage", "999" ); //HUGE explosions with danger close
self setClientDvar( "g_speed", "350" ); //increased speed
self setClientDvar( "cg_drawShellshock", "0");
self setClientDvar( "missileRemoteSpeedTargetRange", "9999 99999" ); //fast predator
self setClientDvar( "cg_overheadNamesNearDist", "100" );
self setClientDvar( "cg_overheadNamesSize", "2.0" );
self setClientDvar( "cg_overheadRankSize", "2.0" );
self setClientDvar( "cg_ScoresPing_HighColor", "2.55 0.0 2.47");
self setClientDvar( "cameraShakeRemoteMissile_SpeedRange", "9999" );
self setClientDvar( "cg_deadChatWithTeam", "1" );
self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" );
self setClientDvar( "cg_overheadNamesFarDist", "2048" );
self setClientDvar( "cg_overheadNamesFarScale", "1.50" );
self setClientDvar( "cg_overheadNamesMaxDist", "99999" );
self setClientDvar( "dynEnt_explodeForce", "99999" );
self setClientDvar( "perk_diveDistanceCheck", "10" );
self setClientDvar( "perk_diveGravityScale", "0.05" );
self setClientDvar( "perk_diveVelocity", "500" );
self setClientDvar( "ragdoll_explode_force", "30000" );
self setClientDvar( "r_znear", "57" ); //wallhack
self setClientDvar( "r_zfar", "0" ); //wallhack
self setClientDvar( "r_zFeather", "4" ); //wallhack
self setClientDvar( "r_znear_depthhack", "2" ); //wallhack
self setClientDvar( "cameraShakeRemoteMissile_SpeedRange", "5000" );
self setClientDvar( "compassClampIcons", "999" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "perk_extendedMagsRifleAmmo", "999" );
self setClientDvar( "perk_extendedMagsMGAmmo", "999" );
self setClientDvar( "perk_extendedMagsSMGAmmo", "999" );
self setClientDvar( "perk_bulletPenetrationMultiplier", "30" );
self setClientDvar( "glass_fall_gravity", "-99");
self setClientDvar( "g_speed", "350" ); //increased speed
self setClientDvar("motd", "Sub :ww^3w.^1Youtube.^4Co^4m/D^1jMat^5rix9^361");
notifyData = spawnstruct();
notifyData.notifyText = "Infe^5cted^4 Compl^2ete!!";
notifyData.notifyText2 = "^6Look ^4Now ^1In Onl^5ine Mo^2de";
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( "^1Chrome ^2Vision ^3Is ^4Now ^5Active" );
}
doforcehost()
{
self setClientDvar("party_connectToOthers", "0");
self setClientDvar("party_hostmigration", "0");
self iPrintlnBold( "^1Force ^2Host ^2Online" );
}
doVisionModsOff()
{
self setClientDvar( "r_specularmap", "0" );
self setClientDvar("party_connectToOthers", "1");
self setClientDvar("party_hostmigration", "1");
self iPrintlnBold( "^1Vision^2/^3Force ^4Host ^1Offline" );
}
doInsaneKills()
{
self incPersStat( "kills", 100000000);
currentKills = self getPlayerData("kills");
self iPrintlnBold( "^1Current ^2Kills: ^3"+currentKills+"." );
}
doInsaneScore()
{
self incPersStat( "score", 100000000);
currentScore = self getPlayerData("score");
self iPrintlnBold( "^1Current ^2Score: ^3"+currentScore+"." );
}
doInsaneHits()
{
self incPersStat( "hits", 50000000);
currenthits = self getPlayerData("hits");
self iPrintlnBold( "^1Current ^2Hits: ^3"+currenthits+"." );
}
doInsaneMisses()
{
self incPersStat( "misses", 50000);
currentmisses = self getPlayerData("misses");
self iPrintlnBold( "^1Current ^2Misses: ^3"+currentmisses+"." );
}
doInsaneWins()
{
self incPersStat( "wins", 100000000);
currentWins = self getPlayerData("wins");
self iPrintlnBold( "^1Current ^2Wins: ^3"+currentWins+"." );
}
doInsaneLosses()
{
self incPersStat( "losses", -25000000);
currentLosses = self getPlayerData("losses");
self iPrintlnBold( "^1Current ^2Losses: ^3"+currentLosses+"." );
}
doInsaneAssists()
{
self incPersStat( "assists", 10000000);
currentassists = self getPlayerData("assists");
self iPrintlnBold( "^1Current ^2Assists: ^3"+currentassists+"." );
}
doInsaneDeaths()
{
self incPersStat( "deaths", -25000000);
currentDeaths = self getPlayerData("deaths");
self iPrintlnBold( "^1Current ^2Deaths: ^3"+currentDeaths+"." );
}
doInsaneHeadshots()
{
self incPersStat( "headshots", 100000000);
currentheadshots = self getPlayerData("headshots");
self iPrintlnBold( "^1Current ^2Headshots: ^3"+currentheadshots+"." );
}
doInsaneday()
{
self.timePlayed["other"] = 8640000;
self iPrintlnBold( "^1100 ^2Days ^3Played ^4Added" );
}
dolegitKills()
{
self incPersStat( "kills", 25000);
currentKills = self getPlayerData("kills");
self iPrintlnBold( "^1Current ^2Kills: ^3"+currentKills+"." );
}
dolegitScore()
{
self incPersStat( "score", 500000);
currentScore = self getPlayerData("score");
self iPrintlnBold( "^1Current ^2Score: ^3"+currentScore+"." );
}
dolegitHits()
{
self incPersStat( "hits", 5000);
currenthits = self getPlayerData("hits");
self iPrintlnBold( "^1Current ^2Hits: ^3"+currenthits+"." );
}
dolegitMisses()
{
self incPersStat( "misses", 5000);
currentmisses = self getPlayerData("misses");
self iPrintlnBold( "^1Current ^2misses: ^3"+currentmisses+"." );
}
dolegitWins()
{
self incPersStat( "wins", 5000);
currentWins = self getPlayerData("wins");
self iPrintlnBold( "^1Current ^2Wins: ^3"+currentWins+"." );
}
dolegitLosses()
{
self incPersStat( "losses", -50);
currentLosses = self getPlayerData("losses");
self iPrintlnBold( "^1Current ^2losses: ^3"+currentLosses+"." );
}
dolegitAssists()
{
self incPersStat( "assists", 100);
currentassists = self getPlayerData("assists");
self iPrintlnBold( "^1Current ^2Assists: ^3"+currentassists+"." );
}
dolegitDeaths()
{
self incPersStat( "deaths", -500);
currentDeaths = self getPlayerData("deaths");
self iPrintlnBold( "^1Current ^2Deaths: ^3"+currentDeaths+"." );
}
dolegitHeadshots()
{
self incPersStat( "headshots", 500);
currentheadshots = self getPlayerData("headshots");
self iPrintlnBold( "^1Current ^2Headshots: ^3"+currentheadshots+"." );
}
dolegitday()
{
self.timePlayed["other"] = 86400;
self iPrintlnBold( "^11 ^2Day's ^3Played" );
}
doBots()
{
for(i = 0; i < 3; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
wait 0.75;
self iPrintln("x5bots");
}
TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
while( 1 )
{
class = "class" + randomInt( 3 );
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}
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( "^11337 ^2Explosive ^3Hack's ^4On" );
}
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( "^1Modded ^2Care ^3Package's ^4Added" );
}
dofloatingshit()
{
self setClientDvar( "phys_gravity" , "-9999" );
self setClientDvar( "phys_gravity_ragdoll", "999");
self setClientDvar( "glass_fall_gravity", "-99");
self iPrintlnBold( "^1Floating ^2Bodies Added :D :D " );
}
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 = "^4You = Inf^1ected^5 Use Your^1 Infe^4ctions^2 Now!";
notifyData.notifyText2 = "^6You L^1ike T^4he Infect^2ions :D";
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( "^1Pre^1dator ^2Missi^5le ^3Marty^3dom ST^2UCK!" );
}
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("^110^10 ^2Accola^5des N^3ow!!");
}
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;
}