Advertisement
ISRaiyaN

Music Menu ( Fixed )

Mar 4th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.31 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <colorchat>
  3.  
  4. #define HEB_SOUNDS 12 // כמה שירים בעברית
  5. #define ENG_SOUNDS 12 // כמה שירים באנגלית
  6.  
  7. #define MaxPlayers get_maxplayers()
  8.  
  9. new Prefix[] = "AMXX"
  10.  
  11. new Text[ 200 ]
  12. new Song[ 64 ]
  13.  
  14. new Plugin[] = "Music Menu"
  15. new Version[] = "1.0"
  16. new Author[] = "ISRaiyaN" // לא לשנות יא מניאקים
  17.  
  18. new iVolume[ 33 ];
  19.  
  20. enum _: Heb
  21. {
  22.     NamesMusic[ 64 ],
  23.     Play[ 64 ],
  24. }
  25.  
  26. enum _: Eng
  27. {
  28.     NamesMusic[ 64 ],
  29.     Play[ 64 ],
  30. }
  31.  
  32. new const HebMusic[ HEB_SOUNDS ][ Heb ] =
  33. {
  34.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  35.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  36.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  37.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  38.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  39.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  40.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  41.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  42.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  43.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  44.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" },
  45.     { "Heb Songs Name", "Music/Hebrew/SongsName.mp3" }
  46. }
  47.  
  48. new const EngMusic[ ENG_SOUNDS ][ Eng ] =
  49. {
  50.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  51.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  52.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  53.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  54.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  55.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  56.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  57.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  58.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  59.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  60.     { "Eng Songs Name", "Music/English/SongsName.mp3" },
  61.     { "Eng Songs Name", "Music/English/SongsName.mp3" }
  62. }
  63.  
  64. public plugin_precache()
  65. {
  66.     for( new i; i < ENG_SOUNDS; i++ )
  67.     precache_sound( EngMusic[ i ][ Play ] )
  68.    
  69.     for( new i; i < HEB_SOUNDS; i++ )
  70.     precache_sound( HebMusic[ i ][ Play ] )
  71. }
  72.  
  73. public plugin_init() {
  74.     register_plugin( Plugin, Version, Author)
  75.    
  76.     register_clcmd("say /music", "MusicMenu")
  77.     register_clcmd("nightvision", "MusicMenu")
  78.     register_clcmd("say /sm", "StopMusic")
  79.     register_clcmd("say /stop", "StopMusic")
  80.     register_clcmd("say /stopmusic", "StopMusic")
  81.    
  82.     set_task(70.0, "Message",_,_,_, "b")
  83. }
  84.  
  85. public client_putinserver( id )
  86. {
  87.     client_cmd( id, "MP3Volume ^"1.0^"" );
  88.        
  89.     Song[ id ] = 0;
  90.    
  91.     iVolume[id] = 100
  92. }
  93.  
  94. public StopMusic(id)
  95. {
  96.     client_cmd(id, "mp3 stop")
  97.     ColorChat(id, RED, "^4[ ^3%s ^4] ^1You have ^3Stopped ^1your ^4Music.", Prefix )
  98.    
  99.     return 1;
  100. }
  101.  
  102. public MusicMenu(id)
  103. {
  104.     formatex( Text, charsmax( Text ), "\r[ \d%s \r] \yMusic Menu \dBy \w%s^n^n\r- \dVolume: \y%d%", Prefix, Author, iVolume[id])
  105.     new MMenu = menu_create( Text, "Music_Handler")
  106.    
  107.     menu_additem( MMenu, "English Music \rMenu" )
  108.     menu_additem( MMenu, "Hebrew Music \rMenu^n" )
  109.     menu_additem( MMenu, "Stop \yMusic^n" )
  110.     menu_additem( MMenu, "Volume \rMenu^n" )
  111.    
  112.     menu_setprop(MMenu, MPROP_EXIT, MEXIT_ALL )
  113.     menu_setprop(MMenu, MPROP_EXITNAME, "\yClose")
  114.     menu_setprop(MMenu, MPROP_NUMBER_COLOR, "\r" )
  115.  
  116.     menu_display(id, MMenu, 0);
  117.  
  118.     return 1;
  119. }
  120.  
  121. public Music_Handler(id, MMenu, item)
  122. {
  123.     switch( item )
  124.     {
  125.         case 0:
  126.         {
  127.             EngMusicMenu(id)
  128.         }
  129.        
  130.         case 1:
  131.         {
  132.             HebMusicMenu(id)
  133.         }
  134.        
  135.         case 2:
  136.         {
  137.             client_cmd(id, "mp3 stop")
  138.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1You have ^3Stopped ^1your ^4Music.", Prefix )
  139.             MusicMenu(id)
  140.         }
  141.        
  142.         case 3:
  143.         {
  144.             VolumeMenu(id)
  145.         }
  146.     }
  147. }
  148.  
  149. public Message()
  150. {
  151.     ColorChat(0, RED, "^4[ ^3%s ^4] ^1This Music Menu ^4Built ^1By ^3%s^1.", Prefix, Author )
  152. }
  153.  
  154. public EngMusicMenu(id)
  155. {  
  156.     formatex( Text, charsmax( Text ), "\r[ \d%s \r] \yEnglish Music Menu\w", Prefix)
  157.     new EngMenu = menu_create( Text, "Eng_Handler")
  158.        
  159.     for( new i; i < sizeof EngMusic; i++ )
  160.     {
  161.         formatex( Text, charsmax( Text ), "\w%s", EngMusic[ i ][ NamesMusic ] )
  162.         menu_additem( EngMenu, Text )
  163.     }
  164.     menu_setprop(EngMenu, MPROP_EXIT, MEXIT_ALL );
  165.     menu_setprop(EngMenu, MPROP_EXITNAME, "\yBack" )
  166.     menu_setprop(EngMenu, MPROP_NUMBER_COLOR, "\r" )
  167.  
  168.     menu_display(id, EngMenu, 0);
  169.  
  170.     return ;
  171. }
  172.  
  173. public Eng_Handler(id, EngMenu, item)
  174. {
  175.     if ( item == MENU_EXIT )
  176.     {
  177.         menu_destroy( EngMenu );
  178.         MusicMenu( id );
  179.     }
  180.    
  181.     client_cmd(id, "mp3 play ^"sound/%s^"", EngMusic[ Song[id]][ Play ] )
  182.     ColorChat(id, RED, "^4[ ^3%s ^4] ^1You have ^3Started ^1the ^4Song: ^3%s", Prefix, EngMusic[ Song[id]][ NamesMusic ])
  183.    
  184.     MusicMenu(id)
  185. }      
  186.        
  187. public HebMusicMenu(id)
  188. {
  189.     formatex( Text, charsmax( Text ), "\r[ \d%s \r] \yHebrew Music Menu\w", Prefix)
  190.     new HebMenu = menu_create( Text, "Heb_Handler")
  191.        
  192.     for( new i; i < sizeof HebMusic; i++ )
  193.     {
  194.         formatex( Text, charsmax( Text ), "\w%s", HebMusic[ i ][ NamesMusic ] )
  195.         menu_additem( HebMenu, Text )
  196.     }
  197.        
  198.     menu_setprop(HebMenu, MPROP_EXIT, MEXIT_ALL );
  199.     menu_setprop(HebMenu, MPROP_EXITNAME, "\yBack" )
  200.     menu_setprop(HebMenu, MPROP_NUMBER_COLOR, "\r" )
  201.  
  202.     menu_display(id, HebMenu, 0);
  203.  
  204.     return ;
  205. }
  206. public Heb_Handler(id, HebMenu, item)
  207. {
  208.     if ( item == MENU_EXIT )
  209.     {
  210.         menu_destroy( HebMenu );
  211.         MusicMenu( id );
  212.     }
  213.    
  214.     client_cmd(id, "mp3 play ^"sound/%s^"", HebMusic[ Song[id]][ Play ] )
  215.     ColorChat(id, RED, "^4[ ^3%s ^4] ^1You have ^3Started ^1the ^4Song: ^3%s", Prefix, HebMusic[ Song[id]][ NamesMusic ])
  216.    
  217.     MusicMenu(id)
  218. }
  219.  
  220. public VolumeMenu(id)
  221. {
  222.     formatex( Text, charsmax( Text ), "\r[ \d%s \r] \yVolume Menu^n\r- \dChoose your volume you want^n\dVolume: \y%d%", Prefix, iVolume[id])
  223.     new VolMenu = menu_create( Text, "Volume_Handler")
  224.    
  225.     menu_additem( VolMenu, "Volume: \y100%" )
  226.     menu_additem( VolMenu, "Volume: \y80%" )
  227.     menu_additem( VolMenu, "Volume: \y60%" )
  228.     menu_additem( VolMenu, "Volume: \y40%" )
  229.     menu_additem( VolMenu, "Volume: \y20%" )
  230.     menu_additem( VolMenu, "Volume: \y0%" )
  231.    
  232.     menu_setprop(VolMenu, MPROP_EXIT, MEXIT_ALL );
  233.     menu_setprop(VolMenu, MPROP_EXITNAME, "\yBack" )
  234.     menu_setprop(VolMenu, MPROP_NUMBER_COLOR, "\r" )
  235.  
  236.     menu_display(id, VolMenu, 0);
  237.    
  238.     return ;
  239. }
  240. public Volume_Handler(id, VolMenu, item)
  241. {
  242.     if ( item == MENU_EXIT )
  243.     {
  244.         menu_destroy( VolMenu );
  245.         MusicMenu( id );
  246.    
  247.     }  
  248.     switch( item )
  249.     {
  250.         case 0:
  251.         {
  252.             iVolume[id] = 100
  253.             client_cmd(id, "MP3Volume ^"1.0^"" )
  254.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1Your ^3Volume ^1now:^4 100%", Prefix )
  255.             VolumeMenu(id)
  256.         }
  257.         case 1:
  258.         {
  259.             iVolume[id] = 80
  260.             client_cmd(id, "MP3Volume ^"0.8^"" )
  261.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1Your ^3Volume ^1now:^4 80%", Prefix )
  262.             VolumeMenu(id)
  263.         }
  264.         case 2:
  265.         {
  266.             iVolume[id] = 60
  267.             client_cmd(id, "MP3Volume ^"0.6^"" )
  268.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1Your ^3Volume ^1now:^4 60%", Prefix )
  269.             VolumeMenu(id)
  270.         }
  271.         case 3:
  272.         {
  273.             iVolume[id] = 40;
  274.             client_cmd(id, "MP3Volume ^"0.4^"" )
  275.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1Your ^3Volume ^1now:^4 40%", Prefix )
  276.             VolumeMenu(id)
  277.         }
  278.         case 4:
  279.         {
  280.             iVolume[id] = 20;
  281.             client_cmd(id, "MP3Volume ^"0.2^"" )
  282.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1Your ^3Volume ^1now:^4 20%", Prefix )
  283.             VolumeMenu(id)
  284.         }
  285.         case 5:
  286.         {
  287.             iVolume[id] = 0;
  288.             client_cmd(id, "MP3Volume ^"0.0^"" )
  289.             ColorChat(id, RED, "^4[ ^3%s ^4] ^1Your ^3Volume ^1now:^4 0%", Prefix )
  290.             VolumeMenu(id)
  291.         }
  292.     }
  293. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement