hlmod.hu
https://hlmod.hu/

Korvegi
https://hlmod.hu/viewtopic.php?f=29&t=23560
Oldal: 2 / 2

Szerző:  Akosch:. [ 2016.01.15. 18:25 ]
Hozzászólás témája:  Re: Korvegi

  1. #include <amxmodx>
  2.  
  3. #define RANDOM
  4. #define MESSAGE
  5.  
  6. new const g_sSOUNDS[ ][ ] =
  7. {
  8.     "eleresiut.mp3",
  9.     "eleresiut.mp3",
  10.     // ...
  11. }
  12. new g_iPlayerRES;
  13.  
  14. #if defined MESSAGE
  15. new const g_sSOUNDNAMES[ ][ ] =
  16. {
  17.     "Hollywood Undead - Dead in Ditches",
  18.     // ...
  19. }
  20. new g_iSayTextId;
  21. #endif
  22.  
  23. public plugin_init()
  24. {
  25.     register_plugin( "Round End Sounds", "v1.0", "Akosch:." );
  26.  
  27.     register_logevent( "@fnPlayRES", 2, "1=Round_End" );
  28.  
  29.     register_clcmd( "say /korvegi", "@fnShowToggleMenu" );
  30.  
  31. #if defined MESSAGE
  32.     g_iSayTextId = get_user_msgid( "SayText" );
  33. #endif
  34. }
  35.  
  36. public plugin_precache( )
  37.     for ( new i; i < sizeof ( g_sSOUNDS ); ++i )
  38.         precache_sound( g_sSOUNDS[ i ] );
  39.  
  40. public client_putinserver( iPlayerId )
  41.     g_iPlayerRES |= ( 1 << ( 31 & iPlayerId ) );
  42.  
  43. @fnPlayRES( )
  44. {
  45.     new iPlayers[ MAX_PLAYERS ], iPlayerNum, iNum;
  46.  
  47. #if defined RANDOM
  48.     iNum = random( sizeof( g_sSOUNDS ) );
  49. #endif
  50.  
  51.     get_players( iPlayers, iPlayerNum, "c" );
  52.  
  53.     for ( new i; i < iPlayerNum; ++i )
  54.         if ( g_iPlayerRES & ( 1 << ( 31 & iPlayers[ i ] ) ) )
  55.         {
  56.             client_cmd( iPlayers[ i ], "mp3 play %s", g_sSOUNDS[ iNum ] );
  57. #if defined MESSAGE
  58.             SendColoredMsg( iPlayers[ i ], "Éppen szól: %s", g_sSOUNDNAMES[ iNum ] );
  59. #endif
  60.         }
  61.  
  62. #if !defined RANDOM
  63.     ( iNum > sizeof ( g_sSOUNDS ) - 1 ) ? iNum = 0 : ++iNum;
  64. #endif
  65. }
  66.  
  67. #if defined MESSAGE
  68. SendColoredMsg( const iPlayerId, const sMessage[ ], any:... )
  69. {
  70.     static sMsg[ 191 ];
  71.     vformat( sMsg, charsmax( sMsg ), sMessage, 3 );
  72.     message_begin( MSG_ONE, g_iSayTextId, .player = iPlayerId );
  73.     write_byte( iPlayerId );
  74.     write_string( sMsg );
  75.     message_end( );
  76. }
  77. #endif
  78.  
  79. @fnShowToggleMenu( iPlayerId )
  80. {
  81.     new sMenu[ 78 ];
  82.     formatex( sMenu, charsmax( sMenu ), "[XYZ szerver] Körvégi zenék: \r%s", g_iPlayerRES & ( 1 << ( 31 & iPlayerId ) ) ? ( "Bekapcsolva" ) : ( "Kikapcsolva" ) );
  83.     new iMenuId = menu_create( sMenu, "@fnToggleMenuHandler" );
  84.  
  85.     menu_additem( iMenuId, "Átkapcsolás" );
  86.  
  87.     menu_display( iPlayerId, iMenuId );
  88. }
  89.  
  90. @fnToggleMenuHandler( iPlayerId, iMenuId, iItemId )
  91. {
  92.     if ( iItemId != MENU_EXIT )
  93.     {
  94.         g_iPlayerRES ^= ( 1 << ( 31 & iPlayerId ) );
  95. #if defined MESSAGE
  96.         SendColoredMsg( iPlayerId, "Körvégi zenék ^3%s", g_iPlayerRES & ( 1 << ( 31 & iPlayerId ) ) ? ( "bekapcsolva" ) : ( "kikapcsolva" ) );
  97. #endif
  98.     }
  99.  
  100.     menu_destroy( iMenuId );
  101.  
  102.     return PLUGIN_HANDLED;
  103. }


Remélem így megfelel, menüfejlécben írja, hogy ki vagy be van kapcsolva, ha rányomsz az átkapcsolásra akkor átállítja az ellenkező értékre.
Amennyiben nem kommenteled ki a #define MESSAGE részt akkor dob egy üzenetet is arról, h mire állítottad át.
Ezt se teszteltem, de lefordult. :D

ui: most a menüt hozza be a /korvegi parancsra.

Szerző:  mforce [ 2016.01.15. 20:24 ]
Hozzászólás témája:  Re: Korvegi

Simple RoundEndSounds

Oldal: 2 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/