Sziasztok
azt kéne megoldani, hogy ha beírod /mp3, és kiválasztod az egyes menüt, ami jelen esetben a mp3list, akkor beolvasná a playlist.ini-ben lévő szöveget, és kiírná, úgy mint a menüt ( ha valakinek sok ideje van, az meg is csinálhatja, hogy a kiírt zenéknél is el lehessen indítani, ne csak a /play parancsal). public mp3List(id){ től nemtudom megírni, de fel is raknám az oldalra, ha megcsinálná ezt a kis kiegészítést valaki
´[metálnak: nem boldogulok vele
]
Kód:
#include <amxmodx>
#include <amxmisc>
#include <engine>
new mp3_nbr=1
new mp3_track=1
new mp3_playlist[30][64]
public plugin_init(){
register_plugin("Mp3 Player","1.1","2FuR!uS")
register_dictionary("mp3player.txt")
new mp3_menu_title[128]
format(mp3_menu_title, 127, "%L",LANG_PLAYER,"MP3_MENU_TITLE")
register_menucmd(register_menuid(mp3_menu_title),1023,"mp3Choice")
new mp3_help[128]
format(mp3_help, 127, "%L",LANG_PLAYER,"MP3_HELP")
register_clcmd("say /mp3","mp3Menu",0,mp3_help)
register_clcmd("say /play","mp3Play",0,mp3_help)
register_clcmd("say /next","mp3Next",0,mp3_help)
register_clcmd("say /prev","mp3Prev",0,mp3_help)
register_clcmd("say /stop","mp3Stop",0,mp3_help)
return PLUGIN_CONTINUE
}
public mp3List(id){
//kiegészítendő kód
}
public mp3Play(id){
client_cmd(id,"mp3 play %s", mp3_playlist[mp3_track])
client_print(id, print_chat, "%L",LANG_PLAYER,"MP3_PLAY", mp3_playlist[mp3_track], mp3_track, mp3_nbr)
}
public mp3Stop(id){
client_cmd(id,"mp3 stop")
client_print(id, print_chat, "%L",LANG_PLAYER,"MP3_STOP")
mp3_track = 1
}
public mp3Next(id){
mp3_track++
if ( mp3_track == (mp3_nbr+1) ) mp3_track = 1
mp3Play(id)
}
public mp3Prev(id){
mp3_track--
if ( mp3_track == 0 ) mp3_track = mp3_nbr
mp3Play(id)
}
public plugin_precache(){
new mp3_file[128]
new length
new playlist_ini_file[64]
new mp3_line
get_configsdir(playlist_ini_file, 63)
format(playlist_ini_file, 63, "%s/playlist.ini", playlist_ini_file)
if (file_exists( playlist_ini_file )){
while(read_file( playlist_ini_file,mp3_line++,mp3_file,sizeof(mp3_file),length)){
if (mp3_file[0] == ';') continue
if (equali(mp3_file,"")) continue
if (equali(mp3_file," ")) continue
if (mp3_file[0] == '/' && mp3_file[1] == '/') continue
format(mp3_playlist[mp3_nbr],sizeof(mp3_playlist)-1,"%s",mp3_file)
precache_generic(mp3_file)
mp3_nbr++
}
} else
server_print("[MP3]ERROR! : The playlist (%s) can t be loaded",playlist_ini_file)
server_print("[MP3]Loaded %d musics from %s",mp3_nbr,playlist_ini_file)
mp3_nbr--
return PLUGIN_CONTINUE
}
public mp3Menu(id){
new menuBody[1024]
new key
format(menuBody, 1023, "\r%L\R^n^n\y1.\w %L^n\y2.\w %L^n\y3.\w %L^n\y4.\w %L^n\y5.\w %L^n\y6.\w %L",LANG_PLAYER,"MP3_MENU_TITLE",LANG_PLAYER,"MP3_MENU_LIST",LANG_PLAYER,"MP3_MENU_PLAY",LANG_PLAYER,"MP3_MENU_STOP",LANG_PLAYER,"MP3_MENU_NEXT",LANG_PLAYER,"MP3_MENU_PREV",LANG_PLAYER,"MP3_MENU_EXIT")
key = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)
show_menu(id, key, menuBody)
}
public mp3Choice(id, key){
switch(key){
case 0:
mp3List(id)
case 1:
mp3Play(id)
case 2:
mp3Stop(id)
case 3:
mp3Next(id)
case 4:
mp3Prev(id)
case 5:
return PLUGIN_HANDLED
}