HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /*================================================================================
  2.  
  3. --------------------------------
  4. -*- [ZP] Extra Item: Nemesis -*-
  5. --------------------------------
  6.  
  7. ~~~~~~~~~~~~~~~
  8. - Description -
  9. ~~~~~~~~~~~~~~~
  10.  
  11. This is just an extra item for buy nemesis. This version is totally without logs, because I haven't used commands,
  12. only forwards & natives. To use this plugin make sure you are running the latest version of ZP.
  13.  
  14. ~~~~~~~~~~~~~~~
  15. - CVARs -
  16. ~~~~~~~~~~~~~~~
  17.  
  18. zp_nemesis_buy 1 // 1|0 - Enable/disable the plugin
  19. zp_nemesis_cost 60 // Set the Nemesis cost - Default 60
  20. zp_nemesis_hudtime 2.0 // Time before the HUD message appears. Decimal is a must, don't forget that.
  21.  
  22. ================================================================================*/
  23.  
  24. #include <amxmodx>
  25. #include <zombieplague>
  26.  
  27. #define PLUGIN "[ZP] Extra Item: Nemesis"
  28. #define VERSION "0.1.1"
  29. #define AUTHOR "fezh"
  30.  
  31. new g_nemesis
  32. new g_msgSayText
  33. new g_maxplayers
  34.  
  35. new pcvar_enabled, pcvar_cost, pcvar_hudtime
  36.  
  37. public plugin_init()
  38. {
  39. register_plugin( PLUGIN, VERSION, AUTHOR )
  40.  
  41. pcvar_enabled = register_cvar( "zp_nemesis_buy", "1" )
  42. pcvar_cost = register_cvar( "zp_nemesis_cost", "60" )
  43. pcvar_hudtime = register_cvar( "zp_nemesis_hudtime", "2.0" )
  44.  
  45. g_nemesis = zp_register_extra_item( "Nemesis Vasarlasa", get_pcvar_num( pcvar_cost ) , ZP_TEAM_HUMAN )
  46.  
  47. g_maxplayers = get_maxplayers()
  48. g_msgSayText = get_user_msgid( "SayText" )
  49.  
  50. register_cvar( "zp_extra_nemesis", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY )
  51. }
  52.  
  53. public zp_extra_item_selected( id, item )
  54. {
  55. if( !get_pcvar_num( pcvar_enabled ) )
  56. return PLUGIN_HANDLED
  57.  
  58. if( item == g_nemesis )
  59. {
  60. if( zp_has_round_started() )
  61. {
  62. colored_print( id, "^x04[ZP]^x01 Nemesist csak korkezdet elott tudsz vasarolni!" )
  63. return ZP_PLUGIN_HANDLED
  64. }
  65.  
  66. zp_make_user_nemesis( id )
  67.  
  68. colored_print( id, "^x04[ZP]^x01 Megvetted a Nemesist!" )
  69.  
  70. set_task( get_pcvar_float( pcvar_hudtime ), "nemesis_message", id )
  71. }
  72. return PLUGIN_HANDLED
  73. }
  74.  
  75. public nemesis_message( id )
  76. {
  77. new szName[ 32 ]
  78. get_user_name( id, szName, 31 )
  79. set_hudmessage( 255, 0, 0, 0.05, 0.45, 1, 0.0, 5.0, 1.0, 1.0, -1 )
  80. show_hudmessage( 0, "%s egy Nemesist vasarolt!", szName )
  81. }
  82.  
  83. stock colored_print( target, const message[], any:... )
  84. {
  85. static buffer[ 512 ]
  86.  
  87. if( !target )
  88. {
  89. static player
  90. for( player = 1; player <= g_maxplayers; player++ )
  91. {
  92. if ( !is_user_connected( player ) )
  93. continue;
  94.  
  95. vformat( buffer, charsmax( buffer ), message, 3 )
  96.  
  97. message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
  98. write_byte( player )
  99. write_string( buffer )
  100. message_end()
  101. }
  102. }
  103.  
  104. else
  105. {
  106. vformat( buffer, charsmax( buffer ), message, 3 )
  107.  
  108. message_begin( MSG_ONE, g_msgSayText, _, target )
  109. write_byte( target )
  110. write_string( buffer )
  111. message_end()
  112. }
  113. }