Advertisement
Guest User

Untitled

a guest
Aug 28th, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. #include < amxmodx >
  2. #include < fakemeta >
  3. #include < hamsandwich >
  4.  
  5. #define PLUGIN "SJ Rank System"
  6. #define VERSION "1.0"
  7. #define AUTHOR "testin"
  8.  
  9. #define FLAG ADMIN_KICK
  10.  
  11. new const gsz_RankModel [ ] = "models/sj_mnx_rank.mdl"
  12.  
  13. new gp_AdminRank
  14. new gp_BotRank
  15.  
  16. new gi_PlayerRank [ 33 ]
  17.  
  18. public plugin_init ( )
  19. {
  20.     register_plugin ( PLUGIN, VERSION, AUTHOR )
  21.    
  22.     RegisterHam ( Ham_Killed, "player", "player_killed", 1 )
  23.     RegisterHam ( Ham_Spawn, "player", "player_spawned", 1 )
  24.    
  25.     gp_AdminRank = register_cvar ( "3drank_admin", "0" )
  26.     gp_BotRank = register_cvar ( "3drank_bot", "0" )
  27. }
  28.  
  29. public plugin_precache ( )
  30. {
  31.     precache_model ( gsz_RankModel )
  32. }
  33.  
  34. public client_putinserver ( index )
  35. {
  36.     create_rank_entity ( index )
  37. }
  38.  
  39. public client_disconnect ( index )
  40. {
  41.     if ( gi_PlayerRank [ index ] > 0 )
  42.         engfunc ( EngFunc_RemoveEntity, gi_PlayerRank [ index ] )
  43.    
  44.     gi_PlayerRank [ index ] = 0
  45. }
  46.  
  47. public create_rank_entity ( index )
  48. {
  49.     gi_PlayerRank [ index ] = engfunc ( EngFunc_CreateNamedEntity, engfunc ( EngFunc_AllocString, "info_target" ) )
  50.    
  51.     set_pev ( gi_PlayerRank [ index ], pev_movetype, MOVETYPE_FOLLOW )
  52.     set_pev ( gi_PlayerRank [ index ], pev_aiment, index )
  53.     set_pev ( gi_PlayerRank [ index ], pev_rendermode, kRenderNormal )
  54.     set_pev ( gi_PlayerRank [ index ], pev_renderfx, kRenderFxGlowShell )
  55.     set_pev ( gi_PlayerRank [ index ], pev_renderamt, 5.0 )
  56.    
  57.     engfunc ( EngFunc_SetModel, gi_PlayerRank [ index ], gsz_RankModel )
  58. }
  59.  
  60. public player_killed ( victim, attacker, gid )
  61. {
  62.     if ( is_valid_player ( attacker ) )
  63.     {
  64.         check_rank ( attacker )
  65.     }
  66. }
  67.  
  68. public player_spawned ( spawned )
  69. {
  70.     if ( is_valid_player ( spawned ) )
  71.     {
  72.         check_rank ( spawned )
  73.     }
  74. }
  75.  
  76. public check_rank ( index )
  77. {
  78.     new PlayerRank = get_player_rank ( index )
  79.    
  80.     set_pev ( gi_PlayerRank [ index ], pev_body, PlayerRank )
  81.    
  82.     switch ( PlayerRank )
  83.     {
  84.         case 1, 2, 3:
  85.         {
  86.             set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 255.0 } )
  87.         }
  88.        
  89.         case 12:
  90.         {
  91.             set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 0.0, 0.0 } )
  92.         }
  93.        
  94.         default:
  95.         {
  96.             set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 0.0 } )
  97.         }
  98.     }
  99. }
  100.  
  101. stock get_player_rank ( index )
  102. {
  103.     if ( get_pcvar_num ( gp_AdminRank ) && get_user_flags ( index ) & FLAG )
  104.     {
  105.         return 11
  106.     }
  107.    
  108.     if ( get_pcvar_num ( gp_BotRank ) && is_user_bot ( index ) )
  109.     {
  110.         return 12
  111.     }
  112.    
  113.     new PlayerFrags = get_user_frags ( index )
  114.    
  115.     switch ( PlayerFrags )
  116.     {
  117.         case 0..5:
  118.         {
  119.             return 1
  120.         }
  121.        
  122.         case 6..11:
  123.         {
  124.             return 2
  125.         }
  126.        
  127.         case 12..18:
  128.         {
  129.             return 3
  130.         }
  131.        
  132.         case 19..26:
  133.         {
  134.             return 4
  135.         }
  136.        
  137.         case 27..35:
  138.         {
  139.             return 5
  140.         }
  141.        
  142.         case 36..45:
  143.         {
  144.             return 6
  145.         }
  146.        
  147.         case 46..56:
  148.         {
  149.             return 7
  150.         }
  151.        
  152.         case 57..68:
  153.         {
  154.             return 8
  155.         }
  156.        
  157.         case 69..81:
  158.         {
  159.             return 9
  160.         }
  161.        
  162.         default:
  163.         {
  164.             return 10
  165.         }
  166.     }
  167.    
  168.     return 0
  169. }
  170.  
  171. stock is_valid_player ( index )
  172. {
  173.     if ( is_user_connected ( index ) && 1 <= index <= 32 )
  174.     {
  175.         return true
  176.     }
  177.    
  178.     return false
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement