Advertisement
Guest User

Untitled

a guest
Sep 29th, 2010
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. #include maps\mp\_utility;
  2. #include maps\mp\gametypes\_hud_util;
  3. #include common_scripts\utility;
  4.  
  5. init()
  6. {
  7. level.killStreakFuncs["auto_shotgun"] = ::tryUseAutoShotgun;
  8. level.killstreakSetupFuncs["auto_shotgun"] = ::shotgunSetup;
  9.  
  10. level.killStreakFuncs["thumper"] = ::tryUseThumper;
  11. level.killstreakSetupFuncs["thumper"] = ::thumperSetup;
  12.  
  13. thread onPlayerConnect();
  14. }
  15.  
  16.  
  17. shotgunSetup()
  18. {
  19. self giveMaxAmmo( "aa12_mp" );
  20.  
  21. self thread saveWeaponAmmoOnDeath( "aa12_mp" );
  22. }
  23.  
  24.  
  25. tryUseAutoShotgun( lifeId )
  26. {
  27. self thread removeWeaponOnOutOfAmmo( "aa12_mp" );
  28. return true;
  29. }
  30.  
  31.  
  32. thumperSetup()
  33. {
  34. self giveMaxAmmo( "m79_mp" );
  35.  
  36. self thread saveWeaponAmmoOnDeath( "m79_mp" );
  37. }
  38.  
  39.  
  40. tryUseThumper()
  41. {
  42. self thread removeWeaponOnOutOfAmmo( "m79_mp" );
  43. return true;
  44. }
  45.  
  46.  
  47. onPlayerConnect()
  48. {
  49. for(;;)
  50. {
  51. level waittill( "connected", player );
  52.  
  53. player thread onPlayerSpawned();
  54. }
  55. }
  56.  
  57.  
  58. onPlayerSpawned()
  59. {
  60. self endon( "disconnect" );
  61.  
  62. for(;;)
  63. {
  64. self waittill( "spawned_player" );
  65.  
  66. if ( !isDefined( self.pers["ksWeapon_clip_ammo"] ) || !isDefined( self.pers["ksWeapon_name"] ) )
  67. continue;
  68.  
  69. weaponName = self.pers["ksWeapon_name"];
  70.  
  71. if ( isDefined( self.pers["killstreak"] ) && maps\mp\killstreaks\_killstreaks::getKillstreakWeapon( self.pers["killstreak"] ) != weaponName )
  72. {
  73. self.pers["ksWeapon_name"] = undefined;
  74. self.pers["ksWeapon_clip_ammo"] = undefined;
  75. self.pers["ksWeapon_stock_ammo"] = undefined;
  76. continue;
  77. }
  78.  
  79. self maps\mp\killstreaks\_killstreaks::giveKillstreakWeapon( weaponName );
  80.  
  81. self setWeaponAmmoStock( weaponName, self.pers["ksWeapon_stock_ammo"] );
  82. self setWeaponAmmoClip( weaponName, self.pers["ksWeapon_clip_ammo"] );
  83.  
  84. self thread removeWeaponOnOutOfAmmo( weaponName );
  85. self thread saveWeaponAmmoOnDeath( weaponName );
  86. }
  87. }
  88.  
  89. saveWeaponAmmoOnDeath( weaponName )
  90. {
  91. self endon ( "disconnect" );
  92. self endon ( "got_killstreak" );
  93.  
  94. self notify( "saveWeaponAmmoOnDeath" );
  95. self endon( "saveWeaponAmmoOnDeath" );
  96.  
  97. self.pers["ksWeapon_name"] = undefined;
  98. self.pers["ksWeapon_clip_ammo"] = undefined;
  99. self.pers["ksWeapon_stock_ammo"] = undefined;
  100.  
  101. self waittill ( "death" );
  102.  
  103. if ( !self hasWeapon( weaponName ) )
  104. return;
  105.  
  106. self.pers["ksWeapon_name"] = weaponName;
  107. self.pers["ksWeapon_clip_ammo"] = self getWeaponAmmoClip( weaponName );
  108. self.pers["ksWeapon_stock_ammo"] = self getWeaponAmmoStock( weaponName );
  109. }
  110.  
  111.  
  112. removeWeaponOnOutOfAmmo( weaponName )
  113. {
  114. self endon ( "disconnect" );
  115. self endon ( "death" );
  116.  
  117. self notify( weaponName + "_ammo_monitor" );
  118. self endon( weaponName + "_ammo_monitor" );
  119.  
  120. while( 1 )
  121. {
  122. self waittill ( "end_firing" );
  123.  
  124. if ( self getCurrentWeapon() != weaponName )
  125. continue;
  126.  
  127. total_ammo = self getWeaponAmmoClip( weaponName ) + self getWeaponAmmoStock( weaponName );
  128. if ( total_ammo )
  129. continue;
  130.  
  131. self takeWeapon( weaponName );
  132. return;
  133. }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement