Guest User

RTD By Darmuh / Star

a guest
Jan 9th, 2014
770
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 23.03 KB | None | 0 0
  1. /*
  2.  
  3.     Plugin:             RTD
  4.     Version:        1.3
  5.     Requirement:    -
  6.     Author:            Star & Darmuh
  7.     XFire:            rohit901 & irRoy8
  8.     Homepage:        -
  9.     Date:            02.02.2013
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16. */
  17.  
  18.  
  19.  
  20.  
  21.  
  22. init( modVersion )
  23. {
  24.  
  25. PreCacheItem("brick_blaster_mp");
  26. PreCacheItem("saw_mp");
  27. preCacheItem("c4_mp");
  28. precacheitem("m16_mp");
  29. PreCacheShellShock( "damage_mp" );
  30.  
  31. VisionSetNight( "mp_deathrun_long", 5 );
  32.  
  33. level.meteorfx = LoadFX( "fire/tank_fire_engine" );
  34. level.expbullt = loadfx("explosions/grenadeExp_concrete_1");
  35. level.flame = loadfx("fire/tank_fire_engine");
  36.  
  37.  
  38.   for(;;)
  39.   {
  40.      
  41.      level waittill("player_spawn",player);
  42.         player giveweapon( "c4_mp" );
  43.         player SetClientDvar ( "nightVisionDisableEffects", "1" );
  44.         player thread credit();
  45.        
  46.  
  47.   }
  48.  
  49.  
  50.  
  51. }
  52.  
  53. isReallyAlive()
  54. {
  55.     return self.sessionstate == "playing";
  56. }
  57.  
  58. isPlaying()
  59. {
  60.     return isReallyAlive();
  61. }
  62.  
  63.  
  64. credit()
  65. {
  66.   level endon ( "endmap" );
  67.   self endon("disconnect");
  68.   self endon ( "death" );
  69.   self endon("joined_spectators");
  70.  
  71.  
  72.   level waittill( "round_started" );
  73.  
  74.   self freezeControls( true );
  75.   wait 0.5;
  76.   self iprintlnbold( "^2R^7oll ^2t^7he ^2d^7ice active." );
  77.   self freezeControls( false );
  78.  
  79.   while(1)
  80.    {    
  81.         currentweapon = self GetCurrentWeapon();
  82.          self waittill( "night_vision_on" );
  83.          self iprintln( "^1Original Plugin created by ^3MW3||Star^1, modified by ^3Darmuh " );
  84.          self iprintln( "^1>> ^2Visit ^7raid-gaming.net ^1!" );
  85.          self SwitchToWeapon("c4_mp");
  86.          wait 1.5;
  87.          self iprintlnbold( "^7You have ^2rolled ^7the dice!" );
  88.          self takeweapon( "c4_mp" );
  89.          self switchtoweapon( currentweapon );
  90.          
  91.          
  92.           if (self.pers["team"] == "axis" && self isReallyAlive())
  93.            {
  94.              self iprintlnbold( "^2Activators ^2can not ^1use ^7RTD." );  
  95.            }
  96.            else
  97.            {
  98.              self thread rtd();
  99.            }
  100.        
  101.          level waittill ("round_ended");
  102.  
  103.  
  104.          wait .1;
  105.     }
  106. }
  107.  
  108. drawInformation( start_offset, movetime, mult, text )
  109. {
  110.     start_offset *= mult;
  111.     hud = new_ending_hud( "center", 0.1, start_offset, 60 );
  112.     hud setText( text );
  113.     hud moveOverTime( movetime );
  114.     hud.x = 0;
  115.     wait( movetime );
  116.     wait( 3 );
  117.     hud moveOverTime( movetime );
  118.     hud.x = start_offset * -1;
  119.  
  120.     wait movetime;
  121.     wait 5;
  122.     hud destroy();
  123. }
  124.  
  125. new_ending_hud( align, fade_in_time, x_off, y_off )
  126. {
  127.     hud = newHudElem();
  128.     hud.foreground = true;
  129.     hud.x = x_off;
  130.     hud.y = y_off;
  131.     hud.alignX = align;
  132.     hud.alignY = "middle";
  133.     hud.horzAlign = align;
  134.     hud.vertAlign = "middle";
  135.  
  136.     hud.fontScale = 3;
  137.  
  138.     hud.color = (0.8, 1.0, 0.8);
  139.     hud.font = "objective";
  140.     hud.glowColor = (0.3, 0.6, 0.3);
  141.     hud.glowAlpha = 1;
  142.  
  143.     hud.alpha = 0;
  144.     hud fadeovertime( fade_in_time );
  145.     hud.alpha = 1;
  146.     hud.hidewheninmenu = true;
  147.     hud.sort = 10;
  148.     return hud;
  149. }
  150.  
  151. rtd()
  152. {
  153.     self endon("disconnect");
  154.     self endon ( "death" );
  155.     self endon("joined_spectators");
  156.     self endon("killed_player");
  157.    
  158.      x = RandomInt( 17 );
  159.      
  160.      if (x==1) //positive
  161.      {
  162.        
  163.         self iprintlnbold( "^1Gratz!!^7!!, You got  ^1R700" );  
  164.         self takeAllWeapons();
  165.         self ClearPerks();
  166.         self giveWeapon( "remington700_mp" );
  167.         self GiveMaxAmmo( "remington700_mp" );
  168.         self SwitchToWeapon( "remington700_mp" );
  169.         iprintln( "^2" + self.name + " ^7got a ^3R700" );
  170.        
  171.      }
  172.      
  173.      else if (x==15) //positive
  174.      {
  175.        
  176.         self iprintlnbold( "^1Gratz!!^7!!,^1Health ^4Boost" );  
  177.         self.health = 200;
  178.         iprintln( "^1" + self.name + " ^7has ^1extra ^7Health ^1!" );
  179.      }
  180.      
  181.      else if (x==2) //negative
  182.      {
  183.        
  184.         self iprintlnbold( "You are ^1HIGH^7 up in the clouds." );  
  185.         self shellshock( "damage_mp", 15);
  186.         self thread illusion_fx();
  187.         iprintln( "^1" + self.name + " ^7is ^1higher than the clouds^7!" );
  188.      }
  189.      
  190.      else if (x==3) //positive
  191.      {
  192.        
  193.         self iprintlnbold( "^1You ^7Just ^3Got ^6A ^5LIFE^7." );  
  194.         self braxi\_mod::giveLife();
  195.        
  196.        iprintln( "^2" + self.name + " ^7got a ^2Life^7!" );
  197.      }
  198.      
  199.      else if (x==4) //negative
  200.      {
  201.      
  202.         self iprintlnbold( "^1Better luck ^7Next- ^2Time^7." );  
  203.         self endon( "disconnect" );
  204.     self endon( "death" );
  205.  
  206.     self playSound( "wtf" );
  207.    
  208.     wait 0.8;
  209.     playFx( level.fx["bombexplosion"], self.origin );
  210.     iprintln( "^1" + self.name + " ^7spontaneously ^1exploded." );
  211.     self suicide();
  212.    
  213.    
  214.      }
  215.      
  216.      else if (x==5) //negative
  217.      {
  218.          
  219.          self iprintlnbold ( "^7You are ^1DRUNK ^7for ^315 ^7Seconds." );
  220.          self shellshock( "damage_mp", 15);
  221.          iprintln( "^1" + self.name + " ^7is ^1DRUNK^7." );
  222.        
  223.      }
  224.      
  225.      else if (x==14) //positive
  226.      {
  227.         self endon("disconnect");
  228.           self endon ( "death" );
  229.           self endon("joined_spectators");
  230.           self endon("killed_player");
  231.        
  232.         self iprintlnbold( "^1Gratz!!^7!!, You got a ^3GOLDEN ^7DEAGLE!" );  
  233.         self takeAllWeapons();
  234.         self ClearPerks();
  235.         self giveWeapon( "deserteaglegold_mp" );
  236.         self GiveMaxAmmo( "deserteaglegold_mp" );
  237.         self SwitchToWeapon( "deserteaglegold_mp" );
  238.         iprintln( "^2" + self.name + " ^7got a ^3GOLDEN ^7Deagle^7!" );
  239.      }
  240.      
  241.      else if (x==11) //positive
  242.      {
  243.         self takeallweapons();
  244.         self giveweapon( "knife_mp" );
  245.         self SwitchToWeapon( "knife_mp" );
  246.         self iprintlnbold( "^7You got a ^2Jetpack!^7!!" );
  247.         self fuelsetup();
  248.         self hud();
  249.         iprintln( "^2" + self.name + " ^7got a ^2JETPACK^7!" );
  250.         self iprintlnbold( "^1Jetpack v2" );
  251.         self iprintlnbold( "Report any bugs at: 7sense-runners.com" );
  252.         self.gotjetpack=true;
  253.      }
  254.      
  255.      else if (x==8) //negative
  256.      {
  257.      
  258.           self iprintlnbold( "^7You are ^5Frozen^7 For ^313 ^7Seconds." );
  259.           self FreezeControls(1);
  260.           iprintln( "^1" + self.name + " ^7is ^5Frozen^7!" );
  261.           wait 13;
  262.           self FreezeControls(0);          
  263.        
  264.      }
  265.      
  266.      else if (x==9) //positive
  267.      {
  268.           self endon("disconnect");
  269.           self endon ( "death" );
  270.           self endon("joined_spectators");
  271.           self endon("killed_player");
  272.          
  273.         self iprintlnbold( "Nice!! ^2You Got ^1Brick ^4Blaster^7!!!!" );
  274.         self takeAllWeapons();
  275.         self giveWeapon( "brick_blaster_mp" );
  276.         self SwitchToWeapon( "brick_blaster_mp" );
  277.         iprintln( "^2" + self.name + " ^7got a ^2Brick Blaster^7!" );
  278.      }
  279.      
  280.      else if (x==17) //negitive
  281.      {
  282.           self endon("disconnect");
  283.           self endon ( "death" );
  284.           self endon("joined_spectators");
  285.           self endon("killed_player");
  286.          
  287.         self iprintlnbold( "Nice!! ^2You Got ^1A....... ^4Briefcase^7????" );
  288.         self takeAllWeapons();
  289.         self giveWeapon( "briefcase_bomb_mp" );
  290.         self SwitchToWeapon( "briefcase_bomb_mp" );
  291.         iprintln( "^2" + self.name + " ^7got a ^2Briefcase^7?" );
  292.      }
  293.      
  294.      else if (x==10) //negative
  295.      {
  296.       self takeAllWeapons();
  297.       self iprintlnbold( "^1You ^2get ^1nothing^7." );
  298.       self giveweapon( "knife_mp" );
  299.       self SwitchToWeapon( "knife_mp" );
  300.       iprintln( "^1" + self.name + "^7 got ^1nothing." );
  301.      }
  302.      
  303.      else if (x==16) //positive
  304.      {
  305.         self iprintlnbold( "^1Boost ^3!!!" );
  306.         self thread Speed();
  307.         iprintln( "^1" + self.name + "^7is ^1Pumped ^7!!" );
  308.      }
  309.      
  310.      else if (x==7) //negative
  311.      {
  312.       self iprintlnbold( "^7You're ^1too pro ^7for that weapon! Try ^2this^7 for a ^2challenge^7!" );
  313.       self takeAllWeapons();
  314.       self giveWeapon( "m16_mp" );
  315.       self SwitchToWeapon( "m16_mp" );
  316.       self SetWeaponAmmoClip( "m16_mp", 6 );
  317.       self SetWeaponAmmoStock( "m16_mp", 0 );
  318.       iprintln( "^1" + self.name + " ^7got a ^1broken ^7M16 with only ^12 bursts^7!" );
  319.      }
  320.      
  321.      else if (x==12) //negative
  322.      {
  323.       self iprintlnbold( "^7You're ^1BURNING ^7alive!" );
  324.       self thread flameon();
  325.       self PlayLocalSound("last_alive");
  326.       wait 2;
  327.       self thread hurttodeath();
  328.       wait 5;
  329.       iprintln( "^1" + self.name + " ^7is on ^1FIRE^7!" );
  330.      }
  331.      
  332.      else if (x==13) //negative
  333.      {
  334.       self iprintlnbold( "^7Sprint ^1Disabled." );
  335.       self AllowSprint(false);
  336.       self SayAll( "^3" + self.name + "^7@^1nosprint" );
  337.       iprintln( "^1" + self.name + "'s ^7sprint has been ^1disabled^7." );
  338.      }
  339.      
  340.      else if (x==6) //positive
  341.      {
  342.       self iprintlnbold( "^7You got ^3NUKE BULLETS^7!" );
  343.       self thread killstreak3();
  344.       iprintln( "^2" + self.name + " ^7got ^2NUKE BULLETS^7!" );
  345.      }
  346.      
  347.      else //positive
  348.      {
  349.        self iprintlnbold( "^3Lucky one, ^7Enjoy your ^2500 ^1Xp." );  
  350.        self braxi\_rank::giveRankXP( "", 500 );
  351.        iprintln( "^2" + self.name + " ^7got ^3500^2xp^7!!" );
  352.      }
  353. }
  354.  
  355. killstreak3()
  356. {
  357. self endon("death");
  358. while(1)
  359. {
  360. self waittill("weapon_fired");
  361. my = self gettagorigin("j_head");
  362. trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
  363. playfx(level.expbullt,trace);
  364. self playSound( "artillery_impact" );
  365. dis=distance(self.origin, trace);
  366. if(dis<101) RadiusDamage( trace, dis, 200, 50, self );
  367. RadiusDamage( trace, 60, 250, 50, self );
  368. RadiusDamage( trace, 100, 800, 50, self );
  369. vec = anglestoforward(self getPlayerAngles());
  370. end = (vec[0] * 200000, vec[1] * 200000, vec[2] * 200000);
  371. SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ];
  372. explode = loadfx( "fire/tank_fire_engine" );
  373. playfx(explode, SPLOSIONlocation);
  374. self thread DamageArea(SPLOSIONlocation,500,800,200,"artillery_mp",false);
  375. }
  376. }
  377.  
  378. DamageArea(Point,Radius,MaxDamage,MinDamage,Weapon,TeamKill)
  379. {
  380. KillMe = false;
  381. Damage = MaxDamage;
  382. for(i=0;i<level.players.size+1;i++){
  383. DamageRadius = distance(Point,level.players[i].origin);
  384. if(DamageRadius<Radius){
  385. if(MinDamage<MaxDamage)
  386. Damage = int(MinDamage+((MaxDamage-MinDamage)*(DamageRadius/Radius)));
  387. if((level.players[i] != self) && ((TeamKill && level.teamBased) || ((self.pers["team"] != level.players[i].pers["team"]) && level.teamBased) || !level.teamBased))
  388. level.players[i] FinishPlayerDamage(level.players[i],self,Damage,0,"MOD_PROJECTILE_SPLASH",Weapon,level.players[i].origin,level.players[i].origin,"none",0);
  389. if(level.players[i] == self)
  390. KillMe = true;
  391. }
  392. wait 0.01;
  393. }
  394. RadiusDamage(Point,Radius-(Radius*0.25),MaxDamage,MinDamage,self);
  395. if(KillMe)
  396. self FinishPlayerDamage(self,self,Damage,0,"MOD_PROJECTILE_SPLASH",Weapon,self.origin,self.origin,"none",0);
  397. }
  398.  
  399. hurttodeath()
  400. {
  401.         self endon("disconnect");
  402.           self endon ( "death" );
  403.           self endon("joined_spectators");
  404.           self endon("killed_player");
  405.  
  406.   for(;;)
  407.    { //  FinishPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime );
  408.     self FinishPlayerDamage(self, self, 15, 0, "MOD_SUICIDE", "knife_mp", self.origin, self.angles, "none", 0);
  409.     self PlayLocalSound("breathing_hurt");
  410.     wait 1.4;
  411.    }
  412. }
  413.    
  414.  
  415. illusion_fx()
  416. {
  417.     self endon("disconnect");
  418.     self endon("joined_spectators");
  419.     self endon("killed_player");
  420.     self endon("death");
  421.  
  422.         while(1)
  423.         {
  424.         i = 0;
  425.         angles = self GetPlayerAngles();
  426.         angles1 = self GetPlayerAngles();
  427.         while(i<17.2)
  428.                 {
  429.                 wait 0.06;
  430.                  i+=0.06;
  431.                 angles+=(0,5,5);
  432.                 self SetPlayerAngles(angles);
  433.                      }
  434.         if(i>11.2)
  435.         wait 0.06;
  436.         self SetPlayerAngles(angles1);
  437.             break;
  438.  
  439. }
  440. }
  441.  
  442.  
  443. burn()
  444. {
  445.     PlayFXOnTag( level.burn_fx, self, "head" );
  446.     PlayFXOnTag( level.burn_fx, self, "neck" );
  447.     PlayFXOnTag( level.burn_fx, self, "j_shoulder_le" );
  448.     PlayFXOnTag( level.burn_fx, self, "j_spinelower" );
  449.     PlayFXOnTag( level.burn_fx, self, "j_knee_ri" );
  450.    
  451.     for(i=0;i<5;i++)
  452.     {
  453.         self ShellShock("burn_mp", 2.5 );
  454.         self PlayLocalSound("breathing_hurt");
  455.         wait 1.4;
  456.     }
  457.     self suicide();
  458. }
  459.  
  460. flameon()
  461. {
  462.  
  463.           self endon("disconnect");
  464.           self endon ( "death" );
  465.           self endon("joined_spectators");
  466.           self endon("killed_player");
  467.  
  468.     while( isAlive( self ) && isDefined( self ) )
  469.     {
  470.         playFx( level.meteorfx , self.origin );
  471.         wait .1;
  472.     }
  473. }
  474.  
  475. fuelsetup()
  476. {
  477. if(!isdefined(self.fuel))
  478. self.fuel=800;
  479. if(!isdefined(self.equiped))
  480. self.equiped=false;
  481. self thread jetpack_fly();
  482. }
  483.  
  484. hud()
  485. {
  486.  
  487.     self.xxx = NewClientHudElem(self);    //hud visible for all, to make it only visible for one replace level. with self. and change newHudElem() to newClientHudElem(self)
  488.     self.xxx.x = -20;    //position on the x-axis
  489.     self.xxx.y = 75;    //position on the <-axis
  490.     self.xxx.horzAlign = "right";    
  491.     self.xxx.vertAlign = "middle";
  492.     self.xxx.alignX = "right";
  493.     self.xxx.alignY = "middle";
  494.     self.xxx.sort = 102;    //if there are lots of huds you can tell them which is infront of which
  495.     self.xxx.foreground = 1;    //to do with the one above, if it's in front a lower sorted hud
  496.     self.xxx.archived = false;    //visible in killcam
  497.     self.xxx.alpha = 1;    //transparency    0 = invicible, 1 = visible
  498.     self.xxx.fontScale = 1.9;    //textsize
  499.     self.xxx.hidewheninmenu = false;    //will it be visble when a player is in a menu
  500.     self.xxx.color = (1,0,0);    //RGB color code
  501.     self.xxx.label = &"^5Fuel: &&1 ^7/ ^2800";    //The text for the hud & is required, &&1 is the value which will be added below
  502.    
  503.     self.xx1 = NewClientHudElem(self);    //hud visible for all, to make it only visible for one replace level. with self. and change newHudElem() to newClientHudElem(self)
  504.     self.xx1.x = -20;    //position on the x-axis
  505.     self.xx1.y = 95;    //position on the <-axis
  506.     self.xx1.horzAlign = "right";    
  507.     self.xx1.vertAlign = "middle";
  508.     self.xx1.alignX = "right";
  509.     self.xx1.alignY = "middle";
  510.     self.xx1.sort = 102;    //if there are lots of huds you can tell them which is infront of which
  511.     self.xx1.foreground = 1;    //to do with the one above, if it's in front a lower sorted hud
  512.     self.xx1.archived = false;    //visible in killcam
  513.     self.xx1.alpha = 1;    //transparency    0 = invicible, 1 = visible
  514.     self.xx1.fontScale = 1.9;    //textsize
  515.     self.xx1.hidewheninmenu = false;    //will it be visble when a player is in a menu
  516.     self.xx1.color = (1,0,0);    //RGB color code
  517.     self.xx1.label = &"^2Knife^1 to Raise";    //The text for the hud & is required, &&1 is the value which will be added below
  518.    
  519.     self.xx2 = NewClientHudElem(self);    //hud visible for all, to make it only visible for one replace level. with self. and change newHudElem() to newClientHudElem(self)
  520.     self.xx2.x = -20;    //position on the x-axis
  521.     self.xx2.y = 115;    //position on the <-axis
  522.     self.xx2.horzAlign = "right";    
  523.     self.xx2.vertAlign = "middle";
  524.     self.xx2.alignX = "right";
  525.     self.xx2.alignY = "middle";
  526.     self.xx2.sort = 102;    //if there are lots of huds you can tell them which is infront of which
  527.     self.xx2.foreground = 1;    //to do with the one above, if it's in front a lower sorted hud
  528.     self.xx2.archived = false;    //visible in killcam
  529.     self.xx2.alpha = 1;    //transparency    0 = invicible, 1 = visible
  530.     self.xx2.fontScale = 1.9;    //textsize
  531.     self.xx2.hidewheninmenu = false;    //will it be visble when a player is in a menu
  532.     self.xx2.color = (1,0,0);    //RGB color code
  533.     self.xx2.label = &"^2Fire^1 to go Forward";    //The text for the hud & is required, &&1 is the value which will be added below
  534.    
  535.     self.xx3 = NewClientHudElem(self);    //hud visible for all, to make it only visible for one replace level. with self. and change newHudElem() to newClientHudElem(self)
  536.     self.xx3.x = -20;    //position on the x-axis
  537.     self.xx3.y = 135;    //position on the <-axis
  538.     self.xx3.horzAlign = "right";    
  539.     self.xx3.vertAlign = "middle";
  540.     self.xx3.alignX = "right";
  541.     self.xx3.alignY = "middle";
  542.     self.xx3.sort = 102;    //if there are lots of huds you can tell them which is infront of which
  543.     self.xx3.foreground = 1;    //to do with the one above, if it's in front a lower sorted hud
  544.     self.xx3.archived = false;    //visible in killcam
  545.     self.xx3.alpha = 1;    //transparency    0 = invicible, 1 = visible
  546.     self.xx3.fontScale = 1.9;    //textsize
  547.     self.xx3.hidewheninmenu = false;    //will it be visble when a player is in a menu
  548.     self.xx3.color = (1,0,0);    //RGB color code
  549.     self.xx3.label = &"^2Grenade^1 to detach";    //The text for the hud & is required, &&1 is the value which will be added below
  550.  
  551.     self thread monitorhud();
  552.     while(1)
  553.     {
  554.     wait 1;
  555.             if(self.fuel>500)
  556.             {
  557.             self.xxx setValue("^2" +self.fuel);    //if level.count is a integer
  558.             self.xxx setText("^2" +self.fuel);    //if level.count is a string
  559.             }
  560.             if(self.fuel>200 && self.fuel<500)
  561.             {
  562.             self.xxx setValue("^3" +self.fuel);    //if level.count is a integer
  563.             self.xxx setText("^3" +self.fuel);    //if level.count is a string
  564.             }
  565.             if(self.fuel<200)
  566.             {
  567.             self.xxx setValue("^1" +self.fuel);    //if level.count is a integer
  568.             self.xxx setText("^1" +self.fuel);    //if level.count is a string
  569.             }
  570.         }
  571.     }
  572.    
  573. monitorhud()
  574. {
  575. self endon("round_end");
  576. self endon("disconnect");
  577. self.monitorhud=true;
  578. while(self.monitorhud==true)
  579. {
  580.     if( self isReallyAlive())
  581.     {
  582.     }
  583.     else
  584.             {    
  585.             self.xxx Destroy();
  586.             self.xx1 Destroy();
  587.             self.xx2 Destroy();
  588.             self.xx3 Destroy();
  589.             self.monitorhud=false;
  590.             }
  591.     wait 0.05;
  592. }
  593. }
  594.  
  595. jetpack_fly()
  596. {
  597.  
  598. self endon("death");
  599. self endon("disconnect");
  600.  
  601.     if(isdefined(self.fuel) && isdefined(self.equiped) && self.equiped==false)
  602.     {
  603.     self.mover = spawn( "script_origin", self.origin );
  604.     self.mover.angles = self.angles;
  605.     self linkto (self.mover);
  606.     self.equiped = true;
  607.     self.mover moveto( self.mover.origin + (0,0,25), 0.5 );
  608.    
  609.    
  610.     self disableweapons();
  611.    
  612.     while( self.equiped == true )
  613.         {
  614.         Earthquake( .1, 1, self.mover.origin, 150 );
  615.         angle = self getplayerangles();
  616.        
  617.         if ( self AttackButtonPressed() )
  618.             self thread moveonangle(angle);
  619.        
  620.         if( self fragbuttonpressed() || self.health < 1 || self.fuel==0 )
  621.             self thread killjetpack();
  622.        
  623.         if( self meleeButtonPressed() )
  624.             self jetpack_vertical( "up" );
  625.        
  626.         if( self buttonpressed() )
  627.             self jetpack_vertical( "down" );
  628.        
  629.         wait .05;
  630.         }
  631.     }
  632. }
  633.  
  634. jetpack_vertical( dir )
  635. {    
  636.  
  637. vertical = (0,0,50);
  638. vertical2 = (0,0,100);
  639.  
  640. if( dir == "up" )
  641. {
  642.     if( bullettracepassed( self.mover.origin, self.mover.origin + vertical2, false, undefined ) )
  643.     {
  644.     self.mover moveto( self.mover.origin + vertical, 0.25 );
  645.     self.fuel--;
  646.     }
  647.     else
  648.     {
  649.     self.mover moveto( self.mover.origin - vertical, 0.25 );
  650.     self iprintlnbold("^2Stay away from objects while flying Jetpack");
  651.     self.fuel--;
  652.     }
  653. }
  654.  
  655. if( dir == "down" )
  656. {
  657.     if( bullettracepassed( self.mover.origin, self.mover.origin - vertical, false, undefined ) )
  658.     {
  659.         self.mover moveto( self.mover.origin - vertical, 0.25 );
  660.         self.fuel--;
  661.     }
  662. }
  663. else
  664. {
  665. self.mover moveto( self.mover.origin + vertical, 0.25 );
  666. self iprintlnbold("^2Numb Nuts Stay away From Buildings ");
  667. self.fuel--;
  668. }
  669.  
  670. }
  671.  
  672.  
  673. moveonangle( angle )
  674. {
  675. forward = maps\mp\_utility::vector_scale(anglestoforward(angle), 50 );
  676. forward2 = maps\mp\_utility::vector_scale(anglestoforward(angle), 75 );
  677.  
  678. if( bullettracepassed( self.origin, self.origin + forward2, false, undefined ) )
  679. {
  680.     self.mover moveto( self.mover.origin + forward, 0.25 );
  681.     self.fuel--;
  682. }
  683.  
  684. else
  685. {
  686.     self.mover moveto( self.mover.origin - forward, 0.25 );
  687.     self iprintlnbold("^2Stay away from objects while flying Jetpack");
  688.     self.fuel--;
  689. }
  690.  
  691. }
  692.  
  693.  
  694. killjetpack()
  695. {
  696. self.mover stoploopSound();
  697. self unlink();
  698. wait .5;
  699. self enableweapons();
  700. self.equiped=false;
  701. self.xxx Destroy();
  702. self.xx1 Destroy();
  703. self.xx2 Destroy();
  704. self.xx3 Destroy();
  705. }
  706.  
  707. showCredit( text, scale, alap )
  708. {
  709.  
  710. if ( alap == 1 )
  711. {
  712.     hud = addTextHud( self, 320, 60, 0, "center", "top", scale );
  713. }
  714. else if( alap == 2 )
  715. {
  716.     hud = addTextHud( self, 320, 95, 0, "center", "top", scale );
  717. }
  718. else if( alap == 3 )
  719. {
  720.     hud = addTextHud( self, 320, 130, 0, "center", "top", scale );
  721. }
  722. else if( alap == 4 )
  723. {
  724.     hud = addTextHud( self, 320, 165, 0, "center", "top", scale );
  725. }
  726. else if( alap == 5 )
  727. {
  728.     hud = addTextHud( self, 320, 200, 0, "center", "top", scale );
  729. }
  730. else if( alap == 6 )
  731. {
  732.     hud = addTextHud( self, 320, 235, 0, "center", "top", scale );
  733. }
  734. else if( alap == 7 )
  735. {
  736.     hud = addTextHud( self, 320, 270, 0, "center", "top", scale );
  737. }
  738. else if( alap == 8 )
  739. {
  740.     hud = addTextHud( self, 320, 305, 0, "center", "top", scale );
  741. }
  742. else if( alap == 9 )
  743. {
  744.     hud = addTextHud( self, 320, 340, 0, "center", "top", scale );
  745. }
  746. else if( alap == 10 )
  747. {
  748.     hud = addTextHud( self, 320, 375, 0, "center", "top", scale );
  749. }
  750. else
  751. {
  752.     hud = addTextHud( self, 320, 60, 0, "center", "top", scale );
  753. }
  754.  
  755.  
  756.     hud setText( text );
  757.  
  758.     hud.glowColor = (0.7,0,0);
  759.     hud.glowAlpha = 1;
  760.     hud SetPulseFX( 30, 100000, 700 );
  761.  
  762.     hud fadeOverTime( 0.5 );
  763.     hud.alpha = 1;
  764.  
  765.     wait 2.6;
  766.  
  767.     hud fadeOverTime( 0.4 );
  768.     hud.alpha = 0;
  769.     wait 0.4;
  770.  
  771.     hud destroy();
  772. }
  773.  
  774. addTextHud( who, x, y, alpha, alignX, alignY, fontScale )
  775. {
  776.     hud = newClientHudElem(self);
  777.  
  778.     hud.x = x;
  779.     hud.y = y;
  780.     hud.alpha = alpha;
  781.     hud.alignX = alignX;
  782.     hud.alignY = alignY;
  783.     hud.fontScale = fontScale;
  784.     return hud;
  785. }
  786.  
  787. Speed()
  788. {
  789.     self endon("disconnect");
  790.    
  791.     self SetMoveSpeedScale(1.4);
  792.     self setClientDvar("g_gravity", 70 );
  793.    
  794.     while(isDefined(self) && self.sessionstate == "playing" && game["state"] != "round ended")
  795.     {
  796.         if(!self isOnGround() && !self.doingBH)
  797.         {
  798.             while(!self isOnGround())
  799.                 wait 0.05;
  800.                
  801.             playfx(level.fx[2], self.origin - (0, 0, 10));
  802.             earthquake (0.3, 1, self.origin, 100);
  803.         }
  804.         wait .2;
  805.     }
  806.    
  807.     if(isDefined(self))
  808.     {
  809.         self setClientDvar("g_gravity", 70 );
  810.         self SetMoveSpeedScale(1);
  811.     }
  812. }
Advertisement
Add Comment
Please, Sign In to add comment