HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1.  
  2. #include <amxmodx>
  3.  
  4. new const Version[] = "0.1";
  5.  
  6. #define MAX_PLAYERS 32
  7.  
  8. enum Teams
  9. {
  10. Team_T, // Terrorista
  11. Team_CT // CT
  12. }
  13.  
  14. enum Coords
  15. {
  16. Float:Coord_X, // Float X kordináta
  17. Float:Coord_Y // Float Y Kordináta
  18. }
  19.  
  20. enum RGB
  21. {
  22. Red, Green, Blue
  23. }
  24.  
  25. new const TeamHeadings[ Teams ][ 21 ] =
  26. {
  27. "Terrorisa:^n", //Terrorista
  28. "Counter-Terrorista:^n" //Zsaruk (Counter Terrorista)
  29. };
  30.  
  31. new const Float:g_fHUDCoords[ Teams ][ Coords ] =
  32. {
  33. { 0.02 , 0.2 }, // Terror kordináta
  34. { 0.84 , 0.2 } // CT kordináta
  35. };
  36.  
  37. new const g_iHUDRGB[ Teams ][ RGB ] =
  38. {
  39. { 255 , 0 , 0 }, // Terror szín
  40. { 0 , 112 , 255 } // CT szín
  41. };
  42.  
  43. new g_iHudSync[ Teams ] , bool:g_bEnabled[ MAX_PLAYERS + 1 ],bool:atkapcsol[ MAX_PLAYERS + 1];
  44.  
  45. public plugin_init()
  46. {
  47. register_plugin( "Players on HUD" , Version , "bugsy" );
  48.  
  49. register_clcmd( "say /kibe" , "Atkapcsol" );
  50. register_clcmd( "say_team /kibe" , "Atkapcsol" );
  51.  
  52. g_iHudSync[ Team_T ] = CreateHudSyncObj();
  53. g_iHudSync[ Team_CT ] = CreateHudSyncObj();
  54.  
  55. set_task( 1.0 , "ShowPlayers" , .flags = "b" );
  56. }
  57.  
  58. public client_connect( id )
  59. {
  60. g_bEnabled[ id ] = true;
  61. }
  62. public Atkapcsol(id)
  63. {
  64. if((atkapcsol[id] ^= true))
  65. {
  66. g_bEnabled[ id ] = true; // Bekapcsolva
  67. }
  68. else
  69. {
  70. g_bEnabled[ id ] = false; // Kikapcsolva
  71. }
  72. }
  73. public ShowPlayers()
  74. {
  75. static szMessage[ Teams ][ charsmax( TeamHeadings[] ) + ( MAX_PLAYERS * 32 ) + 1 ];
  76. new iPlayers[ 32 ] , iNum , i , iPlayer , iPos , szName[ 32 ];
  77.  
  78. for ( new Teams:tTeam = Team_T ; tTeam < Teams ; tTeam++ )
  79. {
  80. get_players( iPlayers , iNum , "ae" , tTeam == Team_T ? "TERRORIST" : "CT" );
  81.  
  82. iPos = copy( szMessage[ tTeam ] , charsmax( szMessage[] ) , TeamHeadings[ tTeam ] );
  83.  
  84. for ( i = 0 ; i < iNum ; i++ )
  85. {
  86. iPlayer = iPlayers[ i ];
  87.  
  88. get_user_name( iPlayer , szName , charsmax( szName ) );
  89.  
  90. if ( tTeam == Team_T )
  91. {
  92. iPos += formatex( szMessage[ tTeam ][ iPos ] , charsmax( szMessage[] ) - iPos , "%d%%%% | %s^n" , get_user_health( iPlayer ) , szName );
  93. }
  94. else
  95. {
  96. iPos += formatex( szMessage[ tTeam ][ iPos ] , charsmax( szMessage[] ) - iPos , "%s | %d%%%%^n" , szName , get_user_health( iPlayer ) );
  97. }
  98. }
  99.  
  100. szMessage[ tTeam ][ iPos++ ] = EOS;
  101. }
  102.  
  103. get_players( iPlayers , iNum , "ch" );
  104.  
  105. for ( new i = 0 ; i < iNum ; i++ )
  106. {
  107. iPlayer = iPlayers[ i ];
  108.  
  109. if ( g_bEnabled[ iPlayer ] )
  110. {
  111. set_hudmessage( g_iHUDRGB[ Team_T ][ Red ] , g_iHUDRGB[ Team_T ][ Green ] , g_iHUDRGB[ Team_T ][ Blue ] , g_fHUDCoords[ Team_T ][ Coord_X ] , g_fHUDCoords[ Team_T ][ Coord_Y ] , 0 , 0.0 , 1.2 , 0.0 , 0.0 , 1 );
  112. ShowSyncHudMsg( iPlayer , g_iHudSync[ Team_T ] , szMessage[ Team_T ] );
  113.  
  114. set_hudmessage( g_iHUDRGB[ Team_CT ][ Red ] , g_iHUDRGB[ Team_CT ][ Green ] , g_iHUDRGB[ Team_CT ][ Blue ] , g_fHUDCoords[ Team_CT ][ Coord_X ] , g_fHUDCoords[ Team_CT ][ Coord_Y ] , 0 , 0.0 , 1.2 , 0.0 , 0.0 , 1 );
  115. ShowSyncHudMsg( iPlayer , g_iHudSync[ Team_CT ] , szMessage[ Team_CT ] );
  116. }
  117. }
  118. }
  119.