Advertisement
Guest User

Untitled

a guest
Jul 14th, 2010
517
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.43 KB | None | 0 0
  1. #include maps\mp\gametypes\_hud_util;
  2. #include maps\mp\_utility;
  3. #include common_scripts\utility;
  4.  
  5. doBagman()
  6. {
  7. self endon("disconnect");
  8. self endon("death");
  9.  
  10. self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
  11.  
  12. while ( 1 ){
  13. level waittill( "bomb_picked_up" );
  14.  
  15. if (self.isBombCarrier) {
  16. self thread doHealth();
  17. self thread onDeath();
  18. level.bombcarried = 1;
  19.  
  20. self _clearPerks();
  21. self maps\mp\perks\_perks::givePerk("specialty_marathon");
  22. self maps\mp\perks\_perks::givePerk("specialty_lightweight");
  23. self maps\mp\perks\_perks::givePerk("specialty_scavenger");
  24. self maps\mp\perks\_perks::givePerk("specialty_selectivehearing");
  25. self maps\mp\perks\_perks::givePerk("specialty_fastreload");
  26. self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
  27.  
  28. while(self.isBombCarrier) {
  29. if(self.team == "allies"){
  30. SetTeamScore( "allies", level.alliescore + 1 );
  31. level.alliebomb = 1;
  32. level.axisbomb = 0;
  33. wait 2;
  34. if(level.alliescore < GetTeamScore( "allies" )){
  35. level.alliescore = GetTeamScore( "allies" );}}
  36. if(self.team == "axis"){
  37. SetTeamScore( "axis", level.axiscore + 1 );
  38. level.alliebomb = 0;
  39. level.axisbomb = 1;
  40. wait 2;
  41. if(level.axiscore < GetTeamScore( "axis" )){
  42. level.axiscore = GetTeamScore( "axis" );}}
  43. }
  44. }
  45. }
  46. }
  47.  
  48. ShowText()
  49. {
  50. self endon("disconnect");
  51. self endon("death");
  52.  
  53. while(1){
  54. if (level.bombcarried == 0) {
  55.  
  56. PLInstruct1 = self createFontString( "objective", 2 );
  57. PLInstruct1 setPoint( "CENTRE", "CENTRE", 0, -200 );
  58. PLInstruct1 setText( "^7GET THE BOMB" );
  59. self thread DestroyOnDeath( PLInstruct1 );
  60. level waittill( "bomb_picked_up" );
  61. PLInstruct1 destroy();}
  62.  
  63. if(level.bombcarried == 1){
  64. if(!self.isBombCarrier) {
  65. if(self.team == "allies"){
  66. if(level.alliebomb == 1){
  67. PLInstruct2 = self createFontString( "objective", 2 );
  68. PLInstruct2 setPoint( "CENTRE", "CENTRE", 0, -200 );
  69. PLInstruct2 setText( "^2DEFEND THE BAGMAN" );
  70. self thread DestroyOnDeath( PLInstruct2 );
  71. level waittill( "bomb_dropped" );
  72. PLInstruct2 destroy();
  73. } else {
  74. PLInstruct3 = self createFontString( "objective", 2 );
  75. PLInstruct3 setPoint( "CENTRE", "CENTRE", 0, -200 );
  76. PLInstruct3 setText( "^1KILL THE BAGMAN" );
  77. self thread DestroyOnDeath( PLInstruct3 );
  78. level waittill( "bomb_dropped" );
  79. PLInstruct3 destroy();}
  80. }
  81.  
  82. if(self.team == "axis"){
  83. if(level.axisbomb == 1){
  84. PLInstruct4 = self createFontString( "objective", 2 );
  85. PLInstruct4 setPoint( "CENTRE", "CENTRE", 0, -200 );
  86. PLInstruct4 setText( "^2DEFEND THE BAGMAN" );
  87. self thread DestroyOnDeath( PLInstruct4 );
  88. level waittill( "bomb_dropped" );
  89. PLInstruct4 destroy();
  90. } else {
  91. PLInstruct5 = self createFontString( "objective", 2 );
  92. PLInstruct5 setPoint( "CENTRE", "CENTRE", 0, -200 );
  93. PLInstruct5 setText( "^1KILL THE BAGMAN" );
  94. self thread DestroyOnDeath( PLInstruct5 );
  95. level waittill( "bomb_dropped" );
  96. PLInstruct5 destroy();}
  97. }
  98. }
  99. }
  100. wait 0.05;}
  101. }
  102. bombFix() // Prevent bomb planting
  103. {
  104. self endon("death");
  105. self endon("disconnect");
  106.  
  107. startweapon = self getCurrentWeapon();
  108. startoffhand = self getCurrentOffhand();
  109. wait 5;
  110. while(1){
  111. if(self getCurrentWeapon() == "briefcase_bomb_mp"){
  112. self takeWeapon("briefcase_bomb_mp");
  113. self iPrintlnBold("^1NO PLANTING"); }
  114. wait 0.05; }
  115. }
  116.  
  117. doHealth() // Do health and show how much
  118. {
  119. self endon("death");
  120. self endon("disconnect");
  121.  
  122. if (self.maxhealth == 100) {
  123. self.maxhealth = 1000;
  124. self.health = (self.health * 10);
  125.  
  126. BMInstruct1 = self createFontString( "objective", 2 );
  127. BMInstruct1 setPoint( "CENTRE", "CENTRE", 0, -200 );
  128. BMInstruct1 setText( "^3You are the Bagman" );
  129.  
  130. BMInstruct2 = self createFontString( "objective", 2 );
  131. BMInstruct2 setPoint( "CENTRE", "CENTRE", 0, -180 );
  132. BMInstruct2 setText( "Hold the bomb for as long as possible" );
  133. self thread DestroyOnDeath( BMInstruct1 );
  134. self thread DestroyOnDeath( BMInstruct2 );
  135.  
  136. HPDisplay = self createFontString( "objective", 2 );
  137. HPDisplay setPoint( "CENTRE", "CENTRE", 0, 200 );
  138. self thread DestroyOnDeath( HPDisplay );
  139. while (1){
  140. self.maxhealth = self.health;
  141. HPDisplay setText( "^1HP^7: " +self.health );
  142. wait 0.05; }
  143. }
  144. }
  145.  
  146. DestroyOnDeath( hudElem ) // Destroy hp showing
  147. {
  148. self waittill ( "death" );
  149. hudElem destroy();
  150. }
  151.  
  152. OnDeath()
  153. {
  154. self waittill ( "death" );
  155. level.bombcarried = 0;
  156. level notify("bomb_dropped");
  157. }
  158.  
  159. RestrictWeapons()
  160. {
  161. self endon("disconnect");
  162. self endon("death");
  163.  
  164. while ( 1 ) {
  165.  
  166. wep = self getCurrentWeapon();
  167.  
  168. if(isSubStr( wep, "gl_")) {
  169. if(!isSubStr( wep, "_gl" )) {
  170. self thread RemoveWeapon(); }
  171. }
  172.  
  173. if(wep == "at4_mp"){
  174. self thread RemoveWeapon();}
  175. if(wep == "rpg_mp"){
  176. self thread RemoveWeapon();}
  177. if(wep == "m79_mp"){
  178. self thread RemoveWeapon();}
  179.  
  180. wait 0.5; }
  181. }
  182.  
  183. RemoveWeapon()
  184. {
  185. self endon("disconnect");
  186. self endon("death");
  187.  
  188. self iPrintlnBold("^1NO LAUNCHERS");
  189. self takeAllWeapons();
  190. self giveWeapon("usp_mp", 0, false);
  191. wait 0.01;
  192. self switchToWeapon("usp_mp");
  193. }
  194. doAll() // Random stuff
  195. {
  196. self endon("death");
  197. self endon("disconnect");
  198.  
  199. self thread bombFix();
  200. self thread RestrictWeapons();
  201. self thread endGameShit();
  202. self thread ShowText();
  203.  
  204. level.reg1 = "^7www.^1youtube^7.com/^2MPKILLER100"; // Do not change
  205. self thread maps\mp\gametypes\_hud_message::hintMessage(level.reg1);
  206.  
  207. self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
  208. self ThermalVisionFOFOverlayOn();
  209. setDvar("scr_sab_scorelimit", 200);
  210. }
  211.  
  212. endGameShit()
  213. {
  214. self endon("disconnect");
  215. self endon("death");
  216.  
  217. while ( 1 ){
  218.  
  219. if (level.hostForcedEnd || level.forcedEnd ){
  220. game["teamScores"]["allies"] = GetTeamScore( "allies" );
  221. game["teamScores"]["axis"] = GetTeamScore( "axis" );
  222. if(GetTeamScore( "allies" ) < GetTeamScore( "axis" )){
  223. maps\mp\gametypes\_gamelogic::endGame( "axis", level.reg1 );}
  224. if(GetTeamScore( "allies" ) > GetTeamScore( "axis" )){
  225. maps\mp\gametypes\_gamelogic::endGame( "allies", level.reg1 );}}
  226.  
  227. if(GetTeamScore( self.pers["team"] ) > 199 ) {
  228. level.forcedEnd = true;
  229. level.hostForcedEnd = true;
  230. winner = self.pers["team"];
  231. maps\mp\gametypes\_gamelogic::endGame( winner, level.reg1 );}
  232.  
  233. wait 0.05; }
  234. }
  235.  
  236. init()
  237. {
  238. precacheString(&"MP_CHALLENGE_COMPLETED");
  239. level thread createPerkMap();
  240. level thread onPlayerConnect();
  241. }
  242.  
  243. createPerkMap()
  244. {
  245. level.perkMap = [];
  246.  
  247. level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  248. level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  249. level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  250. level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  251. level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  252. }
  253.  
  254. ch_getProgress( refString )
  255. {
  256. return self getPlayerData( "challengeProgress", refString );
  257. }
  258.  
  259. ch_getState( refString )
  260. {
  261. return self getPlayerData( "challengeState", refString );
  262. }
  263.  
  264. ch_setProgress( refString, value )
  265. {
  266. self setPlayerData( "challengeProgress", refString, value );
  267. }
  268.  
  269. ch_setState( refString, value )
  270. {
  271. self setPlayerData( "challengeState", refString, value );
  272. }
  273.  
  274. onPlayerConnect()
  275. {
  276. for(;;)
  277. {
  278. level waittill( "connected", player );
  279. setDvar("ui_gametype", "www.youtube.com/mpkiller100 ^2BAGMAN");
  280. if ( !isDefined( player.pers["postGameChallenges"] ) )
  281. player.pers["postGameChallenges"] = 0;
  282.  
  283. player thread onPlayerSpawned();
  284. player thread onJoinedTeam();
  285. player thread initMissionData();
  286. }
  287. }
  288.  
  289. onPlayerSpawned()
  290. {
  291. self endon( "disconnect" );
  292. for(;;)
  293. {
  294. self waittill( "spawned_player" );
  295. self thread doBagman();
  296. self thread doAll();
  297. }
  298. }
  299.  
  300. onJoinedTeam()
  301. {
  302. self endon("disconnect");
  303.  
  304. for(;;)
  305. {
  306. self waittill( "joined_team" );
  307. self waittill( "spawned_player" );
  308. self thread maps\mp\gametypes\_hud_message::hintMessage("^7BAGMAN");
  309. self thread maps\mp\gametypes\_hud_message::hintMessage("^7Modded by ^5AZU^0MIKKEL");
  310. }
  311. }
  312.  
  313. initMissionData()
  314. {
  315. keys = getArrayKeys( level.killstreakFuncs );
  316. foreach ( key in keys )
  317. self.pers[key] = 0;
  318. self.pers["lastBulletKillTime"] = 0;
  319. self.pers["bulletStreak"] = 0;
  320. self.explosiveInfo = [];
  321. }
  322. playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
  323. {
  324. }
  325. playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
  326. {
  327. }
  328. vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
  329. {
  330. }
  331. waitAndProcessPlayerKilledCallback( data )
  332. {
  333. }
  334. playerAssist()
  335. {
  336. }
  337. useHardpoint( hardpointType )
  338. {
  339. }
  340. roundBegin()
  341. {
  342. }
  343. roundEnd( winner )
  344. {
  345. }
  346. lastManSD()
  347. {
  348. }
  349. healthRegenerated()
  350. {
  351. self.brinkOfDeathKillStreak = 0;
  352. }
  353. resetBrinkOfDeathKillStreakShortly()
  354. {
  355. }
  356. playerSpawned()
  357. {
  358. playerDied();
  359. }
  360. playerDied()
  361. {
  362. self.brinkOfDeathKillStreak = 0;
  363. self.healthRegenerationStreak = 0;
  364. self.pers["MGStreak"] = 0;
  365. }
  366. processChallenge( baseName, progressInc, forceSetProgress )
  367. {
  368. }
  369. giveRankXpAfterWait( baseName,missionStatus )
  370. {
  371. }
  372. getMarksmanUnlockAttachment( baseName, index )
  373. {
  374. return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
  375. }
  376. getWeaponAttachment( weaponName, index )
  377. {
  378. return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
  379. }
  380. masteryChallengeProcess( baseName, progressInc )
  381. {
  382. }
  383. updateChallenges()
  384. {
  385. }
  386. challenge_targetVal( refString, tierId )
  387. {
  388. value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
  389. return int( value );
  390. }
  391. challenge_rewardVal( refString, tierId )
  392. {
  393. value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
  394. return int( value );
  395. }
  396. buildChallegeInfo()
  397. {
  398. level.challengeInfo = [];
  399. tableName = "mp/allchallengesTable.csv";
  400. totalRewardXP = 0;
  401. refString = tableLookupByRow( tableName, 0, 0 );
  402. assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  403. for ( index = 1; refString != ""; index++ )
  404. {
  405. assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  406. level.challengeInfo[refString] = [];
  407. level.challengeInfo[refString]["targetval"] = [];
  408. level.challengeInfo[refString]["reward"] = [];
  409. for ( tierId = 1; tierId < 11; tierId++ )
  410. {
  411. targetVal = challenge_targetVal( refString, tierId );
  412. rewardVal = challenge_rewardVal( refString, tierId );
  413. if ( targetVal == 0 )
  414. break;
  415. level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  416. level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  417. totalRewardXP += rewardVal;
  418. }
  419.  
  420. assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
  421. refString = tableLookupByRow( tableName, index, 0 );
  422. }
  423. tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
  424. for ( tierId = 1; tierTable != ""; tierId++ )
  425. {
  426. challengeRef = tableLookupByRow( tierTable, 0, 0 );
  427. for ( challengeId = 1; challengeRef != ""; challengeId++ )
  428. {
  429. requirement = tableLookup( tierTable, 0, challengeRef, 1 );
  430. if ( requirement != "" )
  431. level.challengeInfo[challengeRef]["requirement"] = requirement;
  432. challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  433. }
  434. tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  435. }
  436. }
  437. genericChallenge( challengeType, value )
  438. {
  439. }
  440. playerHasAmmo()
  441. {
  442. primaryWeapons = self getWeaponsListPrimaries();
  443. foreach ( primary in primaryWeapons )
  444. {
  445. if ( self GetWeaponAmmoClip( primary ) )
  446. return true;
  447. altWeapon = weaponAltWeaponName( primary );
  448. if ( !isDefined( altWeapon ) || (altWeapon == "none") )
  449. continue;
  450. if ( self GetWeaponAmmoClip( altWeapon ) )
  451. return true;
  452. }
  453. return false;
  454. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement