Advertisement
Guest User

zzz

a guest
Oct 22nd, 2010
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\mp\_utility;
  3.  
  4. /*
  5. NUKE IS REPLACED, IT WILL NOW BE CALLED "ANTI-ZOMBIE-JERMS"
  6. */
  7.  
  8. init()
  9. {
  10. precacheItem( "nuke_mp" );
  11. precacheLocationSelector( "map_nuke_selector" );
  12. precacheString( game["strings"]["nuclear_strike_2nd"] );
  13. precacheString( game["strings"]["OUR_WILL_WIPE"] );
  14. precacheString( game["strings"]["nuclear_strike_2nd"] );
  15.  
  16. level._effect[ "nuke_player" ] = loadfx( "explosions/player_death_nuke" );
  17. level._effect[ "nuke_flash" ] = loadfx( "explosions/player_death_nuke_flash" );
  18. level._effect[ "cloud" ] = loadfx( "explosions/emp_flash_mp" );
  19.  
  20. game["strings"]["nuclear_strike"] = game["strings"]["nuclear_strike_2nd"];
  21.  
  22. level.killstreakFuncs["nuke"] = ::tryUseNuke;
  23.  
  24. setDvarIfUninitialized( "scr_nukeTimer", 10 );
  25. setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
  26.  
  27. level.nukeTimer = getDvarInt( "scr_nukeTimer" );
  28. level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
  29. }
  30.  
  31. tryUseNuke( lifeId )
  32. {
  33. self iPrintLnBold( game["nukes"]["NUKE_REMOVED"] );
  34. self thread callBomber();
  35. }
  36.  
  37. delaythread_nuke( delay, func )
  38. {
  39. level endon ( "nuke_cancelled" );
  40.  
  41. wait ( delay );
  42.  
  43. thread [[ func ]]();
  44. }
  45.  
  46. endSelectionOn( waitfor )
  47. {
  48. self endon( "stop_location_selection" );
  49. self waittill( waitfor );
  50. self thread stopNukeLocationSelection( (waitfor == "disconnect") );
  51. }
  52.  
  53. endSelectionOnGameEnd()
  54. {
  55. self endon( "stop_location_selection" );
  56. level waittill( "game_ended" );
  57. self thread stopNukeLocationSelection( false );
  58. }
  59.  
  60. stopNukeLocationSelection( disconnected )
  61. {
  62. if ( !disconnected )
  63. {
  64. self setblurforplayer( 0, 0.3 );
  65. self endLocationSelection();
  66. self.selectingLocation = undefined;
  67. }
  68. self notify( "stop_location_selection" );
  69. }
  70.  
  71. callBomber() // kind of powerful zombie killer
  72. {
  73. owner = self;
  74. b0mber = spawn("script_model", (15000, 0, 2300) );
  75. b0mber setModel( "vehicle_ac130_low_mp" );
  76. b0mber.angles = (0, 180, 0);
  77. b0mber playLoopSound( "veh_ac130_dist_loop" );
  78. b0mber MoveTo( (-15000, 0, 2300), 40 );
  79. b0mber.owner = owner;
  80. b0mber.killCamEnt = owner;
  81. owner thread removeObjectAfter(b0mber, 40, "zombie_jet_died");
  82. foreach(player in level.players)
  83. {
  84. if(player != owner)
  85. player thread antiZombieJet(b0mber, owner, player);
  86. wait 0.3;
  87. }
  88. }
  89.  
  90. removeObjectAfter(obj, time, reason)
  91. {
  92. wait time;
  93. obj delete();
  94. self notify(reason);
  95. }
  96.  
  97. antiZombieJet(b0mber, owner, victim)
  98. {
  99. victim endon("zombie_jet_died");
  100. while(1)
  101. {
  102. MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
  103. wait 0.43;
  104. MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
  105. wait 0.43;
  106. MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
  107. wait 0.43;
  108. MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
  109. wait 0.43;
  110. MagicBullet( "ac130_40mm_mp", b0mber.origin, victim.origin, owner );
  111. wait 5.43;
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement