Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.82 KB | None | 0 0
  1. /*
  2. ** << Evolution Class Extension >>
  3. **
  4. **  Copyright (C) 2005 - 2007 Corona Bytes .NET
  5. **
  6. ** This program is free software; you can redistribute it and/or
  7. ** modify it under the terms of the GNU General Public License
  8. ** as published by the Free Software Foundation; either version 2
  9. ** of the License, or (at your option) any later version.
  10. **
  11. ** This program is distributed in the hope that it will be useful,
  12. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. ** GNU General Public License for more details.
  15. **
  16. ** You should have received a copy of the GNU General Public License
  17. ** along with this program; if not, write to the Free Software
  18. ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  19. */
  20.  
  21.  
  22. new const CX_Plugin[]   =   "CX.Bergamo";
  23. new const CX_Version[]  =   "1337";
  24. new const CX_Author[]   =   "BANDIT";
  25.  
  26. #define MOD_SOUND   1
  27. #define MOD_CHARGE  1
  28. #define MOD_WEAPON  1
  29.  
  30. // << Implement CX Interface >>
  31. #include <xtension/class/main>
  32. PluginInit ()
  33. {
  34.     register_plugin( CX_Plugin, CX_Version, CX_Author );
  35.     register_message( get_user_msgid( "Health" ), "@ClassDamage" );
  36.     register_message( get_user_msgid( "PowerLevel" ), "@ClassPowerLevel" );
  37.     register_event( "DeathMsg", "@SomeoneDied",  "a" );
  38.     register_message( get_user_msgid( "DeathMsg" ), "@SomeoneDied" );
  39. }
  40.    
  41.  
  42.  
  43.  
  44. public @ClassCreation ()
  45. {
  46.     createClass( { MOD_SOUND, MOD_CHARGE, MOD_WEAPON },
  47.                 "Bergamo", true, false, "Two assholes combined", "Black/c_intro.wav" );
  48.  
  49.     // Bergamo
  50.     addClassLevel( "The Breaker", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  51.                     800, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 150.0, 50.0 } );
  52.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  53.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  54.                    
  55.     // Bergamo2
  56.     addClassLevel( "The Breaker2", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  57.                     600, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 170.0, 50.0 } );
  58.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  59.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  60.                    
  61.     // Bergamo3
  62.     addClassLevel( "The Breaker3", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  63.                     400, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 230.0, 70.0 } );
  64.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  65.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  66.                    
  67.     // Bergamo4
  68.     addClassLevel( "The Breaker4", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  69.                     200, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 300.0, 70.0 } );
  70.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  71.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  72.                    
  73.     // Bergamo5
  74.     addClassLevel( "The Breaker5", "Bergamo", 20.0, 20.0, 4000000, 1000000000, 2.0,
  75.                     100, 200, bool:{ true, false }, 30.0, { 300, 200 }, { 1, 0, 0, 0, 0, 0, 0 }, 8.0, Float:{ 400.0, 70.0 } );
  76.     addClassEffect( "models/evolution/Auras/shape_01.mdl", Float:{ 255.0, 255.0, 255.0, 50.0 }, 0, kRenderTransAdd,
  77.                     { 255, 255, 255 }, { 1, 1, 1, 7 }, Float:{ 0.0, 0.0, 0.0, 0.0 } );
  78.    
  79. }
  80.  
  81.  
  82.  
  83. // << Class Extension PreCache >> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  84.  
  85. PluginPreCache ()
  86. {
  87.     MOD_Charge_PreCache ();
  88.     Class_Sound_PreCache ();
  89.    
  90.     precache_model( "models/player/Bergamo/Bergamo.mdl" );
  91.  
  92.     precache_model( "models/evolution/Auras/shape_01.mdl" );
  93.     precache_model( "models/evolution/Auras/shape_05.mdl" );
  94.     precache_model( "models/evolution/Auras/shape_06.mdl" );
  95.     precache_sound( "ecx.vegetto/t_ssj.wav" );
  96.     precache_sound( "ecx.vegetto/t_scream.wav" );
  97.     precache_sound( "Black/Null.wav" );
  98.     precache_sound( "Black/Step1.wav" );
  99.     precache_sound( "Black/Step2.wav" );
  100.     precache_sound( "Black/Step3.wav" );
  101.     precache_sound( "Black/Step4.wav" );
  102.     precache_sound( "Black/Transformation.wav" );
  103.     precache_sound( "Black/TransformationP.wav" );
  104.  
  105.     precache_model( "sprites/RoseAura.spr" );
  106.  
  107.     precache_model( "models/evolution/Auras/Aura_Black.mdl" );
  108.     precache_model( "models/evolution/Auras/shape_01.mdl" );
  109. }
  110.  
  111.  
  112.  
  113. @ClassDamage( MsgID, dest, Client )
  114. {
  115.     if(getClientCLASS( Client ) != getCXbyName( "Bergamo" )) return;
  116.     if(get_msg_arg_int( 1 ) >= 200)
  117.     {  
  118.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  119.         AddFx( Client, "fxFinalBlow2" );
  120.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  121.         set_pev( Client, pev_scale, 1.000_000 );
  122.         @ClassInitiateTransformation ( Client, 1, false );
  123.     }
  124.     if(get_msg_arg_int( 1 ) <= 150)
  125.     {  
  126.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  127.         AddFx( Client, "fxFinalBlow2" );
  128.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  129.         @ClassInitiateTransformation ( Client, 2, false );
  130.     }
  131.     else if(get_msg_arg_int( 1 ) <= 100)
  132.     {  
  133.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  134.         AddFx( Client, "fxFinalBlow2" );
  135.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  136.         @ClassInitiateTransformation ( Client, 3, false );
  137.     }
  138.     else if(get_msg_arg_int( 1 ) <= 50)
  139.     {  
  140.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  141.         AddFx( Client, "fxFinalBlow2" );
  142.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  143.         @ClassInitiateTransformation ( Client, 4, false );
  144.         set_pdata_int( Client, 462,20 );
  145.     }
  146.    
  147. }
  148.  
  149. new PreHealth[ 33 ];
  150. public @ClassWeaponUpdate ( Client, Level )// 人物技能
  151. {
  152.     switch ( Level )
  153.     {
  154.         case 0: // Bergamo
  155.         {
  156.             addClassItem( Client, "weapon_melee", true );
  157.             addClassItem( Client, "weapon_kiblast" );
  158.             addClassItem( Client, "weapon_genericbeam" );
  159.             addClassItem( Client, "weapon_finalflash" );
  160.             addClassItem( Client, "weapon_sensu" );
  161.             set_pev( Client, pev_scale, 1.000_000 );
  162.         }
  163.         case 1: // Bergamo2
  164.         {
  165.             addClassItem( Client, "weapon_melee", true );
  166.             addClassItem( Client, "weapon_kiblast" );
  167.             addClassItem( Client, "weapon_genericbeam" );
  168.             addClassItem( Client, "weapon_finalflash" );
  169.             addClassItem( Client, "weapon_sensu" );
  170.         }
  171.         case 2: // Bergamo3
  172.         {
  173.             addClassItem( Client, "weapon_melee", true );
  174.             addClassItem( Client, "weapon_kiblast" );
  175.             addClassItem( Client, "weapon_genericbeam" );
  176.             addClassItem( Client, "weapon_finalflash" );
  177.             addClassItem( Client, "weapon_sensu" );
  178.         }
  179.         case 3: // Bergamo4
  180.         {
  181.             addClassItem( Client, "weapon_melee", true );
  182.             addClassItem( Client, "weapon_kiblast" );
  183.             addClassItem( Client, "weapon_genericbeam" );
  184.             addClassItem( Client, "weapon_finalflash" );
  185.             addClassItem( Client, "weapon_sensu" );
  186.         }
  187.         case 4: // Bergamo5
  188.         {
  189.             addClassItem( Client, "weapon_melee", true );
  190.             addClassItem( Client, "weapon_kiblast" );
  191.             addClassItem( Client, "weapon_genericbeam" );
  192.             addClassItem( Client, "weapon_finalflash" );
  193.             addClassItem( Client, "weapon_sensu" );
  194.         }
  195.     }
  196.  
  197.     PreHealth[ Client ] = getClientHP( Client );
  198. }
  199.  
  200. public client_PostThink( Client )
  201. {
  202.     if( getClientCLASS( Client ) != getCXbyName( "Bergamo" ) ) return;
  203.  
  204.     if( PreHealth[ Client ] - getClientHP( Client ) >= 10 )
  205.     {
  206.         PreHealth[ Client ] = getClientHP( Client );
  207.         set_pev( Client, pev_scale, pev( Client, pev_scale ) + 1.200_000 );
  208.         AddFx( Client, "fxPowerup", 255, 0, 0 );
  209.         AddFx( Client, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  210.     }
  211.  
  212. }
  213.  
  214.  
  215.  
  216. public @ClassInitiateTransformation ( Client, Level, bool: Perfect )// 开始变身
  217. {
  218.    
  219.  
  220.     AddFx( Client, "fxPowerup", 255, 0, 0 );
  221.    
  222.    
  223.     switch( Level )
  224.     {
  225.         case 1:
  226.         {
  227.             setClientMODEL( Client, "Bergamo" );
  228.             setClientDATAc( Client, cliLevel, Level );  
  229.         }
  230.         case 2:
  231.         {
  232.             setClientMODEL( Client, "Bergamo" );
  233.             setClientDATAc( Client, cliLevel, Level );
  234.         }
  235.         case 3:
  236.         {    
  237.             setClientMODEL( Client, "Bergamo" );
  238.             setClientDATAc( Client, cliLevel, Level );
  239.         }
  240.         case 4:
  241.         {
  242.             setClientMODEL( Client, "Bergamo" );
  243.             setClientDATAc( Client, cliLevel, Level ); 
  244.         }
  245.         case 5:
  246.         {
  247.             setClientMODEL( Client, "Bergamo" );
  248.             setClientDATAc( Client, cliLevel, Level );             
  249.         }
  250.         case 6:
  251.         {    
  252.             setClientMODEL( Client, "Bergamo" );
  253.             setClientDATAc( Client, cliLevel, Level );
  254.         }
  255.         case 7:
  256.         {
  257.             setClientMODEL( Client, "Bergamo" );
  258.             setClientDATAc( Client, cliLevel, Level ); 
  259.         }
  260.         case 8:
  261.         {
  262.             setClientMODEL( Client, "Bergamo" );
  263.             setClientDATAc( Client, cliLevel, Level );
  264.         }
  265.         case 9:
  266.         {    
  267.             setClientMODEL( Client, "Bergamo" );
  268.             setClientDATAc( Client, cliLevel, Level );
  269.         }
  270.         case 10:
  271.         {
  272.             setClientMODEL( Client, "Bergamo" );
  273.             setClientDATAc( Client, cliLevel, Level );
  274.         }
  275.         case 11:
  276.         {
  277.             setClientMODEL( Client, "Bergamo" );
  278.             setClientDATAc( Client, cliLevel, Level );
  279.         }
  280.         case 12:
  281.         {    
  282.             setClientMODEL( Client, "Bergamo" );
  283.             setClientDATAc( Client, cliLevel, Level );
  284.         }
  285.         case 13:
  286.         {
  287.             setClientMODEL( Client, "Bergamo" );
  288.             setClientDATAc( Client, cliLevel, Level );
  289.         }
  290.     }
  291.  
  292.     /*--------------------
  293.  
  294.     >> 闪电效果|Lightning FX
  295.      setClientLEVELDATAv( Client, cxlLightning, { 2, 2, 2, 8 }, 4 );
  296.  
  297.     >> 蓄气颜色|Powerup Colour
  298.      setClientLEVELDATAv( Client, cxlPowerUp, { 255, 255, 0 }, 3 );
  299.  
  300.     >> 暴气颜色|Aura Colour
  301.      setClientLEVELDATAc( Client, cxlAuraSkin, 4 );
  302.  
  303.     --------------------*/
  304. }
  305. public @ClassFinishTransformation ( Client, Level )
  306. {
  307.     //setClientANIMATION(Client,-1);
  308.    
  309.  
  310.     remove_task( uniqueTaskID( Client, 100 ) );
  311. }
  312.  
  313. public @ClassCancelTransformation ( Client, Level )
  314. {
  315.     //setClientANIMATION(Client,-1);
  316.     RemFx( Client, "fxAvatar", 0);
  317.  
  318.     FX_off(Client);
  319.  
  320.     remove_task( uniqueTaskID( Client, 100 ) );
  321. }
  322. public @SomeoneDied( MsgID, Dest, Client )
  323. {
  324.  
  325. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement