Może i Ci bardzo nie pomogę ale można opierać się na menu takim
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define MAX_SONG 40
new P_Menu,P_Load,P_Start,P_CT,P_T
new configLine[65]
new lineNum = 0
new pointNum = -1
new filename[66]
new songs[MAX_SONG][30]
public plugin_init()
{
register_plugin("Music Menu", "1.3", "Fxfighter")
register_clcmd( "say /music","Show_Songs")
register_clcmd( "say_team /music","Show_Songs")
P_Menu = register_cvar("amx_music_menu","1")
P_Load = register_cvar("amx_music_lsong","-1")
P_Start = register_cvar("amx_music_ssong","-1")
P_T = register_cvar("amx_music_tsong","-1")
P_CT = register_cvar("amx_music_ctsong","-1")
register_logevent("Round_start", 2, "1=Round_Start")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}
//adds our song into the menu and removes format
public Show_Songs(id)
{
if(!get_pcvar_num(P_Menu))
return PLUGIN_CONTINUE
new menu = menu_create("Music Menu" , "play_handle");
new i,NR[4],NAME[30],Left[30]
for (i=0; i<MAX_SONG; i++)
{
if(songs[i][0] != 0)
{
format(NR,3,"%i",i)
strtok( songs[i], NAME, 29, Left, 29, '.',0)
menu_additem(menu ,NAME, NR , 0);
}
}
menu_additem(menu ,"Stop All Music", "" , 0);
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
return PLUGIN_CONTINUE
}
public play_handle(id , menu , item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
}
new szCommand[6] , szName[64];
new Access , callback;
menu_item_getinfo(menu , item , Access , szCommand , 5 , szName , 63 , callback);
if(equal(szName , "Stop All Music"))
{
client_cmd(id,"mp3 stop;stopsound")
client_print(id,print_chat,"All Playing music have been stopped")
return PLUGIN_HANDLED
}
client_print(id,print_chat,"you are now listening to %s",szName)
new i = str_to_num(szCommand)
Play_Song(id,i)
menu_destroy(menu);
return PLUGIN_CONTINUE
}
//Load the music frome a file and put it into our array.
public Load()
{
get_configsdir(filename, 65)
format(filename, 65, "%s/songs.ini", filename)
new iLen, song[30]
while(read_file(filename,lineNum++,configLine,64,iLen))
{
if (iLen > 0)
{
pointNum++
parse(configLine, song, 29)
if(song[0] != 0)
{
songs[pointNum]=song
}
}
}
return PLUGIN_CONTINUE
}
//Make the user download all music.
public plugin_precache()
{
Load()
new i
new Download[50]
for (i=0; i<MAX_SONG; i++)
{
if(songs[i][0] != 0)
{
format(Download,49,"music/%s",songs[i])
precache_sound(Download)
}
}
}
public Song(id,nr)
{
if(nr == 0)
return PLUGIN_CONTINUE
nr-=1
if(nr == -2)
{
nr = MAX_SONG-1
while(songs[nr][0] == 0)
nr = random_num(0,MAX_SONG-1)
}
Play_Song(id,nr)
return PLUGIN_CONTINUE
}
//Made this a function ínstead so i can call whenever i need it
public Play_Song(id,nr)
{
if(contain(songs[nr], ".mp3"))
{
client_cmd(id,"mp3 play sound/music/%s",songs[nr])
}
else
{
client_cmd(id,"spk music/%s",songs[nr])
}
}
//Masive Spam under.... beware
public Round_start()
{
Song(0,get_pcvar_num(P_Start))
}
//Ct Win Music
public t_win()
{
Song(0,get_pcvar_num(P_T))
}
//Ct Win Music
public ct_win()
{
Song(0,get_pcvar_num(P_CT))
}
//connect music
public client_connect(id)
{
Song(id,get_pcvar_num(P_Load))
}