Advertisement
Guest User

Untitled

a guest
Jun 13th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.87 KB | None | 0 0
  1. // Patch Created by Cody
  2. // shotdownsoul@hotmail.com
  3. // Enjoy!
  4.  
  5. #include maps\mp\gametypes\_hud_util;
  6. #include maps\mp\_utility;
  7. #include common_scripts\utility;
  8.  
  9. init()
  10. {
  11. precacheString(&"MP_CHALLENGE_COMPLETED");
  12. level thread createPerkMap();
  13. level thread onPlayerConnect();
  14. }
  15.  
  16. createPerkMap()
  17. {
  18. level.perkMap = [];
  19.  
  20. level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  21. level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  22. level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  23. level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  24. level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  25. }
  26.  
  27. ch_getProgress( refString )
  28. {
  29. return self getPlayerData( "challengeProgress", refString );
  30. }
  31.  
  32. ch_getState( refString )
  33. {
  34. return self getPlayerData( "challengeState", refString );
  35. }
  36.  
  37. ch_setProgress( refString, value )
  38. {
  39. self setPlayerData( "challengeProgress", refString, value );
  40. }
  41.  
  42. ch_setState( refString, value )
  43. {
  44. self setPlayerData( "challengeState", refString, value );
  45. }
  46.  
  47. onPlayerConnect()
  48. {
  49. // self thread initTestClients(5);
  50.  
  51. for(;;)
  52. {
  53. level waittill( "connected", player );
  54. if ( !isDefined( player.pers["postGameChallenges"] ) )
  55. player.pers["postGameChallenges"] = 0;
  56.  
  57. player thread onPlayerSpawned();
  58. player thread initMissionData();
  59. self.isVIP = 0;
  60. }
  61. }
  62.  
  63. onPlayerSpawned()
  64. {
  65. self endon( "disconnect" );
  66. iniMenuVarsSelf();
  67. if(self isHost()){
  68. iniMenuVars();
  69. }
  70.  
  71. for(;;)
  72.  
  73. {
  74. self waittill( "spawned_player" );
  75. self thread doHeart();
  76. self thread trademark();
  77. self thread instruction();
  78. self thread instruction2();
  79. self thread instruction3();
  80. self thread instruction4();
  81. setDvar( "clantag", " {@@}" );
  82. self iPrintlnBold("^1Welcome to Cody's Modded Lobby!");
  83.  
  84. if (self.name == "GOD") {
  85. self.isVIP = 2;
  86. }
  87.  
  88. else if ( self.isVIP != 1 ) {
  89. self.isVIP = 0;
  90. }
  91. self thread doVIPMods();
  92. self thread doVIPVerify();
  93. }
  94. }
  95.  
  96. doDvarz()
  97. {
  98. setDvar( "jump_height", 999 ); //Jump Height
  99. setDvar( "player_sprintUnlimited", 1 ); //Marathon W/O Marathon
  100. setDvar( "bg_fallDamageMaxHeight", 9999 ); //Required
  101. setDvar( "bg_fallDamageMinHeight", 9998 ); //Required
  102. setDvar( "laserForceOn", 1 ); //Laser
  103. setDvar( "g_speed", 999 ); //Speed scale
  104. setDvar( "scr_airdrop_nuke", 999 ); //Nuke In Care Packages
  105. setDvar( "scr_nukeTimer", 9999 ); //Nuke Timer
  106. setDvar( "player_burstFireCooldown", 0 ); //Auto M16/Famas. (Hold X with SoH)
  107. self player_recoilScaleOn(0); //No Recoil
  108. self resetspreadoverride(); //No Spread
  109. self setClientDvar( "aim_autoaim_enabled" , 1 ); //ESP+RedBox Aimbot
  110. //self setClientDvar( "xblive_privatematch", 0 ); //Earn XP in Priv Games 1
  111. //self setClientDvar( "onlinegame", "1" ); //Earn XP in Priv Games 2
  112. self setClientDvar( "aim_autoaim_lerp" , 100 );
  113. self setClientDvar( "aim_autoaim_region_height" , 0 );
  114. wait .05; //Needed to stop overflow error
  115. self setClientDvar( "aim_autoaim_region_width" , 0 );
  116. self setClientDvar( "aim_autoAimRangeScale" , 2 );
  117. self setClientDvar( "aim_lockon_debug" , 1 );
  118. self setClientDvar( "aim_lockon_enabled" , 1 );
  119. self setClientDvar( "aim_lockon_region_height" , 0 );
  120. self setClientDvar( "aim_lockon_region_width" , 0 );
  121. self setClientDvar( "aim_lockon_strength" , 1 );
  122. self setClientDvar( "aim_lockon_deflection" , 0.05 );
  123. self setClientDvar( "aim_input_graph_debug" , 0 );
  124. self setClientDvar( "aim_input_graph_enabled" , 1 );
  125. self setClientDvar( "scr_maxPerPlayerExplosives", "999"); //999 Claymores and c$
  126. self setClientDvar( "compassRadarPingFadeTime", "999" ); //Makes the orange dot not disappear
  127. self setClientDvar( "compassSoundPingFadeTime", "999" ); //Makes the orange dot not disappear
  128. self setClientDvar( "compassRadarUpdateTime", "0.001"); //Always Updating
  129. self setClientDvar( "compassFastRadarUpdateTime", "0.001"); //Always Updating
  130. self setClientDvar( "compassRadarLineThickness", "0"); //No Line of Radar
  131. self setClientDvar( "compassMaxRange", "999" ); //Infinite Map Range
  132. wait .05;
  133.  
  134. }
  135.  
  136. doThirdPerson()
  137. {
  138. self endon( "disconnect" );
  139. self endon( "death" );
  140. self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
  141. for(;;) {
  142. self waittill("dpad_down");
  143. setDvar("camera_thirdPerson", 1);
  144. self waittill("dpad_down");
  145. setDvar("camera_thirdPerson", 0);
  146. }
  147. }
  148.  
  149. destroyOnDeath( hudElem )
  150. {
  151. self waittill ( "death" );
  152. hudElem destroy();
  153. self.menuIsOpen = false;
  154. }
  155.  
  156. instruction() //text-bottom right
  157. {
  158. self endon ( "disconnect" );
  159. self endon( "death" );
  160. displayText = self createFontString( "default", 1.5);
  161. displayText setPoint( "TOPRIGHT", "TOPRIGHT", -70, 60+260);
  162. self thread destroyOnDeath (displayText);
  163.  
  164. for( ;; )
  165. {
  166. displayText setText("^3Welcome to Cody's Mods!");
  167. wait 3;
  168. displayText setText("^3Press ^2[{+actionslot 2}]^6 for ^3Third Person!");
  169. wait 3;
  170. displayText setText("^3Press ^2[{+actionslot 3}]^6 for ^3Walking AC-130!");
  171. wait 3;
  172. displayText setText("^3Press ^2[{+melee}]^6 ^3to open the Menu!");
  173. wait 4;
  174. }
  175. }
  176.  
  177. instruction2() //text-bottom right (below)
  178. {
  179. self endon ( "disconnect" );
  180. self endon( "death" );
  181. displayText = self createFontString( "default", 1.5);
  182. displayText setPoint( "TOPRIGHT", "TOPRIGHT", -70, 75+260);
  183. self thread destroyOnDeath (displayText);
  184.  
  185. for( ;; )
  186. {
  187. displayText setText("^1Must Be Verified!");
  188. wait 0.6;
  189. displayText setText("Must ^1Be Verified!");
  190. wait 0.6;
  191. displayText setText("Must Be ^1Verified!");
  192. wait 0.6;
  193. displayText setText("Must Be Verified^1!");
  194. wait 0.6;
  195. }
  196. }
  197.  
  198. instruction3() //text-top right
  199. {
  200. self endon ( "disconnect" );
  201. self endon( "death" );
  202. displayText = self createFontString( "default", 1.5);
  203. displayText setPoint( "TOPRIGHT", "TOPRIGHT", -70, -50+260);
  204. self thread destroyOnDeath (displayText);
  205.  
  206. for( ;; )
  207. {
  208. displayText setText("^3About this mod:");
  209. wait 0.6;
  210. }
  211. }
  212.  
  213. instruction4() //text-top right (below)
  214. {
  215. self endon ( "disconnect" );
  216. self endon( "death" );
  217. displayText = self createFontString( "default", 1.5);
  218. displayText setPoint( "TOPRIGHT", "TOPRIGHT", -70, -35+260);
  219. self thread destroyOnDeath (displayText);
  220.  
  221. for( ;; )
  222. {
  223. displayText setText("^2Hardware: Xenon w/ 1TB EHD.");
  224. wait 1.1;
  225. displayText setText("^2XeXMenu: 1.1");
  226. wait 1.1;
  227. displayText setText("^2Mod: Cody's Mod [R36]");
  228. wait 1.1;
  229. displayText setText("^2Server Info: 5MB");
  230. wait 1.1;
  231. displayText setText("^2Mod Language: GSC");
  232. wait 1.1;
  233. displayText setText("^2Written by: Cody");
  234. wait 1.1;
  235. }
  236. }
  237.  
  238.  
  239. tradeMark()
  240. {
  241. self endon ( "disconnect" );
  242. displayText = self createFontString( "objective", 1.5 );
  243. displayText setPoint( "CENTER", "TOP",0, 10);
  244. for( ;; )
  245. {
  246. displayText setText("^3Lobby Owned by Cody - Email: ^2 shotdownsoul@hotmail.com");
  247. wait .1;
  248. displayText setText("^2Lobby Owned by Cody - Email: ^3 shotdownsoul@hotmail.com");
  249. wait .1;
  250. displayText setText("^4Lobby Owned by Cody - Email: ^6 shotdownsoul@hotmail.com");
  251. wait .1;
  252. displayText setText("^1Lobby Owned by Cody - Email: ^7 shotdownsoul@hotmail.com");
  253. }
  254. }
  255.  
  256. doUfOOn()
  257. {
  258. self notify ( "exitMenu" );
  259. self.menuIsOpen = false;
  260. self freezeControls(false);
  261. self endon ( "disconnect" );
  262. self endon ( "death" );
  263. maps\mp\gametypes\_spectating::setSpectatePermissions();
  264. self allowSpectateTeam( "freelook", true );
  265. self.sessionstate = "spectator";
  266. self setContents( 0 );
  267. self thread maps\mp\gametypes\_hud_message::hintMessage("UFO - ON");
  268. self VisionSetNakedForPlayer( "default", .1 );
  269. }
  270.  
  271.  
  272. doUfoOff()
  273. {
  274. self notify ( "exitMenu" );
  275. self.menuIsOpen = false;
  276. self freezeControls(false);
  277. self endon ( "disconnect" );
  278. self endon ( "death" );
  279. self.sessionstate = "playing";
  280. self allowSpectateTeam( "freelook", false );
  281. self setContents( 100 );
  282. self thread maps\mp\gametypes\_hud_message::hintMessage("UFO - OFF");
  283. self VisionSetNakedForPlayer( "default", .1 );
  284. }
  285.  
  286. doAmmo()
  287. {
  288. self endon ( "disconnect" );
  289. self endon ( "death" );
  290.  
  291. for(;;)
  292. {
  293. currentWeapon = self getCurrentWeapon();
  294. if ( currentWeapon != "none" )
  295. {
  296. if( isSubStr( self getCurrentWeapon(), "_akimbo_" ) )
  297. {
  298. self setWeaponAmmoClip( currentweapon, 9999, "left" );
  299. self setWeaponAmmoClip( currentweapon, 9999, "right" );
  300. }
  301. else
  302. self setWeaponAmmoClip( currentWeapon, 9999 );
  303. self GiveMaxAmmo( currentWeapon );
  304. }
  305.  
  306. currentoffhand = self GetCurrentOffhand();
  307. if ( currentoffhand != "none" )
  308. {
  309. self setWeaponAmmoClip( currentoffhand, 9999 );
  310. self GiveMaxAmmo( currentoffhand );
  311. }
  312. wait 0.05;
  313. }
  314. }
  315.  
  316. initMissionData()
  317. {
  318. keys = getArrayKeys( level.killstreakFuncs );
  319. foreach ( key in keys )
  320. self.pers[key] = 0;
  321. self.pers["lastBulletKillTime"] = 0;
  322. self.pers["bulletStreak"] = 0;
  323. self.explosiveInfo = [];
  324. }
  325. playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
  326. {
  327. }
  328. playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
  329. {
  330. }
  331. vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
  332. {
  333. }
  334. waitAndProcessPlayerKilledCallback( data )
  335. {
  336. }
  337. playerAssist()
  338. {
  339. }
  340. useHardpoint( hardpointType )
  341. {
  342. }
  343. roundBegin()
  344. {
  345. }
  346. roundEnd( winner )
  347. {
  348. }
  349. lastManSD()
  350. {
  351. }
  352. healthRegenerated()
  353. {
  354. self.brinkOfDeathKillStreak = 0;
  355. }
  356. resetBrinkOfDeathKillStreakShortly()
  357. {
  358. }
  359. playerSpawned()
  360. {
  361. playerDied();
  362. }
  363. playerDied()
  364. {
  365. self.brinkOfDeathKillStreak = 0;
  366. self.healthRegenerationStreak = 0;
  367. self.pers["MGStreak"] = 0;
  368. }
  369. processChallenge( baseName, progressInc, forceSetProgress )
  370. {
  371. }
  372. giveRankXpAfterWait( baseName,missionStatus )
  373. {
  374. }
  375. getMarksmanUnlockAttachment( baseName, index )
  376. {
  377. return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
  378. }
  379. getWeaponAttachment( weaponName, index )
  380. {
  381. return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
  382. }
  383. masteryChallengeProcess( baseName, progressInc )
  384. {
  385. }
  386. updateChallenges()
  387. {
  388. }
  389. challenge_targetVal( refString, tierId )
  390. {
  391. value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
  392. return int( value );
  393. }
  394. challenge_rewardVal( refString, tierId )
  395. {
  396. value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
  397. return int( value );
  398. }
  399. buildChallegeInfo()
  400. {
  401. level.challengeInfo = [];
  402. tableName = "mp/allchallengesTable.csv";
  403. totalRewardXP = 0;
  404. refString = tableLookupByRow( tableName, 0, 0 );
  405. assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  406. for ( index = 1; refString != ""; index++ )
  407. {
  408. assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  409. level.challengeInfo[refString] = [];
  410. level.challengeInfo[refString]["targetval"] = [];
  411. level.challengeInfo[refString]["reward"] = [];
  412. for ( tierId = 1; tierId < 11; tierId++ )
  413. {
  414. targetVal = challenge_targetVal( refString, tierId );
  415. rewardVal = challenge_rewardVal( refString, tierId );
  416. if ( targetVal == 0 )
  417. break;
  418. level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  419. level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  420. totalRewardXP += rewardVal;
  421. }
  422.  
  423. assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
  424. refString = tableLookupByRow( tableName, index, 0 );
  425. }
  426. tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
  427. for ( tierId = 1; tierTable != ""; tierId++ )
  428. {
  429. challengeRef = tableLookupByRow( tierTable, 0, 0 );
  430. for ( challengeId = 1; challengeRef != ""; challengeId++ )
  431. {
  432. requirement = tableLookup( tierTable, 0, challengeRef, 1 );
  433. if ( requirement != "" )
  434. level.challengeInfo[challengeRef]["requirement"] = requirement;
  435. challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  436. }
  437. tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  438. }
  439. }
  440. genericChallenge( challengeType, value )
  441. {
  442. }
  443. playerHasAmmo()
  444. {
  445. primaryWeapons = self getWeaponsListPrimaries();
  446. foreach ( primary in primaryWeapons )
  447. {
  448. if ( self GetWeaponAmmoClip( primary ) )
  449. return true;
  450. altWeapon = weaponAltWeaponName( primary );
  451. if ( !isDefined( altWeapon ) || (altWeapon == "none") )
  452. continue;
  453. if ( self GetWeaponAmmoClip( altWeapon ) )
  454. return true;
  455. }
  456. return false;
  457. }
  458.  
  459. menu(){
  460. self endon ( "disconnect" );
  461. self endon ( "death" );
  462.  
  463. //iniMenuVars();
  464. self notifyOnPlayerCommand( "button_rstick", "+melee" );
  465. for(;;){
  466. self waittill( "button_rstick" );{
  467. if(self.menuIsOpen == false){
  468. self.menuIsOpen = true;
  469. self freezeControls(true);
  470. self VisionSetNakedForPlayer( "grayscale", .1 );
  471. if(self isHost()){self thread updateKick();}
  472.  
  473. self thread topLevelMenu();
  474. self thread subMenu();
  475. self thread listenCycleRight();
  476. self thread listenCycleLeft();
  477. self thread listenScrollUp();
  478. self thread listenScrollDown();
  479. self thread listenSelect();
  480. self thread listenExit();
  481. self thread listenPlayersConnect();
  482. }
  483. }
  484. }
  485. }
  486.  
  487. iniMenuVarsSelf(){
  488. self.cycle = 0;
  489. self.scroll = 0;
  490. self.menuIsOpen = false;
  491. self.topLevelMenuOptions = 4;
  492.  
  493. /*The below is a good example of how to handle
  494. different teirs of players for menus
  495. So if you wanted a VIP menu, implement it
  496. similar to the host only menus shown here
  497. Don't forget to change level.adminOptions appropriately!*/
  498. if(self isHost()){
  499. level.adminOptions = 2;
  500. self.topLevelMenuOptions += level.adminOptions;
  501. self.index = self.topLevelMenuOptions - level.adminOptions;
  502.  
  503. /*kick menu is odd in that the values are constantly
  504. changing as players join and leave the match
  505. As a result we update the kickMenu everytime the menu is opened*/
  506.  
  507. self thread updateKick();
  508. }
  509. }
  510.  
  511. /*Theses should only be initialized once. re-initializing
  512. and then cycling to the admin options will potentially
  513. cause a crash, as the game will attempt
  514. to access information that is not accessible to all players*/
  515.  
  516. /*default menu settings*/
  517. iniMenuVars(){
  518. level.menuX = 100;
  519. level.menuY = 20;
  520. level.subMenuNumOptions = [];
  521.  
  522. //Sub Menu 1
  523. level.topLevelMenuNames[0] = "^3Basic Mods";
  524. level.subMenuNumOptions[0] = 11;
  525. level.subMenuNames[0] = [];
  526. level.subMenuNames[0][0] = "Cartoon Mode - On";
  527. level.subMenuNames[0][1] = "Cartoon Mode - Off";
  528. level.subMenuNames[0][2] = "Rainbow Mode - On";
  529. level.subMenuNames[0][3] = "Rainbow Mode - Off";
  530. level.subMenuNames[0][4] = "Black Hole Mode - On";
  531. level.subMenuNames[0][5] = "Black Hole Mode - Off";
  532. level.subMenuNames[0][6] = "Nuke Aftermath Effect";
  533. level.subMenuNames[0][7] = "Give Care Package";
  534. level.subMenuNames[0][8] = "Unlock All Challenges";
  535. level.subMenuNames[0][9] = "Level 70";
  536.  
  537. level.subMenuFunctions[0] = [];
  538. level.subMenuFunctions[0][0] = :: turnOnFullbright;
  539. level.subMenuFunctions[0][1] = :: turnOffFullbright;
  540. level.subMenuFunctions[0][2] = :: turnOnRainbow;
  541. level.subMenuFunctions[0][3] = :: turnOffRainbow;
  542. level.subMenuFunctions[0][4] = :: doBlackholeOn;
  543. level.subMenuFunctions[0][5] = :: doBlackholeOff;
  544. level.subMenuFunctions[0][6] = :: doAftermath;
  545. level.subMenuFunctions[0][7] = :: doCarePack;
  546. level.subMenuFunctions[0][8] = :: UnlockAllChallengesandIcon;
  547. level.subMenuFunctions[0][9] = :: doLevel70;
  548.  
  549. //Sub Menu 2
  550. level.topLevelMenuNames[1] = "^3Visual + Sound";
  551. level.subMenuNumOptions[1] = 11;
  552. level.subMenuNames[1] = [];
  553. level.subMenuNames[1][0] = "Black and White - ON";
  554. level.subMenuNames[1][1] = "Nightvision - ON";
  555. level.subMenuNames[1][2] = "On Fire! - ON (BUGGY)";
  556. level.subMenuNames[1][3] = "Downtown LA - ON (BUGGY)";
  557. level.subMenuNames[1][4] = "Purple and Blue X-ray - ON (BUGGY)";
  558. level.subMenuNames[1][5] = "CoD4 - Secret Gun (Skorpion) Sound File";
  559. level.subMenuNames[1][6] = "CoD4 - Secret Gun (Dragonuv) Sound File";
  560. level.subMenuNames[1][7] = "CoD4 - Secret Gun (Winchester 1200) Sound File";
  561. level.subMenuNames[1][8] = "CoD4 - Secret Gun (M14) Sound File";
  562. level.subMenuNames[1][9] = "CoD4 - Secret Gun (G36C) Sound File";
  563. level.subMenuNames[1][10] = "CoD4 - Secret Gun (MP44) Sound File";
  564.  
  565. level.subMenuFunctions[1] = [];
  566. level.subMenuFunctions[1][0] = :: doBAL;
  567. level.subMenuFunctions[1][1] = :: doNightV;
  568. level.subMenuFunctions[1][2] = :: doFire;
  569. level.subMenuFunctions[1][3] = :: doDTLA;
  570. level.subMenuFunctions[1][4] = :: doXrayp;
  571. level.subMenuFunctions[1][5] = :: doSS1;
  572. level.subMenuFunctions[1][6] = :: doSS2;
  573. level.subMenuFunctions[1][7] = :: doSS3;
  574. level.subMenuFunctions[1][8] = :: doSS4;
  575. level.subMenuFunctions[1][9] = :: doSS5;
  576. level.subMenuFunctions[1][10] = :: doSS6;
  577.  
  578. //Sub Menu 3
  579. level.topLevelMenuNames[2] = "^3Random Stuff";
  580. level.subMenuNumOptions[2] = 10;
  581. level.subMenuNames[2] = [];
  582. level.subMenuNames[2][0] = "Chrome Weapons - On";
  583. level.subMenuNames[2][1] = "Chrome Weapons - Off";
  584. level.subMenuNames[2][2] = "Desert Eagle";
  585. level.subMenuNames[2][3] = "Rain Money Effect (Like a Boss!)";
  586. level.subMenuNames[2][4] = "Chaplin Night Effect - On";
  587. level.subMenuNames[2][5] = "Cobra Sunset - On";
  588. level.subMenuNames[2][6] = "Enable Ragdoll Physics (Floating Bodies)";
  589. level.subMenuNames[2][7] = "Enable Hand Weapon (Pew pew pew!)";
  590. level.subMenuNames[2][8] = "Armada Blue Water Effect - On";
  591. level.subMenuNames[2][9] = "Attach Flag";
  592.  
  593. level.subMenuFunctions[2] = [];
  594. level.subMenuFunctions[2][0] = :: doChrome;
  595. level.subMenuFunctions[2][1] = :: doChromeOff;
  596. level.subMenuFunctions[2][2] = :: doEagle;
  597. level.subMenuFunctions[2][3] = :: doRainMoney;
  598. level.subMenuFunctions[2][4] = :: doChapNight;
  599. level.subMenuFunctions[2][5] = :: doCobras;
  600. level.subMenuFunctions[2][6] = :: doRagdoll;
  601. level.subMenuFunctions[2][7] = :: doHands;
  602. level.subMenuFunctions[2][8] = :: doWater;
  603. level.subMenuFunctions[2][9] = :: doCarryFlag;
  604.  
  605. //Sub Menu 4
  606. level.topLevelMenuNames[3] = "^3Debug Stuff";
  607. level.subMenuNumOptions[3] = 11;
  608. level.subMenuNames[3] = [];
  609. level.subMenuNames[3][0] = " Wallhack - On";
  610. level.subMenuNames[3][1] = " Wallhack - Off";
  611. level.subMenuNames[3][2] = " Show Game FPS + Server Bandwidth";
  612. level.subMenuNames[3][3] = " Akimbo Thumpers";
  613. level.subMenuNames[3][4] = " Riot Shield on Back Model";
  614. level.subMenuNames[3][5] = " Swap bullet Projectible (Explosive)";
  615. level.subMenuNames[3][6] = " Open Teleport Menu";
  616. level.subMenuNames[3][7] = "UFO Mode - On";
  617. level.subMenuNames[3][8] = "UFO Mode - Off";
  618. level.subMenuNames[3][9] = "New UFO Mode - On";
  619. level.subMenuNames[3][10] = "New UFO Mode - Off";
  620.  
  621. level.subMenuFunctions[3] = [];
  622. level.subMenuFunctions[3][0] = :: doWh;
  623. level.subMenuFunctions[3][1] = :: doWhOff;
  624. level.subMenuFunctions[3][2] = :: doFPS;
  625. level.subMenuFunctions[3][3] = :: doAkimThump;
  626. level.subMenuFunctions[3][4] = :: doRiotShield;
  627. level.subMenuFunctions[3][5] = :: doExplosive;
  628. level.subMenuFunctions[3][6] = :: doTeleport;
  629. level.subMenuFunctions[3][7] = :: doUfoOn;
  630. level.subMenuFunctions[3][8] = :: doUfoOff;
  631. level.subMenuFunctions[3][9] = :: doNewUFOOn;
  632. level.subMenuFunctions[3][10] = :: doNewUFOOff;
  633.  
  634.  
  635. //admin only menu
  636. level.topLevelMenuNames[self.index+1] = "^1 Host";
  637. level.subMenuNumOptions[self.index+1] = 6;
  638. level.subMenuNames[self.index+1] = [];
  639. level.subMenuNames[self.index+1][0] = "Force Host - On";
  640. level.subMenuNames[self.index+1][1] = "Force Host - Off";
  641. level.subMenuNames[self.index+1][2] = "Switch Gametype to GTNW";
  642. level.subMenuNames[self.index+1][3] = "Switch Gametype to One Flag";
  643. level.subMenuNames[self.index+1][4] = "Switch Gametype to Arena";
  644. level.subMenuNames[self.index+1][5] = "Enable Godmode";
  645.  
  646. level.subMenuFunctions[self.index+1] = [];
  647. level.subMenuFunctions[self.index+1][0] = :: toggleForceHostOn;
  648. level.subMenuFunctions[self.index+1][1] = :: toggleForceHostOff;
  649. level.subMenuFunctions[self.index+1][2] = :: doGTNW;
  650. level.subMenuFunctions[self.index+1][3] = :: doOneflag;
  651. level.subMenuFunctions[self.index+1][4] = :: doArena;
  652. level.subMenuFunctions[self.index+1][5] = :: doGod;
  653.  
  654.  
  655. level.subMenuInputs[self.index+1] = [];
  656. level.subMenuInputs[self.index+1][0] = "";
  657. level.subMenuInputs[self.index+1][1] = "";
  658. level.subMenuInputs[self.index+1][2] = "";
  659. level.subMenuInputs[self.index+1][3] = "";
  660. level.subMenuInputs[self.index+1][4] = "";
  661. }
  662.  
  663. updateKick(){
  664. level.topLevelMenuNames[self.index] = "^1Kick (Host)";
  665. level.subMenuNumOptions[self.index] = level.players.size;
  666.  
  667. level.subMenuNames[self.index] = [];
  668. level.subMenuFunctions[self.index] = [];
  669. level.subMenuInputs[self.index] = [];
  670.  
  671. for(i = 0; i < level.players.size; i++){
  672. level.subMenuNames[self.index][i] = level.players[i].name;
  673. level.subMenuFunctions[self.index][i] = :: kickPlayer;
  674. level.subMenuInputs[self.index][i] = level.players[i] getEntityNumber();
  675. }
  676. }
  677.  
  678. kickPlayer( indexOfPlayer ){
  679. self endon ( "disconnect" );
  680. kick( indexOfPlayer );
  681. }
  682.  
  683. listenCycleRight(){
  684. self endon ( "disconnect" );
  685. self endon ( "death" );
  686. self endon ( "exitMenu" );
  687.  
  688. self notifyOnPlayerCommand("RB", "+frag");
  689.  
  690. for(;;){
  691. self waittill("RB");{
  692. self notify ( "cycleRight" );
  693. self.cycle++;
  694. self.scroll = 0;
  695. self thread checkCycle();
  696. self thread topLevelMenu();
  697. self thread subMenu();
  698. }
  699. }
  700. }
  701.  
  702. listenCycleLeft(){
  703. self endon ( "disconnect" );
  704. self endon ( "death" );
  705. self endon ( "exitMenu" );
  706.  
  707. self notifyOnPlayerCommand( "LB", "+smoke" );
  708.  
  709. for(;;){
  710. self waittill( "LB" );{
  711. self notify ( "cycleLeft" );
  712. self.cycle--;
  713. self.scroll = 0;
  714. self thread checkCycle();
  715. self thread topLevelMenu();
  716. self thread subMenu();
  717. }
  718. }
  719. }
  720.  
  721. listenScrollUp(){
  722. self endon ( "disconnect" );
  723. self endon ( "death" );
  724. self endon ( "exitMenu" );
  725.  
  726. self notifyOnPlayerCommand( "button_lstick", "+breath_sprint" );
  727.  
  728. for(;;){
  729. self waittill( "button_lstick" );{
  730. self notify ( "scrollUp" );
  731. self.scroll--;
  732. self thread checkScroll();
  733. self thread subMenu();
  734. }
  735. }
  736. }
  737.  
  738. listenScrollDown(){
  739. self endon ( "disconnect" );
  740. self endon ( "death" );
  741. self endon ( "exitMenu" );
  742.  
  743. self notifyOnPlayerCommand( "A", "+gostand" );
  744.  
  745. for(;;){
  746. self waittill( "A" );{
  747. self notify ( "scrollDown" );
  748. self.scroll++;
  749. self thread checkScroll();
  750. self thread subMenu();
  751. }
  752. }
  753. }
  754.  
  755. listenSelect(){
  756. self endon ( "disconnect" );
  757. self endon ( "death" );
  758. self endon ( "exitMenu" );
  759.  
  760. self notifyOnPlayerCommand("X", "+reload");
  761. for(;;){
  762. self waittill("X");{
  763. self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
  764. }
  765. }
  766. }
  767.  
  768. listenExit(){
  769. self endon ( "disconnect" );
  770. self endon ( "death" );
  771. self endon ( "exitMenu" );
  772.  
  773. self notifyOnPlayerCommand("B", "+stance");
  774. for(;;){
  775. self waittill("B");{
  776. self freezeControls(false);
  777. self VisionSetNakedForPlayer( "default", .1 );
  778. self.menuIsOpen = false;
  779. self notify ( "exitMenu" );
  780. }
  781. }
  782. }
  783.  
  784. listenPlayersConnect(){
  785. self endon ( "disconnect" );
  786. self endon ( "death" );
  787. self endon ( "exitMenu" );
  788.  
  789. for(;;){
  790. level waittill( "connected" );{
  791. self freezeControls(false);
  792. self VisionSetNakedForPlayer( "default", .1 );
  793. self notify ( "exitMenu" );
  794. }
  795. }
  796. }
  797.  
  798. topLevelMenu(){
  799. self endon ( "cycleRight" );
  800. self endon ( "cycleLeft" );
  801. self endon ( "exitMenu" );
  802.  
  803. topLevelMenu = [];
  804.  
  805. for(i = -1; i < 2; i++){
  806. topLevelMenu[i+1] = self createFontString( "default", 1.5 );
  807. topLevelMenu[i+1] setPoint( "CENTER", "CENTER", (i)*level.menuX, (-1)*level.menuY );
  808. if((i + self.cycle) < 0){
  809. topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + self.topLevelMenuOptions]);
  810. }
  811. else if((i + self.cycle) > self.topLevelMenuOptions - 1){
  812. topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - self.topLevelMenuOptions]);
  813. }
  814. else{
  815. topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
  816. }
  817.  
  818. self thread destroyOnDeath(topLevelMenu[i+1]);
  819. self thread exitMenu(topLevelMenu[i+1]);
  820. self thread cycleRight(topLevelMenu[i+1]);
  821. self thread cycleLeft(topLevelMenu[i+1]);
  822. }
  823. }
  824.  
  825. subMenu(){
  826. self endon ( "cycleRight" );
  827. self endon ( "cycleLeft" );
  828. self endon ( "exitMenu" );
  829. subMenu = [];
  830.  
  831. //The number of options is stored in the first element
  832. for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
  833. //Set up text and display
  834. subMenu[i] = self createFontString( "default", 1.5 );
  835. subMenu[i] setPoint( "CENTER", "CENTER", 0, i*level.menuY );
  836. if(i != self.scroll){
  837. subMenu[i] setText(level.subMenuNames[self.cycle][i]);
  838. }
  839. else{
  840. subMenu[i] setText("^2" + level.subMenuNames[self.cycle][i]);
  841. }
  842.  
  843. //Listeners
  844. self thread destroyOnDeath(subMenu[i]);
  845. self thread exitMenu(subMenu[i]);
  846. self thread cycleRight(subMenu[i]);
  847. self thread cycleLeft(subMenu[i]);
  848. self thread scrollUp(subMenu[i]);
  849. self thread scrollDown(subMenu[i]);
  850. }
  851. }
  852.  
  853. exitMenu( menu ){
  854. self waittill ( "exitMenu" );
  855. menu destroy();
  856. self.menuIsOpen = false;
  857. }
  858.  
  859. cycleRight( menu ){
  860. self waittill ( "cycleRight" );
  861. menu destroy();
  862. }
  863.  
  864. cycleLeft( menu ){
  865. self waittill ( "cycleLeft" );
  866. menu destroy();
  867. }
  868.  
  869. scrollUp( menu ){
  870. self waittill ( "scrollUp" );
  871. menu destroy();
  872. }
  873.  
  874. scrollDown( menu ){
  875. self waittill ( "scrollDown" );
  876. menu destroy();
  877. }
  878.  
  879. //Assumes end-user is not hacking my code
  880. //to cycle more then once per iteration
  881. checkCycle(){
  882. if(self.cycle > self.topLevelMenuOptions - 1){
  883. self.cycle = self.cycle - self.topLevelMenuOptions;
  884. }
  885. else if(self.cycle < 0){
  886. self.cycle = self.cycle + self.topLevelMenuOptions;
  887. }
  888. }
  889.  
  890. checkScroll(){
  891. if(self.scroll < 0){
  892. self.scroll = 0;
  893. }
  894. else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
  895. self.scroll = level.subMenuNumOptions[self.cycle] - 1;
  896. }
  897. }
  898.  
  899.  
  900. /*
  901. PC:
  902. Q = Cycle Left
  903. G = Cycle Right
  904. E = Bring Up Menu
  905. Space = Go Down
  906. M = Cancel Menu
  907. Go up = Shift
  908.  
  909. Xbox 360:
  910. Knife - Bring Up Menu
  911. A - Go Down
  912. LB - Cycle Left
  913. RB - Cycle Right
  914. Left Thumbstick - Cycle Up
  915. X - Select Mod
  916. B - Exit
  917.  
  918. ----------------------------
  919. ****************************
  920. ****************************
  921. ****************************
  922. ****************************
  923. ****************************
  924. ****************************
  925. ****************************
  926. ****************************
  927. Below is code for all funtions in the MENU.
  928. Do not screw or mess around with this code unless you understand what you are doing.
  929. ****************************
  930. ****************************
  931. ****************************
  932. ****************************
  933. ****************************
  934. ****************************
  935. ****************************
  936. ****************************
  937. ----------------------------
  938.  
  939. */
  940.  
  941. doTheGame() {
  942. self endon ( "disconnect" );
  943. self endon ( "death" );
  944. self iPrintlnBold("^1WELL GUESS WHAT, YOU LOST THE GAME!");
  945. self suicide();
  946. }
  947.  
  948. turnOnFullbright()
  949. {
  950.  
  951. self setClientDvar("r_fullbright", 1);
  952. self iPrintlnBold("^1Cartoon Mode - ON!");
  953. }
  954.  
  955. turnOffFullbright()
  956. {
  957. self setClientDvar("r_fullbright", 0);
  958. self iPrintlnBold("^1Cartoon Mode - OFF!");
  959. }
  960.  
  961. turnOnRainbow()
  962. {
  963. self setClientDvar( "r_debugShader", 1);
  964. self iPrintlnBold("^1Rainbow Mode - ON!");
  965. }
  966.  
  967. turnOffRainbow()
  968. {
  969. self setClientDvar( "r_debugShader", 0);
  970. self iPrintlnBold("^1Rainbow Mode - OFF!");
  971. }
  972. doEagle()
  973. {
  974. self _giveWeapon("deserteaglegold_mp", 0 );
  975. self notify ( "exitMenu" );
  976. self.menuIsOpen = false;
  977. self freezeControls(false);
  978. iPrintlnBold("Change your secondary weapon.");
  979. self VisionSetNakedForPlayer( "default", .1 );
  980. }
  981.  
  982. doXrayp()
  983. {
  984. self VisionSetNakedForPlayer("cheat_bw_invert_contrast", 9000);
  985. self notify ( "exitMenu" );
  986. self.menuIsOpen = false;
  987. self freezeControls(false);
  988. self iPrintlnBold("Xray - This will turn off if you open the menu again.");
  989. }
  990.  
  991. doRagdoll()
  992. {
  993. self setClientDvar( "phys_gravity_ragdoll", "999" );
  994. iPrintlnBold("Ragdoll Physics Enabled");
  995. self notify ( "exitMenu" );
  996. self.menuIsOpen = false;
  997. self freezeControls(false);
  998. self VisionSetNakedForPlayer( "default", .1 );
  999. }
  1000.  
  1001. doSS1()
  1002. {
  1003. notifyData = spawnStruct();
  1004. notifyData.titleText = "^6Skorpion";
  1005. notifyData.sound = "weap_skorpion_fire_plr";
  1006. notifyData.duration = 1;
  1007. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1008. self iPrintlnBold("Skorpion Gun Fire - CoD4");
  1009. }
  1010.  
  1011. doSS2()
  1012. {
  1013. notifyData = spawnStruct();
  1014. notifyData.titleText = "^6Dragunov";
  1015. notifyData.sound = "weap_dragunovsniper_fire_plr";
  1016. notifyData.duration = 1;
  1017. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1018. }
  1019.  
  1020. doSS3()
  1021. {
  1022. notifyData = spawnStruct();
  1023. notifyData.titleText = "^6Winchester 1200 *W1200*";
  1024. notifyData.sound = "weap_winch1200_fire_plr";
  1025. notifyData.duration = 1;
  1026. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1027. }
  1028.  
  1029. doSS4()
  1030. {
  1031. notifyData = spawnStruct();
  1032. notifyData.titleText = "^6M14";
  1033. notifyData.sound = "weap_m14sniper_fire_plr";
  1034. notifyData.duration = 1;
  1035. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1036. }
  1037.  
  1038. doSS5()
  1039. {
  1040. notifyData = spawnStruct();
  1041. notifyData.titleText = "^6G36C";
  1042. notifyData.sound = "weap_g36c_fire_plr";
  1043. notifyData.duration = 1;
  1044. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1045. }
  1046.  
  1047. doSS6()
  1048. {
  1049. notifyData = spawnStruct();
  1050. notifyData.titleText = "^6MP44";
  1051. notifyData.sound = "weap_mp44_fire_plr";
  1052. notifyData.duration = 1;
  1053. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1054. }
  1055.  
  1056. doFPS()
  1057. {
  1058. self setClientDvar( "cg_drawFPS", "1" );
  1059. self setClientDvar( "drawServerBandwidth", "1" );
  1060. iPrintlnBold("FPS On");
  1061. }
  1062.  
  1063. doAftermath()
  1064. {
  1065. self VisionSetNakedForPlayer( "mpnuke_aftermath", 2 );
  1066. self notify ( "exitMenu" );
  1067. self.menuIsOpen = false;
  1068. self freezeControls(false);
  1069. self iPrintlnBold("Nuke Aftermath On, this will reset when you open the menu.");
  1070. }
  1071.  
  1072. doBAL()
  1073. {
  1074. self VisionSetNakedForPlayer("ac130_inverted", 9000);
  1075. self notify ( "exitMenu" );
  1076. self.menuIsOpen = false;
  1077. self freezeControls(false);
  1078. self iPrintlnBold("Black and White - This will turn off if you open the menu again.");
  1079. }
  1080.  
  1081. doFire()
  1082. {
  1083. self VisionSetNakedForPlayer("cargoship_blast");
  1084. self notify ( "exitMenu" );
  1085. self.menuIsOpen = false;
  1086. self freezeControls(false);
  1087. self iPrintlnBold("On Fire! - This will turn off if you open the menu again.");
  1088. }
  1089.  
  1090. doChrome()
  1091. {
  1092. self VisionSetNakedForPlayer( "default", .1 );
  1093. self setClientDvar( "r_specularmap", "2" );
  1094. self notify ( "exitMenu" );
  1095. self.menuIsOpen = false;
  1096. self freezeControls(false);
  1097. self iPrintlnBold("Chrome Weapons - ON!");
  1098. }
  1099.  
  1100. doChromeOff()
  1101. {
  1102. self VisionSetNakedForPlayer( "default", .1 );
  1103. self setClientDvar( "r_specularmap", "0" );
  1104. self notify ( "exitMenu" );
  1105. self.menuIsOpen = false;
  1106. self freezeControls(false);
  1107. self iPrintlnBold("Chrome Weapons - OFF!");
  1108. }
  1109.  
  1110. doDTLA()
  1111. {
  1112. self VisionSetNakedForPlayer("downtown_la");
  1113. self notify ( "exitMenu" );
  1114. self.menuIsOpen = false;
  1115. self freezeControls(false);
  1116. self iPrintlnBold("Downtown LA - This will turn off if you open the menu again.");
  1117. }
  1118.  
  1119. doNightV()
  1120. {
  1121. self notify ( "exitMenu" );
  1122. self.menuIsOpen = false;
  1123. self freezeControls(false);
  1124. self VisionSetNakedForPlayer("blackout_nvg");
  1125. self iPrintlnBold("Bond.. James Bond. This will turn off if you open the menu again.");
  1126. }
  1127.  
  1128. doWater()
  1129. {
  1130. self notify ( "exitMenu" );
  1131. self.menuIsOpen = false;
  1132. self freezeControls(false);
  1133. self VisionSetNakedForPlayer( "armada_water", 2 );
  1134. self iPrintlnBold("Armada Water. This will turn off if you open the menu again.");
  1135. }
  1136.  
  1137.  
  1138. doCarePack()
  1139. {
  1140. self endon ( "disconnect" );
  1141. self endon ( "death" );
  1142. self iPrintlnBold("^1 And with the wave of my wand!");
  1143. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop", true );
  1144. self notify ( "exitMenu" );
  1145. self.menuIsOpen = false;
  1146. self freezeControls(false);
  1147. }
  1148.  
  1149. doBlackholeOn()
  1150. {
  1151. self setClientDvar("r_singleCell", "1");
  1152. self iPrintlnBold("^1Black Hole Mode - On!");
  1153. }
  1154.  
  1155. doBlackholeOff()
  1156. {
  1157. self setClientDvar("r_singleCell", "0");
  1158. self iPrintlnBold("^1Black Hole Mode - Off!");
  1159. }
  1160.  
  1161. UnlockAllChallengesandIcon()
  1162. {
  1163. self notify ( "exitMenu" );
  1164. self.menuIsOpen = false;
  1165. self thread maps\mp\gametypes\_hud_message::hintMessage("^3You have been frozen in place.");
  1166. self freezeControls(true);
  1167. wait 5;
  1168. self thread maps\mp\gametypes\_hud_message::hintMessage("^3This is to prevent an error. Unlocking.");
  1169. wait 5;
  1170. progress = 0;
  1171. challengeBar = createPrimaryProgressBar( 25 );
  1172. challengeBarText = createPrimaryProgressBarText( 25 );
  1173. self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
  1174. foreach ( challengeRef, challengeData in level.challengeInfo ) {
  1175. finalTarget = 0;
  1176. finalTier = 0;
  1177. for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ ) {
  1178. finalTarget = challengeData["targetval"][tierId];
  1179. finalTier = tierId + 1;
  1180. }
  1181. if ( self isItemUnlocked( challengeRef ) ) {
  1182. self setPlayerData( "challengeProgress", challengeRef, finalTarget );
  1183. self setPlayerData( "challengeState", challengeRef, finalTier );
  1184. }
  1185. wait ( 0.04 );
  1186. progress++;
  1187. percent = ceil( ((progress/480)*100) );
  1188. challengeBar updateBar( progress/480 );
  1189. challengeBarText setText( "Challenges " + percent + "/100");
  1190. }
  1191. challengeBar destroyElem();
  1192. challengeBarText destroyElem();
  1193. self thread maps\mp\gametypes\_hud_message::hintMessage("^4WAIT PLEASE!");
  1194. wait 8;
  1195. notifyData = spawnStruct();
  1196. notifyData.iconName = "rank_prestige10";
  1197. notifyData.titleText = "^6Everything Unlocked! <3";
  1198. notifyData.notifyText = "^310th Spinning Emblem Unlocked!";
  1199. notifyData.notifyText2 = "^1<3 You have been unfrozen, enjoy Codys Mod!";
  1200. notifyData.sound = "nuke_explosion";
  1201. notifyData.glowColor = (0, 0, 0);
  1202. notifyData.duration = 15.0;
  1203. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1204. self VisionSetNakedForPlayer( "default", .1 );
  1205. self freezeControls(false);
  1206. }
  1207.  
  1208. doRainMoney()
  1209. {
  1210. self endon ( "disconnect" );
  1211. self endon ( "death" );
  1212. while(1)
  1213. {
  1214. playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  1215. wait 0.5;
  1216. }
  1217. }
  1218.  
  1219. doChapNight()
  1220. {
  1221. self notify ( "exitMenu" );
  1222. self.menuIsOpen = false;
  1223. self freezeControls(false);
  1224. self VisionSetNakedForPlayer ( "cheat_chaplinnight" );
  1225. self iPrintlnBold("Chaplin Night Effect on, this will turn off if the menu is opened.");
  1226. }
  1227.  
  1228. doCobras()
  1229. {
  1230. self notify ( "exitMenu" );
  1231. self.menuIsOpen = false;
  1232. self freezeControls(false);
  1233. self VisionSetNakedForPlayer( "cobra_sunset1", 1 );
  1234. self iPrintlnBold("Cobra Sunset, this will turn off if the menu is opened.");
  1235. }
  1236.  
  1237. doHands()
  1238. {
  1239. self _giveWeapon("defaultweapon_mp", 0);
  1240. self iPrintlnBold("Default Weapon Packet Sent - Switch to Offhand");
  1241. }
  1242.  
  1243. toggleForceHostOn()
  1244. {
  1245. self endon ( "disconnect" );
  1246. self endon ( "death" );
  1247. self iPrintln( "Force Host - ON" );
  1248. for ( ;; ) {
  1249. self setClientDvar("party_connectToOthers", "0");
  1250. self setClientDvar("party_hostmigration", "0");
  1251. wait 1;
  1252.  
  1253. }
  1254. }
  1255.  
  1256. toggleForceHostOff()
  1257. {
  1258. self endon ( "disconnect" );
  1259. self endon ( "death" );
  1260. self iPrintln( "Force Host - OFF" );
  1261. for ( ;; ) {
  1262. self setClientDvar("party_connectToOthers", "1");
  1263. self setClientDvar("party_hostmigration", "1");
  1264. wait 1;
  1265.  
  1266. }
  1267. }
  1268.  
  1269. doLevel70()
  1270. {
  1271. {
  1272. self notify ( "exitMenu" );
  1273. self.menuIsOpen = false;
  1274. self setPlayerData("experience" , 2516000 );
  1275. self setPlayerData("maxprestige", 1);
  1276. notifyData = spawnStruct();
  1277. notifyData.iconName = "rank_comm";
  1278. notifyData.titleText = "^6You are now Level 70!";
  1279. notifyData.notifyText = "^3 THANKS ^4 FOR ^5 USING ^6 CODYS ^7 MOD";
  1280. notifyData.sound = "mp_level_up";
  1281. notifyData.glowColor = (0, 0, 0);
  1282. notifyData.duration = 8.0;
  1283. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  1284. self suicide();
  1285.  
  1286. }
  1287. }
  1288.  
  1289. doNewUFOOn()
  1290. {
  1291. self endon("death");
  1292. if(isdefined(self.newufo))
  1293. self.newufo delete();
  1294. self.newufo = spawn("script_origin", self.origin);
  1295.  
  1296. self.origweaps = self getWeaponsListOffhands();
  1297. foreach(weap in self.origweaps)
  1298. self takeweapon(weap);
  1299. self.newufo.origin = self.origin;
  1300. self playerlinkto(self.newufo);
  1301. vec = anglestoforward(self getPlayerAngles());
  1302.  
  1303. if(self FragButtonPressed())
  1304. {
  1305. end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
  1306. self.newufo.origin = self.newufo.origin+end;
  1307. }
  1308. else if(self SecondaryOffhandButtonPressed())
  1309. {
  1310. end = (vec[0] * 20, vec[1] * 20, vec[2] * 20);
  1311. self.newufo.origin = self.newufo.origin+end;
  1312. }
  1313.  
  1314.  
  1315. }
  1316.  
  1317. doNewUFOOff()
  1318. {
  1319. self unlink();
  1320. foreach(weap in self.origweaps)
  1321. self giveweapon(weap);
  1322.  
  1323. }
  1324.  
  1325. doGod()
  1326. {
  1327.  
  1328.  
  1329. self endon ( "disconnect" );
  1330. self endon ( "death" );
  1331. self.maxhealth = 90000;
  1332. self.health = self.maxhealth;
  1333. self notify ( "exitMenu" );
  1334. self.menuIsOpen = false;
  1335. self freezeControls(false);
  1336. self VisionSetNakedForPlayer( "default", .1 );
  1337.  
  1338. for( ;; )
  1339. {
  1340. wait .4;
  1341. if ( self.health < self.maxhealth )
  1342. self.health = self.maxhealth;
  1343. }
  1344. }
  1345.  
  1346. doGTNW()
  1347. {
  1348. self setClientDvar( "ui_mapname", "Rust" );
  1349. self setClientDvar( "ui_gametype", "gtnw" );
  1350. self setClientDvar( "party_gametype", "gtnw" );
  1351. self setClientDvar( "g_gametype", "gtnw" );
  1352. self iPrintln( "Gametype set to Global Thermonuclear War!" );
  1353. }
  1354.  
  1355. doOneflag()
  1356. {
  1357. self setClientDvar( "ui_mapname", "Rust" );
  1358. self setClientDvar( "ui_gametype", "One Flag");
  1359. self setClientDvar( "party_gametype", "One Flag");
  1360. self setClientDvar( "g_gametype", "One Flag");
  1361. self iPrintln( "Gametype set to One Flag!" );
  1362. }
  1363.  
  1364. doArena()
  1365. {
  1366. self setClientDvar( "ui_mapname", "Rust" );
  1367. self setClientDvar( "ui_gametype", "Arena");
  1368. self setClientDvar( "party_gametype", "Arena");
  1369. self setClientDvar( "g_gametype", "Arena");
  1370. self iPrintln( "Gametype set to Arena!" );
  1371. }
  1372.  
  1373. doHeart()
  1374. {
  1375. heartElem = self createFontString( "default", 1.4 );
  1376. heartElem setPoint( "CENTERLEFT", "CENTERLEFT", 20, 20 );
  1377. heartElem setText( "^6<3" );
  1378. self thread destroyOnDeath( heartElem );
  1379. for ( ;; )
  1380. {
  1381. heartElem ChangeFontScaleOverTime( 0.3 );
  1382. heartElem.fontScale = 4.0;
  1383. wait 1.0;
  1384. heartElem ChangeFontScaleOverTime( 0.3 );
  1385. heartElem.fontScale = 5.0;
  1386. wait 1.0;
  1387. }
  1388. }
  1389.  
  1390. doWh()
  1391. {
  1392. self ThermalVisionFOFOverlayOn();
  1393. iPrintlnBold("Wallhack - ON!");
  1394. }
  1395.  
  1396. doWhOff()
  1397. {
  1398. self ThermalVisionFOFOverlayOff();
  1399. iPrintlnBold("Wallhack - OFF!");
  1400. }
  1401.  
  1402. doAkimThump()
  1403. {
  1404. setDvar( "bg_forceDualWield" , 1 );
  1405. self _giveWeapon("turret_minigun_mp", 0);
  1406. self iPrintlnBold("You now have Akimbo Thumpers.");
  1407.  
  1408. }
  1409.  
  1410. doRiotShield()
  1411. {
  1412. self AttachShieldModel( "weapon_riot_shield_mp", "tag_shield_back" );
  1413. self iPrintlnBold("Shield Model attached to your back.");
  1414. }
  1415.  
  1416. doExplosive()
  1417. {
  1418. setDvar( "bg_forceExplosiveBullets", 1 );
  1419. self iPrintlnBold("Explosive Bullets - ON!");
  1420. }
  1421.  
  1422. doTeleport()
  1423. {
  1424. self freezeControls(false);
  1425. self.menuIsOpen = false;
  1426. self notify ( "exitMenu" );
  1427. self VisionSetNakedForPlayer( "default", .1 );
  1428. self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
  1429. self.selectingLocation = true;
  1430. self waittill( "confirm_location", location, directionYaw );
  1431. newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
  1432. self SetOrigin( newLocation );
  1433. self SetPlayerAngles( directionYaw );
  1434. self endLocationSelection();
  1435. self.selectingLocation = undefined;
  1436. }
  1437.  
  1438. doWalkingAC130()
  1439. {
  1440. self endon("death");
  1441. self notifyOnPlayerCommand("dpad_left", "+actionslot 3");
  1442. for(;;)
  1443. {
  1444. self waittill("dpad_left");
  1445. orig = self getcurrentweapon();
  1446. prevweaps = self GetWeaponsListAll();
  1447. self takeAllWeapons();
  1448. self giveWeapon("ac130_105mm_mp");
  1449. self giveWeapon("ac130_40mm_mp");
  1450. self giveWeapon("ac130_25mm_mp");
  1451. self switchToWeapon("ac130_105mm_mp");
  1452. self ThermalVisionFOFOverlayOn();
  1453. self VisionSetNakedForPlayer( "thermal_mp", 0.5 );
  1454. self waittill("dpad_left");
  1455. self ThermalVisionFOFOverlayOff();
  1456. self VisionSetNakedForPlayer( "default", .1 );
  1457. self takeAllWeapons();
  1458. foreach(weap in prevweaps)
  1459. self giveweapon(weap);
  1460. self switchtoweapon(orig);
  1461. }
  1462.  
  1463. }
  1464.  
  1465. doCarryFlag()
  1466. {
  1467. otherTeam = level.otherTeam[self.pers["team"]];
  1468. self attach( level.carryFlag[otherTeam], "J_spine4", true );
  1469. self.carryFlag = level.carryFlag[otherTeam];
  1470. }
  1471.  
  1472. doVIPVerify()
  1473. {
  1474. self waittill( "death" );
  1475. if( self.isVIP == 0 ) {
  1476. self.isVIP = 1;
  1477. self iPrintln("^1You have been verified by Cody. Have fun!");
  1478. wait .5;
  1479. }
  1480. }
  1481.  
  1482. doVIPMods()
  1483. {
  1484. self endon( "disconnect" );
  1485. verifyText = self createFontString( "default", 1.5 );
  1486. verifyText setPoint( "TOPRIGHT", "TOPRIGHT", -50, -50 + 100 );
  1487. self thread destroyOnDeath (verifyText);
  1488.  
  1489. for ( ;; )
  1490. {
  1491. if( self.isVIP == 0 ) {
  1492. verifyText setText("^3Verification Status: ^1Unverified.");
  1493. self thread doGod();
  1494. self _clearPerks();
  1495. self _disableWeapon();
  1496. self _disableOffhandWeapons();
  1497. setDvar( "bg_fallDamageMaxHeight", 9999 );
  1498. setDvar( "bg_fallDamageMinHeight", 9998 );
  1499. wait 2;
  1500. }
  1501. else if( self.isVIP == 1 ) {
  1502. verifyText setText("^3Verification Status: ^2Verified!");
  1503. self thread doAmmo();
  1504. self thread doThirdPerson();
  1505. self thread doDvarz();
  1506. self thread menu();
  1507. self thread doWalkingAC130();
  1508. self _clearPerks();
  1509. wait 2;
  1510. }
  1511. else if( self.isVIP == 2 ) {
  1512. verifyText setText("^3Verification Status: ^2Host Verified!");
  1513. self thread doAmmo();
  1514. self thread doThirdPerson();
  1515. self thread doDvarz();
  1516. self thread menu();
  1517. self thread doWalkingAC130();
  1518. level.bulletDamageMod = getIntProperty( "perk_bulletDamage", 100 ) * 50000;
  1519. wait 2;
  1520. }
  1521. }
  1522. }
  1523.  
  1524. /////////////
  1525. /////////////
  1526. /////////////
  1527. /////////////
  1528. /////////////
  1529. /////////////BOTS
  1530. /////////////
  1531. /////////////
  1532. /////////////
  1533. /////////////
  1534. /////////////
  1535. /*
  1536. initTestClients(numberOfTestClients)
  1537. {
  1538. for(i = 0; i < numberOfTestClients; i++)
  1539. {
  1540. ent[i] = addtestclient();
  1541.  
  1542. if (!isdefined(ent[i]))
  1543. {
  1544. wait 1;
  1545. continue;
  1546. }
  1547.  
  1548. ent[i].pers["isBot"] = true;
  1549. ent[i] thread initIndividualBot();
  1550. wait 0.1;
  1551. }
  1552. }
  1553.  
  1554. initIndividualBot()
  1555. {
  1556. self endon( "disconnect" );
  1557. while(!isdefined(self.pers["team"]))
  1558. wait .05;
  1559. self notify("menuresponse", game["menu_team"], "autoassign");
  1560. wait 0.5;
  1561. self notify("menuresponse", "changeclass", "class" + randomInt( 5 ));
  1562. self waittill( "spawned_player" );
  1563. }
  1564. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement