HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fakemeta>
  4.  
  5. #pragma semicolon 1
  6.  
  7. new g_Enabled;
  8. new g_msgScreenFade;
  9. new bool:g_AlreadyZoomed[33];
  10.  
  11. public plugin_init() {
  12. register_plugin( "Scope Alert", "1.1", "xPaw" );
  13.  
  14. register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" );
  15.  
  16. g_Enabled = register_cvar( "sv_scopealert", "1" );
  17. g_msgScreenFade = get_user_msgid( "ScreenFade" );
  18. }
  19.  
  20. public fwdPlayerPreThink( id ) {
  21. if( get_pcvar_num(g_Enabled) && is_user_alive(id) ) {
  22. new iTarget, iBody;
  23. get_user_aiming( id, iTarget, iBody );
  24.  
  25. if( is_user_alive(iTarget) && !g_AlreadyZoomed[iTarget] && get_user_team(id) != get_user_team(iTarget) ) {
  26. if ( CS_SET_FIRST_ZOOM <= cs_get_user_zoom(id) <= CS_SET_SECOND_ZOOM ) {
  27. message_begin( MSG_ONE_UNRELIABLE, g_msgScreenFade, _, iTarget );
  28. write_short( 500 ); // duration
  29. write_short( 500 ); // hold time
  30. write_short( SF_FADE_IN ); // flags
  31. write_byte( 255 ); // red
  32. write_byte( 010 ); // green
  33. write_byte( 010 ); // blue
  34. write_byte( 60 ); // alpha
  35. message_end();
  36.  
  37. // Doing delay, to prevent total red screen on target. :)
  38. g_AlreadyZoomed[iTarget] = true;
  39. set_task(2.0, "fnRemoveZoomed", iTarget);
  40. }
  41. }
  42. }
  43. }
  44.  
  45. public client_connect( id )
  46. if( get_pcvar_num(g_Enabled) )
  47. g_AlreadyZoomed[id] = false;
  48.  
  49. public fnRemoveZoomed( id )
  50. g_AlreadyZoomed[id] = false;