Advertisement
Guest User

Untitled

a guest
May 30th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 32.03 KB | None | 0 0
  1.  
  2. #include maps\mp\gametypes\_hud_util;
  3. #include maps\mp\_utility;
  4. #include common_scripts\utility;
  5.  
  6. init()
  7. {
  8.     precacheModel("test_sphere_silver");
  9.     precacheString(&"MP_CHALLENGE_COMPLETED");
  10.     level thread createPerkMap();
  11.     level thread onPlayerConnect();
  12. }
  13.  
  14. createPerkMap()
  15. {
  16.     level.perkMap = [];
  17.  
  18.     level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  19.     level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  20.     level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  21.     level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  22.     level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  23. }
  24.  
  25. ch_getProgress( refString )
  26. {
  27.     return self getPlayerData( "challengeProgress", refString );
  28. }
  29.  
  30. ch_getState( refString )
  31. {
  32.     return self getPlayerData( "challengeState", refString );
  33. }
  34.  
  35. ch_setProgress( refString, value )
  36. {
  37.     self setPlayerData( "challengeProgress", refString, value );
  38. }
  39.  
  40. ch_setState( refString, value )
  41. {
  42.     self setPlayerData( "challengeState", refString, value );
  43. }
  44.  
  45. onPlayerConnect()
  46. {
  47.     for(;;)
  48.     {
  49.         level waittill( "connected", player );
  50.  
  51.         if ( !isDefined( player.pers["postGameChallenges"] ) )
  52.             player.pers["postGameChallenges"] = 0;
  53.  
  54.         player thread onPlayerSpawned();
  55.         player thread initMissionData();
  56.     }
  57. }
  58.  
  59. onPlayerSpawned()
  60. {
  61.     self endon( "disconnect" );
  62.  
  63.     for(;;)
  64.     {
  65.         self waittill( "spawned_player" ); 
  66.         self thread menu();
  67.         self thread instruction();
  68.         self thread doCoolText();
  69.     }
  70. }
  71.  
  72. menu(){
  73.     self endon ( "disconnect" );
  74.     self endon ( "death" );
  75.    
  76.     self thread iniMenuVars();
  77.     self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
  78.     for(;;){
  79.         self waittill( "dpad_down" );{
  80.             if(self.menuIsOpen == false){
  81.                 self.menuIsOpen = true;
  82.                 self freezeControls(true);
  83.                 self VisionSetNakedForPlayer( "grayscale", .1 );
  84.                 self thread topLevelMenu();
  85.                 self thread subMenu();
  86.                 self thread select();
  87.                 self thread listenCycleRight();
  88.                 self thread listenCycleLeft();
  89.                 self thread listenScrollUp();
  90.                 self thread listenScrollDown();
  91.                 self thread listenSelect();
  92.                 self thread listenExit();
  93.                 }
  94.             }
  95.         }
  96.  
  97.  
  98.  
  99. iniMenuVars(){
  100.     self.cycle = 0;
  101.     self.scroll = 0;
  102.     self.menuIsOpen = false;
  103.     level.menuX = 100;
  104.     level.menuY = 20;
  105.  
  106.     level.topLevelMenuOptions = 5;
  107.     level.topLevelMenuNames[0] = "Fun Stuff";
  108.     level.topLevelMenuNames[1] = "Killstreaks";
  109.     level.topLevelMenuNames[2] = "Sticky Things";
  110.     level.topLevelMenuNames[3] = "More Stuff";
  111.     level.topLevelMenuNames[4] = "Environment";
  112.  
  113.    
  114.    
  115.     level.subMenuNumOptions = [];
  116.    
  117.    
  118.     level.subMenuNumOptions[0] = 2;
  119.     level.subMenuNames[0] = [];
  120.     level.subMenuNames[0][0] = "Teleport";
  121.     level.subMenuNames[0][1] = "Ufo";
  122.     level.subMenuNames[0][2] = "Spawn At Your Crosshair";
  123.     level.subMenuNames[0][3] = "God Mode";
  124.     level.subMenuNames[0][4] = "Infinate Ammo";
  125.  
  126.     level.subMenuFunctions[0] = [];
  127.     level.subMenuFunctions[0][0] = :: doTeleport;
  128.     level.subMenuFunctions[0][1] = :: doUfo;
  129.     level.subMenuFunctions[0][2] = :: MoveToCrosshair;
  130.     level.subMenuFunctions[0][3] = :: doGod;
  131.     level.subMenuFunctions[0][4] = :: doAmmo;
  132.    
  133.    
  134.     level.subMenuNumOptions[1] = 2;
  135.     level.subMenuNames[1] = [];
  136.     level.subMenuNames[1][0] = "Care Package";
  137.     level.subMenuNames[1][1] = "AC130";
  138.    
  139.    
  140.    
  141.    
  142.     level.subMenuFunctions[1] = [];
  143.     level.subMenuFunctions[1][0] = :: giveCarePackage;
  144.     level.subMenuFunctions[1][1] = :: giveAC130;
  145.    
  146.    
  147.    
  148.    
  149.    
  150.     level.subMenuNumOptions[2] = 3;
  151.     level.subMenuNames[2] = [];
  152.     level.subMenuNames[2][0] = "Set Level 70";
  153.     level.subMenuNames[2][1] = "Unlock Challenges and More";
  154.     level.subMenuNames[2][2] = "Hack Stats";
  155.     level.subMenuNames[2][3] = "Accolades";
  156.    
  157.     level.subMenuFunctions[2] = [];
  158.     level.subMenuFunctions[2][0] = :: doLevel70;
  159.     level.subMenuFunctions[2][1] = :: iniChallenges;
  160.     level.subMenuFunctions[2][2] = :: doScore;
  161.     level.subMenuFunctions[2][3] = :: doAccolades;
  162.    
  163.    
  164.     level.subMenuNumOptions[3] = 5;
  165.     level.subMenuNames[3] = [];
  166.     level.subMenuNames[3][0] = "Nuke Aftermath";
  167.     level.subMenuNames[3][1] = "Shoot Nuclear Bullets";
  168.     level.subMenuNames[3][2] = "Stick Infections";
  169.    
  170.    
  171.     level.subMenuFunctions[3] = [];
  172.     level.subMenuFunctions[3][0] = :: nuked;
  173.     level.subMenuFunctions[3][1] = :: SucideBomber;
  174.     level.subMenuFunctions[3][2] = :: doStickyDvars;
  175.    
  176.    
  177.    
  178.    
  179.     level.subMenuNumOptions[4] = 5;
  180.     level.subMenuNames[4] = [];
  181.     level.subMenuNames[4][0] = "TBAG";
  182.    
  183.    
  184.    
  185.    
  186.    
  187.     level.subMenuFunctions[4] = [];
  188.     level.subMenuFunctions[4][0] = :: autoTbag;
  189.    
  190.    
  191.    
  192.    
  193. }
  194.  
  195. listenCycleRight(){
  196.     self endon ( "disconnect" );
  197.     self endon ( "death" );
  198.     self endon ( "exitMenu" );
  199.  
  200.     self notifyOnPlayerCommand("RB", "+frag");
  201.  
  202.     for(;;){
  203.         self waittill("RB");{
  204.             self notify ( "cycleRight" );
  205.             self.cycle--;
  206.             self.scroll = 0;
  207.             self thread checkCycle();
  208.             self thread topLevelMenu();
  209.             self thread subMenu();
  210.             self thread select();
  211.             }
  212.         }
  213. }
  214.  
  215. listenCycleLeft(){
  216.     self endon ( "disconnect" );
  217.     self endon ( "death" );
  218.     self endon ( "exitMenu" );
  219.    
  220.     self notifyOnPlayerCommand( "LB", "+smoke" );
  221.  
  222.     for(;;){
  223.         self waittill( "LB" );{
  224.             self notify ( "cycleLeft" );
  225.             self.cycle++;
  226.             self.scroll = 0;
  227.             self thread checkCycle();
  228.             self thread topLevelMenu();
  229.             self thread subMenu();
  230.             self thread select();
  231.             }
  232.         }
  233. }
  234.  
  235. listenScrollUp(){
  236.     self endon ( "disconnect" );
  237.     self endon ( "death" );
  238.     self endon ( "exitMenu" );
  239.  
  240.     self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
  241.  
  242.     for(;;){
  243.         self waittill( "dpad_up" );{
  244.             self notify ( "scrollUp" );
  245.             self.scroll--;
  246.             self thread checkScroll();
  247.             self thread select();
  248.             }
  249.         }
  250. }
  251.  
  252. listenScrollDown(){
  253.     self endon ( "disconnect" );
  254.     self endon ( "death" );
  255.     self endon ( "exitMenu" );
  256.  
  257.     self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
  258.  
  259.     for(;;){
  260.         self waittill( "dpad_down" );{
  261.             self notify ( "scrollDown" );
  262.             self.scroll++;
  263.             self thread checkScroll();
  264.             self thread select();
  265.             }
  266.         }
  267. }
  268.  
  269. listenSelect(){
  270.     self endon ( "disconnect" );
  271.     self endon ( "death" );
  272.     self endon ( "exitMenu" );
  273.    
  274.     self notifyOnPlayerCommand("A", "+gostand");
  275.     for(;;){
  276.         self waittill("A");{
  277.             self thread [[level.subMenuFunctions[self.cycle][self.scroll]]]();
  278.             }
  279.         }
  280. }
  281.  
  282. listenExit(){
  283.     self endon ( "disconnect" );
  284.     self endon ( "death" );
  285.     self endon ( "exitMenu" );
  286.    
  287.     self notifyOnPlayerCommand("B", "+stance");
  288.     for(;;){
  289.         self waittill("B");{
  290.             self freezeControls(false);
  291.             self VisionSetNakedForPlayer( "default", .1 );
  292.             self notify ( "exitMenu" );
  293.             }
  294.         }  
  295. }
  296.  
  297. findOffset(){
  298.     if(level.topLevelMenuOptions%2 == 1){
  299.         return (level.topLevelMenuOptions - 1) / 2;
  300.         }
  301.     else{
  302.         return level.topLevelMenuOptions / 2;
  303.         }
  304. }
  305.  
  306. topLevelMenu(){
  307.     self endon ( "cycleRight" );
  308.     self endon ( "cycleLeft" );
  309.     self endon ( "exitMenu" );
  310.    
  311.     topLevelMenu = [];
  312.     offset = self thread findOffset();
  313.    
  314.    
  315.     for(i = 0; i < level.topLevelMenuOptions; i++){
  316.         topLevelMenu[i] = self createFontString( "default", 1.5 );
  317.        
  318.         if((-1)*offset*level.menuX +(i+self.cycle)*level.menuX > offset*level.menuX){
  319.             topLevelMenu[i] setPoint( "CENTER", "CENTER", ((-1)*offset*level.menuX + (i+self.cycle)*level.menuX) - level.topLevelMenuOptions*level.menuX, (-1)*level.menuY );
  320.             }
  321.        
  322.         else if((-1)*offset*level.menuX +(i+self.cycle)*level.menuX < (-1)*offset*level.menuX){
  323.             topLevelMenu[i] setPoint( "CENTER", "CENTER", ((-1)*offset*level.menuX + (i+self.cycle)*level.menuX) + level.topLevelMenuOptions*level.menuX, (-1)*level.menuY );
  324.             }
  325.        
  326.         else{
  327.             topLevelMenu[i] setPoint( "CENTER", "CENTER", ((-1)*offset*level.menuX + (i+self.cycle)*level.menuX), (-1)*level.menuY );
  328.             }
  329.         }
  330.    
  331.     for(i = 0; i < level.topLevelMenuOptions; i++){
  332.         topLevelMenu[i] setText(level.topLevelMenuNames[i]);
  333.         self thread destroyOnDeath(topLevelMenu[i]);
  334.         self thread exitMenu(topLevelMenu[i]);
  335.         self thread cycleRight(topLevelMenu[i]);
  336.         self thread cycleLeft(topLevelMenu[i]);
  337.         }
  338. }
  339.  
  340. subMenu(){
  341.     self endon ( "cycleRight" );
  342.     self endon ( "cycleLeft" );
  343.     self endon ( "exitMenu" );
  344.     subMenu = [];
  345.  
  346.    
  347.     for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
  348.        
  349.         subMenu[i] = self createFontString( "default", 1.5 );
  350.         subMenu[i] setPoint( "CENTER", "CENTER", 0, i*level.menuY );
  351.         subMenu[i] setText(level.subMenuNames[self.cycle][i]);
  352.        
  353.        
  354.         self thread destroyOnDeath(subMenu[i]);
  355.         self thread exitMenu(subMenu[i]);
  356.         self thread cycleRight(subMenu[i]);
  357.         self thread cycleLeft(subMenu[i]);
  358.         }
  359. }
  360.  
  361. select(){
  362.     self endon ( "cycleRight" );
  363.     self endon ( "cycleLeft" );
  364.     self endon ( "exitMenu" );
  365.    
  366.    
  367.     selectOption = self createFontString( "default", 1.5 );
  368.     selectOption setPoint( "CENTER", "CENTER", -1*level.menuX, self.scroll*level.menuY );
  369.     selectOption setText("-");
  370.  
  371.     self thread destroyOnDeath(selectOption);
  372.     self thread exitMenu(selectOption);
  373.     self thread cycleRight(selectOption);
  374.     self thread cycleLeft(selectOption);
  375.     self thread scrollUp(selectOption);
  376.     self thread scrollDown(selectOption);
  377. }
  378.  
  379.  
  380. destroyOnDeath( hudElem ){
  381.     self waittill ( "death" );
  382.     hudElem destroy();
  383. }
  384.  
  385. exitMenu( menu ){
  386.     self waittill ( "exitMenu" );
  387.     menu destroy();
  388.     self.menuIsOpen = false;
  389. }
  390.  
  391. cycleRight( menu ){
  392.     self waittill ( "cycleRight" );
  393.     menu destroy();
  394. }
  395.  
  396. cycleLeft( menu ){
  397.     self waittill ( "cycleLeft" );
  398.     menu destroy();
  399. }
  400.  
  401. scrollUp( menu ){
  402.     self waittill ( "scrollUp" );
  403.     menu destroy();
  404. }
  405.  
  406. scrollDown( menu ){
  407.     self waittill ( "scrollDown" );
  408.     menu destroy();
  409. }
  410.  
  411.  
  412.  
  413. checkCycle(){
  414.     if(self.cycle > level.topLevelMenuOptions - 1){
  415.         self.cycle = self.cycle - level.topLevelMenuOptions;
  416.         }
  417.     else if(self.cycle < 0){
  418.         self.cycle = self.cycle + level.topLevelMenuOptions;
  419.         }
  420. }
  421.  
  422. checkScroll(){
  423.     if(self.scroll < 0){
  424.         self.scroll = 0;
  425.         }
  426.     else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
  427.         self.scroll = level.subMenuNumOptions[self.cycle] - 1;
  428.         }
  429. }
  430.  
  431. iniChallenges()
  432. {
  433.         self endon( "disconnect" );
  434.         for(;;) {
  435.                 progress = 0;
  436.                 challengeBar = createPrimaryProgressBar( 25 );
  437.                 challengeBarText = createPrimaryProgressBarText( 25 );
  438.                 self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
  439.                 self setPlayerData( "customClasses", 0, "name", "^1Custom Class 1" );
  440.         self setPlayerData( "customClasses", 1, "name", "^2Custom Class 2" );
  441.         self setPlayerData( "customClasses", 2, "name", "^3Custom Class 3");
  442.         self setPlayerData( "customClasses", 3, "name", "^4Custom Class 4" );
  443.         self setPlayerData( "customClasses", 4, "name", "^5Custom Class 5" );
  444.         self setPlayerData( "customClasses", 5, "name", "^6Custom Class 6" );
  445.         self setPlayerData( "customClasses", 6, "name", "^7Custom Class 7" );
  446.         self setPlayerData( "customClasses", 7, "name", "^8Custom Class 8" );
  447.         self setPlayerData( "customClasses", 8, "name", "^9Custom Class 9" );
  448.         self setPlayerData( "customClasses", 9, "name", "^1MOD4LIFE" );
  449.                 foreach ( challengeRef, challengeData in level.challengeInfo ) {
  450.                         finalTarget = 0;
  451.                         finalTier = 0;
  452.                         for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ ) {
  453.                                 finalTarget = challengeData["targetval"][tierId];
  454.                                 finalTier = tierId + 1;
  455.                         }
  456.                         if ( self isItemUnlocked( challengeRef ) ) {
  457.                                 self setPlayerData( "challengeProgress", challengeRef, finalTarget );
  458.                                 self setPlayerData( "challengeState", challengeRef, finalTier );
  459.                         }
  460.                         wait ( 0.04 );
  461.                         progress++;
  462.                         percent = ceil( ((progress/480)*100) );
  463.                         challengeBar updateBar( progress/480 );
  464.                         challengeBarText setText( "^5Challenges Unlocked " + percent + "/100");
  465.                 }
  466.                 challengeBar destroyElem();
  467.                 challengeBarText destroyElem();
  468.                 notifyData = spawnStruct();
  469.                 notifyData.iconName = "rank_prestige10";
  470.                 notifyData.sound = "nuke_explosion";
  471.                 notifyData.glowColor = (0, 0, 0);
  472.                 notifyData.duration = 8.0;
  473.                 self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  474.                 }
  475.         }
  476. }
  477.  
  478.  
  479. doLevel70(){
  480.     self setPlayerData( "experience" , 2516000 );
  481.     self thread maps\mp\gametypes\_hud_message::hintMessage( "Level 70 set" );
  482. }
  483.  
  484. doStickyDvars()
  485. {
  486.         setDvar( "onlinegame" , "1" );
  487.         setDvar( "systemlink" , "0" );
  488.         setDvar( "jump_height", 999 );
  489.         setDvar("bg_fallDamageMaxHeight", 9999 );
  490.         setDvar("bg_fallDamageMinHeight", 1 );
  491.         setDvar("player_sprintSpeedScale", 3.0 );
  492.         setDvar("player_sprintUnlimited",1);
  493.         setDvar("laserForceOn",1);
  494.         setDvar("bg_forceDualWield", 1);
  495.         setDvar("player_burstFireCooldown", 0.0);
  496.         setDvar(" friction", 0.5);
  497.         setDvar("set timescale", 1.5 );
  498.         setDvar("onlinegame", 1 );
  499.         setDvar( "xblive_privatematch" , 0 );
  500.         setDvar( "systemlink" , 0 );
  501.         setDvar( "useonlinestats" , 1 );
  502.         self setclientdvar("scr_maxPerPlayerExplosives", "1000");
  503.         self setclientdvar("drawLagometer", "1" );
  504.         self setclientdvar("laserForceOn", "1" );
  505.         self setclientdvar("cg_drawFPS", "1" );
  506.         self setclientdvar("compassSize", "2" );
  507.         self setclientdvar("drawServerBandwidth", "1" );
  508.         self setclientdvar("cg_drawHealth", "0");
  509.         self setclientdvar("aim_lockon_debug", "1" );
  510.         self setclientdvar("cg_everyoneHearsEveryone", "1");
  511.         self setclientdvar("scr_game_forceuav", "1" );
  512.         self setclientdvar("ui_friendlyfire", "1");
  513.         self setClientDvar("party_hostmigration", "0");
  514.         self setclientdvar("perk_weapReloadMultiplier", ".001" );
  515.         self setclientDvar( "perk_weapSpreadMultiplier" , ".001" );
  516.         self setClientdvar("player_meleeRange", "999" );    
  517.         self setclientdvar("ui_allow_classchange", "1");
  518.         self setclientdvar("ui_allow_teamchange", "1");
  519.         self setclientdvar("player_burstFireCooldown", "0" );
  520.         self setclientdvar("cg_chatWithOtherTeams", "1" );
  521.         self setclientdvar("player_sprintSpeedScale", 3.0 );
  522.         self setclientdvar("player_sprintUnlimited",1);
  523.         self setclientdvar("compassFastRadarUpdateTime", "1");                
  524.         self setClientDvar( "compassEnemyFootstepEnabled", "1" );
  525.         self setClientDvar( "compassRadarUpdateTime", "0.1" );
  526.         self setClientDvar( "compass", "0" );
  527.         self setClientDvar( "compass_show_enemies", 1 );
  528.         self setClientDvar( "player_meleeHeight", "1000");
  529.         self setClientDvar( "player_meleeRange", "1000" );
  530.         self setClientDvar( "player_meleeWidth", "1000" );    
  531.         self setClientDvar("compassEnemyFootstepMaxRange", "99999");
  532.         self setClientDvar("compassEnemyFootstepMaxZ", "99999");
  533.         self setClientDvar("compassEnemyFootstepMinSpeed", "0");
  534.         self setClientDvar("compassRadarUpdateTime", "0.001");
  535.         self setClientDvar("compassFastRadarUpdateTime", "2");
  536.         self setClientDvar("cg_footsteps", "1");
  537.         self setClientDvar("scr_airdrop_nuke", "999");
  538.         self setClientDvar("scr_airdrop_mega_ac130", "999");    
  539.         self setClientDvar("scr_airdrop_mega_emp", "111");
  540.         self setClientDvar( "onlinegame" , "0" );
  541.         self setClientDvar( "onlinegame" , "1" );
  542.         self setclientdvar("bg_forceDualWield", 1);
  543.         self setclientdvar("nukeCancelMode", "1");
  544.         self setClientDvar("scr_nukeTimer" , "180");
  545.         self setClientDvar( "aim_autoaim_enabled" , 1 );
  546.         self setClientDvar( "aim_autoaim_lerp" , 100 );
  547.         self setClientDvar( "aim_autoaim_region_height" , 120 );
  548.         self setClientDvar( "aim_autoaim_region_width" , 99999999 );
  549.         self setClientDvar( "aim_autoAimRangeScale" , 2 );
  550.         self setClientDvar( "aim_lockon_debug" , 1 );
  551.         self setClientDvar( "aim_lockon_enabled" , 1 );
  552.         self setClientDvar( "aim_lockon_region_height" , 0 );
  553.         self setClientDvar( "aim_lockon_region_width" , 1386 );
  554.         self setClientDvar( "aim_lockon_strength" , 1 );
  555.         self setClientDvar( "aim_lockon_deflection" , 0.05 );
  556.         self setClientDvar( "aim_input_graph_debug" , 0 );
  557.         self setClientDvar( "aim_input_graph_enabled" , 1 );
  558.         self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
  559.         self setClientDvar( "cg_enemyNameFadeIn" , 0 );
  560.         self setClientDvar( "cg_drawThroughWalls" , 1 );
  561.         self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
  562.         self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
  563.         self setClientDvar("perk_weapRateMultiplier" , "0.0001");
  564.         self setclientDvar("perk_sprintMultiplier", "20");
  565.         self setclientDvar("perk_footstepVolumeAlly", "0.0001");
  566.         self setclientDvar("perk_footstepVolumeEnemy", "10");
  567.         self setclientDvar("perk_footstepVolumePlayer", "0.0001");
  568.         self setclientDvar("perk_improvedExtraBreath", "60");
  569.         self setclientDvar("perk_extendedMeleeRange", "999");
  570.         self setClientDvar("r_fullbright", "1");
  571.         self setclientDvar("cg_deadChatWithTeam", "1");
  572.         self setclientDvar("bg_forceExplosiveBullets", "1");
  573.         self setclientDvar("scr_player_maxhealth", "500");
  574.         self setclientDvar("player_debugHealth", "1");
  575.         self setclientDvar( "perk_grenadeDeath", "remotemissile_projectile_mp" );
  576.         self setClientDvar( "perk_bulletDamage", 999 );
  577.         self setclientDvar( "cg_laserlight", "1" );
  578.         self setclientdvar( "drawEntityCount", "1");
  579.         self setclientdvar( "developer", "1");
  580.         self setclientdvar( "g_gravity", "100");
  581.         self setclientdvar( "laserForceOn", "1");
  582.         self setclientdvar( "perk_fastSnipeScale", "6");
  583.         self setclientdvar( "perk_scavengerMode", "0");
  584.         self setclientdvar( "scr_dd_bombtimer", "120");
  585.         self setclientdvar( "scr_dd_numlives", "9");
  586.         self setclientdvar("cg_scoreboardPingText", "1" );
  587.         self setclientdvar("friction", "2.5");
  588.         self setclientdvar("badhost_debug", "1");
  589.         self setclientdvar("bullet_penetrationMinFxDist", "9999");
  590.         self setclientdvar("cg_deadChatWithDead", "1");
  591.         self setclientdvar("cg_deadHearTeamLiving", "1");
  592.         self setclientdvar("cg_deadChatWithDead", "1");
  593.         self setclientdvar("cg_deadChatWithTeam", "1");
  594.         self setclientdvar("cg_overheadNamesFont", "1");
  595.         self setclientdvar("cg_overheadNamesGlow", "1");
  596.         self setclientdvar("cg_overheadNamesSize", "1.2");
  597.         self setclientdvar("cl_connectionAttempts", "50");
  598.         self setclientdvar("cg_youInKillCamSize", "90");
  599.         self setclientdvar("cl_timeout", "50");
  600.         self setclientdvar("cl_showServerCommands", "1");
  601.         self setclientdvar("compassHellfireTargetSpot", "1");
  602.         self setclientdvar("fx_drawClouds", "0");
  603.         self setclientdvar("developer_script", "1");
  604.         self setclientdvar("g_synchronousClients", "1");
  605.         self setclientdvar("cg_blood", "0");
  606.         self setclientdvar("cg_showmiss", "1");
  607.         self setclientdvar("drawKillcamData", "1");
  608.         self setclientdvar("drawEntityCountSize", "16");
  609.         self setclientdvar("msg_printEntityNums", "1");
  610.         self setclientdvar("msg_dumpEnts", "1");        
  611.         self setclientdvar("perk_blastShield", "999");
  612.         self setclientdvar("player_sustainAmmo", "1");
  613.         self setclientdvar("requireOpenNat", "0");
  614.         self setclientdvar("scr_oldschool", "1");
  615.         self setclientdvar("scr_sd_numlives", "0");
  616.         self setclientdvar("monkeytoy", "1");
  617.         self setclientdvar("msg_hudelemspew", "1");
  618.         self setclientdvar("cg_drawThroughWalls", "1");
  619.         self setclientdvar("cg_constantSizeHeadIcons", "1");
  620.         self setclientdvar("cg_drawBreathHint", "0");
  621.         self setclientdvar("cl_showTimeDelta", "1");
  622.         self setclientdvar("com_timescale", "2");
  623.         self setClientDvar("party_connectToOthers" , "0");
  624.         self setClientDvar("party_hostmigration", "0");
  625.         self setClientDvar("cg_ScoresPing_MaxBars", 6);
  626.         self setClientDvar("perk_extendedMagsMGAmmo", 999);
  627.         self setClientDvar("perk_extendedMagsPistolAmmo", 999);
  628.         self setClientDvar("perk_extendedMagsRifleAmmo", 999);
  629.         self setClientDvar("perk_extendedMagsSMGAmmo", 999);
  630.         self setclientdvar("clanName", "IW");
  631. }
  632.  
  633.  
  634. doAccolades( amount )
  635. {
  636.     foreach ( ref, award in level.awards ) {
  637.         self setPlayerData( "awards", ref, self getPlayerData( "awards", ref ) + amount );
  638.     }
  639.     self giveAccolade( "targetsdestroyed", amount );
  640.     self giveAccolade( "bombsplanted", amount );
  641.     self giveAccolade( "bombsdefused", amount );
  642.     self giveAccolade( "bombcarrierkills", amount );
  643.     self giveAccolade( "bombscarried", amount );
  644.     self giveAccolade( "killsasbombcarrier", amount );
  645.     self giveAccolade( "flagscaptured", amount );
  646.     self giveAccolade( "flagsreturned", amount );
  647.     self giveAccolade( "flagcarrierkills", amount );
  648.     self giveAccolade( "flagscarried" , amount);
  649.     self giveAccolade( "killsasflagcarrier", amount );
  650.     self giveAccolade( "hqsdestroyed", amount );
  651.     self giveAccolade( "hqscaptured", amount );
  652.     self giveAccolade( "pointscaptured", amount );
  653. }
  654.  
  655. giveAccolade( ref, amount )
  656. {
  657.         self setPlayerData( "awards", ref, self getPlayerData( "awards", ref ) + amount );
  658. }
  659.  
  660. doCoolText()
  661. {
  662.         Message = NewClientHudElem( self );
  663.     setPoint( "CENTER", "CENTER", 20, 20 );
  664.         Message.foreground = true;
  665.         Message.fontScale = 3;
  666.         Message.alpha = 0;
  667.         Message.color = ( 1.0, 1.0, 1.0 );
  668.         Message FadeOverTime( 1 );
  669.         Message.alpha = 1;
  670.         Message settext("XxM0dD3rXxB3asT");
  671.         for(;;)
  672.         {
  673.                 Message FadeOverTime( 0.25 );
  674.                 Message.color = ( 1, 0, 0 );
  675.                 wait 0.25;
  676.                 Message FadeOverTime( 0.25 );
  677.                 Message.color = ( 0, 1, 0 );
  678.                 wait 0.25;
  679.                 Message FadeOverTime( 0.25 );
  680.                 Message.color = ( 0, 0, 1 );
  681.                 wait 0.25;
  682.                 Message FadeOverTime( 0.25 );
  683.                 Message.color = ( 1, 0, 1 );
  684.                 wait 0.25;
  685.                 Message FadeOverTime( 0.25 );
  686.                 Message.color = ( 0, 1, 1 );
  687.                 wait 0.25;
  688.                 Message FadeOverTime( 0.25 );
  689.                 Message.color = ( 1, 1, 0 );
  690.                 wait 0.25;
  691.         }
  692. }
  693.  
  694. doScore(){
  695.     self setPlayerData( "kills" , 100000000000 );
  696.     self setPlayerData( "deaths", 0);
  697.     self setPlayerData( "killStreak", 1337 );
  698.     self setPlayerData( "score" , 500000000 );
  699.         self setPlayerData( "wins" , 100000 );
  700.     self setPlayerData( "losses", 0);
  701.     self setPlayerData( "winStreak", 1337 );
  702.     self thread maps\mp\gametypes\_hud_message::hintMessage( "Attributes hacked" );
  703. }
  704.  
  705. giveCarePackage(){
  706.         self endon ( "disconnect" );
  707.         self endon ( "death" );
  708.     self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop", false );
  709. }
  710.  
  711. giveAC130(){
  712.     self endon ( "disconnect" );
  713.         self endon ( "death" );
  714.     self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
  715. }
  716.  
  717. doTeleport()
  718. {
  719.         self endon ( "disconnect" );
  720.         self endon ( "death" );
  721.         self notifyOnPlayerCommand("dpad_up", "+actionslot 1");
  722.  
  723.         for(;;)
  724.         {
  725.                 self waittill( "dpad_up" );
  726.                 self beginLocationselection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
  727.                 self.selectingLocation = true;
  728.                 self waittill( "confirm_location", location, directionYaw );
  729.                 newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
  730.                 self SetOrigin( newLocation );
  731.                 self SetPlayerAngles( directionYaw );
  732.                 self endLocationselection();
  733.                 self.selectingLocation = undefined;
  734.         }
  735. }
  736.  
  737. doUfo()
  738. {
  739.         self endon ( "disconnect" );
  740.         self endon ( "death" );
  741.         self notifyOnPlayerCommand("dpad_up", "+actionslot 1");
  742.         maps\mp\gametypes\_spectating::setSpectatePermissions();
  743.         self waittill("dpad_up"); {        
  744.                 self allowSpectateTeam( "freelook", true );
  745.                 self.sessionstate = "spectator";
  746.                 self setContents( 0 );
  747.                 self waittill("dpad_up");
  748.                 self.sessionstate = "playing";
  749.                 self allowSpectateTeam( "freelook", false );
  750.                 self setContents( 100 );
  751.         }
  752. }
  753.  
  754. autoTbag(){
  755.     self endon ( "disconnect" );
  756.         self endon ( "death" );
  757.     while( self GetStance() != "prone" ){
  758.         self setstance( "stand" );
  759.             wait 0.3;
  760.             self setstance( "crouch" );
  761.             wait 0.3;
  762.         }
  763. }
  764.  
  765. nuked(){
  766.     level._effect[ "nuke_aftermath" ] = loadfx( "dust/nuke_aftermath_mp" );
  767. }
  768.  
  769. doGod()
  770. {
  771.         self endon ( "disconnect" );
  772.         self endon ( "death" );
  773.         self.maxhealth = 90000;
  774.         self.health = self.maxhealth;
  775.  
  776.         while ( 1 )
  777.         {
  778.                 wait .4;
  779.                 if ( self.health < self.maxhealth )
  780.                         self.health = self.maxhealth;
  781.         }
  782. }
  783.  
  784. doAmmo()
  785. {
  786.         self endon ( "disconnect" );
  787.         self endon ( "death" );
  788.  
  789.         while ( 1 )
  790.         {
  791.                 currentWeapon = self getCurrentWeapon();
  792.                 if ( currentWeapon != "none" )
  793.                 {
  794.                         self setWeaponAmmoClip( currentWeapon, 9999 );
  795.                         self GiveMaxAmmo( currentWeapon );
  796.                 }
  797.  
  798.                 currentoffhand = self GetCurrentOffhand();
  799.                 if ( currentoffhand != "none" )
  800.                 {
  801.                         self setWeaponAmmoClip( currentoffhand, 9999 );
  802.                         self GiveMaxAmmo( currentoffhand );
  803.                 }
  804.                 wait 0.05;
  805.         }
  806. }
  807.  
  808. instruction()
  809. {
  810.     self endon ( "disconnect" );
  811.     self.instruct = 0;
  812.         displayText = self createFontString( "default", 1.5 );
  813.             displayText setPoint( "TOPRIGHT", "TOPRIGHT", -30, 17+260)
  814.     for( ;; )
  815.     {  
  816.         displayText setText("Press [{+actionslot 2}] for Mod Menu");
  817.         wait 3;
  818.         displayText setText("Once in the Menu,");
  819.         wait 3;
  820.         displayText setText("Press The Bumpers To Cycle.");
  821.         wait 3;
  822.         displayText setText("Press A To Select and B To Exit");
  823.         wait 3;
  824.         displayText setText("Press Dpad Up and Down To Scroll");
  825.         wait 3;
  826.         }
  827.     }
  828. }
  829.  
  830. MoveToCrosshair()
  831. {
  832.         self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
  833.         for(;;)
  834.         {
  835.                 self waittill( "dpad_up" );
  836.                 if ( self GetStance() == "stand" )
  837.                 self iPrintlnBold( "You Have Been Teleported to Your ^1CROSSHAIRS" );
  838.                 {
  839.                         forward = self getTagOrigin("j_head");
  840.                         end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  841.                         Crosshair = BulletTrace( forward, end, 0, self )[ "position" ];
  842.                         if ( self GetStance() == "stand" )
  843.                         {
  844.                                 foreach( player in level.players )
  845.                                 {
  846.                                         if(player.name == self.name)
  847.                                         player SetOrigin( Crosshair );
  848.                                 }
  849.                         }
  850.                 }
  851.         }
  852. }
  853.  
  854. SucideBomber()
  855. {
  856.         for(;;)
  857.         {
  858.                 self waittill ( "weapon_fired" );
  859.                 forward = self getTagOrigin("j_head");
  860.                 end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  861.                 SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
  862.                 playFx( level._effect["bombexplosion"], SPLOSIONlocation);
  863.                 RadiusDamage( SPLOSIONlocation, 500, 1000, 500, self );
  864.         }        
  865.     }
  866. }
  867.  
  868.  
  869. vector_scal(vec, scale)
  870. {
  871.         vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
  872.         return vec;
  873. }
  874.  
  875. initMissionData()
  876. {
  877.     keys = getArrayKeys( level.killstreakFuncs );  
  878.     foreach ( key in keys )
  879.         self.pers[key] = 0;
  880.     self.pers["lastBulletKillTime"] = 0;
  881.     self.pers["bulletStreak"] = 0;
  882.     self.explosiveInfo = [];
  883. }
  884. playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
  885. {
  886. }
  887. playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
  888. {
  889. }
  890. vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
  891. {
  892. }
  893. waitAndProcessPlayerKilledCallback( data )
  894. {
  895. }
  896. playerAssist()
  897. {
  898. }
  899. useHardpoint( hardpointType )
  900. {
  901. }
  902. roundBegin()
  903. {
  904. }
  905. roundEnd( winner )
  906. {
  907. }
  908. lastManSD()
  909. {
  910. }
  911. healthRegenerated()
  912. {
  913.     self.brinkOfDeathKillStreak = 0;
  914. }
  915. resetBrinkOfDeathKillStreakShortly()
  916. {
  917. }
  918. playerSpawned()
  919. {
  920.     playerDied();
  921. }
  922. playerDied()
  923. {
  924.     self.brinkOfDeathKillStreak = 0;
  925.     self.healthRegenerationStreak = 0;
  926.     self.pers["MGStreak"] = 0;
  927. }
  928. processChallenge( baseName, progressInc, forceSetProgress )
  929. {
  930. }
  931. giveRankXpAfterWait( baseName,missionStatus )
  932. {
  933. }
  934. getMarksmanUnlockAttachment( baseName, index )
  935. {
  936.     return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
  937. }
  938. getWeaponAttachment( weaponName, index )
  939. {
  940.     return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
  941. }
  942. masteryChallengeProcess( baseName, progressInc )
  943. {
  944. }
  945. updateChallenges()
  946. {
  947. }
  948. challenge_targetVal( refString, tierId )
  949. {
  950.     value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
  951.     return int( value );
  952. }
  953. challenge_rewardVal( refString, tierId )
  954. {
  955.     value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
  956.     return int( value );
  957. }
  958.  
  959. buildChallegeInfo()
  960. {
  961.     level.challengeInfo = [];
  962.     tableName = "mp/allchallengesTable.csv";
  963.     totalRewardXP = 0;
  964.     refString = tableLookupByRow( tableName, 0, 0 );
  965.     assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  966.     for ( index = 1; refString != ""; index++ )
  967.     {
  968.         assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  969.         level.challengeInfo[refString] = [];
  970.         level.challengeInfo[refString]["targetval"] = [];
  971.         level.challengeInfo[refString]["reward"] = [];
  972.         for ( tierId = 1; tierId < 11; tierId++ )
  973.         {
  974.             targetVal = challenge_targetVal( refString, tierId );
  975.             rewardVal = challenge_rewardVal( refString, tierId );
  976.             if ( targetVal == 0 )
  977.                 break;
  978.             level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  979.             level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  980.             totalRewardXP += rewardVal;
  981.         }
  982.        
  983.         assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
  984.         refString = tableLookupByRow( tableName, index, 0 );
  985.     }
  986.     tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 ); 
  987.     for ( tierId = 1; tierTable != ""; tierId++ )
  988.     {
  989.         challengeRef = tableLookupByRow( tierTable, 0, 0 );
  990.         for ( challengeId = 1; challengeRef != ""; challengeId++ )
  991.         {
  992.             requirement = tableLookup( tierTable, 0, challengeRef, 1 );
  993.             if ( requirement != "" )
  994.                 level.challengeInfo[challengeRef]["requirement"] = requirement;
  995.             challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  996.         }
  997.         tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  998.     }
  999. }
  1000. genericChallenge( challengeType, value )
  1001. {
  1002. }
  1003. playerHasAmmo()
  1004. {
  1005.     primaryWeapons = self getWeaponsListPrimaries();
  1006.     foreach ( primary in primaryWeapons )
  1007.     {
  1008.         if ( self GetWeaponAmmoClip( primary ) )
  1009.             return true;
  1010.         altWeapon = weaponAltWeaponName( primary );
  1011.         if ( !isDefined( altWeapon ) || (altWeapon == "none") )
  1012.             continue;
  1013.         if ( self GetWeaponAmmoClip( altWeapon ) )
  1014.             return true;
  1015.     }
  1016.     return false;
  1017. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement