#include #include #define MAX_MEDIA 30 new g_mediaID new g_media_player[1536] new g_media_names[MAX_MEDIA][32] new g_media_urls[MAX_MEDIA][512] new g_menuposition[33] new g_currentmediaplaying[33] enum INFO { NAME, AUTHOR, VERSION } new const PLUGIN[INFO:3][] = { "Adv. Media Player", "cheap_suit", "3.1" } public plugin_init() { register_plugin(PLUGIN[NAME], PLUGIN[VERSION], PLUGIN[AUTHOR]) register_cvar(PLUGIN[NAME], PLUGIN[VERSION], FCVAR_SPONLY|FCVAR_SERVER) register_menucmd(register_menuid("media_list"), 1023, "action_medialist") register_clcmd("say", "cmd_say") register_clcmd("say_team", "cmd_say") register_concmd("amx_addmedia", "cmd_addmedia", ADMIN_CFG, "- usage: | WARNING: BE SURE NOT TO HAVE A TYPO") register_concmd("amx_setmedia", "cmd_setmedia", ADMIN_BAN, "- usage: <@all|playerID> | set media for player(s)") register_concmd("amx_reloadmedia", "cmd_reloadmedia", ADMIN_CFG, "- reload's the amp_medialist.ini file") register_concmd("amx_listmedia", "cmd_listmedia", 0, "- show's all media available also to get the media id for admins") register_concmd("amx_listeners", "cmd_showlisteners", 0, "- show's current media playing") initialize() } public client_putinserver(id) { g_currentmediaplaying[id] = -1 } public task_info(id) if(is_user_connected(id)) client_print(id, print_chat, "[Radio Play-4Fun] Aktualnie sluchasz %s. Wpisz /stop aby wylaczyc radio.", g_media_names[g_currentmediaplaying[id]]) public cmd_reloadmedia(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED_MAIN initialize() console_print(id, "[Radio Play-4Fun] Ladowanie amp_medialist.ini zakonczone!") return PLUGIN_HANDLED_MAIN } public cmd_listmedia(id) { console_print(id, "[Radio Play-4Fun] Aktywne Radia:") for(new i = 0; i < g_mediaID; i++) console_print(id, "#%d %s", i, g_media_names[i]) return PLUGIN_HANDLED_MAIN } public cmd_showlisteners(id) { console_print(id, "[Radio Play-4Fun] Aktualnie sluchany kanal:") new players[32], num, i, index, mediaid get_players(players, num, "hc") for(i = 0; i < num; i++) { index = players[i] mediaid = g_currentmediaplaying[index] if(mediaid == -1) continue static name[32] get_user_name(index, name, charsmax(name)) console_print(id, "%s #%d. %s", name, mediaid, g_media_names[mediaid]) } return PLUGIN_HANDLED_MAIN } public cmd_addmedia(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED_MAIN new medianame[32], mediaurl[256] read_argv(1, medianame, charsmax(medianame)) read_argv(2, mediaurl, charsmax(mediaurl)) copy(g_media_names[g_mediaID], charsmax(g_media_names[]), medianame) copy(g_media_urls[g_mediaID++], charsmax(g_media_urls[]), mediaurl) new configs_dir[128], file[128] get_localinfo("amxx_configsdir", configs_dir, charsmax(configs_dir)) formatex(file, charsmax(file), "%s/%s", configs_dir, "amp_medialist.ini") if(file_exists(file)) { new text[512] formatex(text, charsmax(text), "^n^"%s^" ^"%s^"", medianame, mediaurl) write_file(file, text) console_print(id, "[Radio Play-4Fun] Dodawanie kanalu do amp_medialist.ini zakonczone!", medianame) } return PLUGIN_HANDLED_MAIN } public cmd_setmedia(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED_MAIN new player[32], medianumber[11] read_argv(1, player, charsmax(player)) read_argv(2, medianumber, charsmax(medianumber)) new mediaid = str_to_num(medianumber) if(mediaid > g_mediaID) { console_print(id, "[Radio Play-4Fun] Nie moge nawiazac polaczenia ze stacja!") return PLUGIN_HANDLED_MAIN } if(equali(player, "@all")) { new players[32], num, i get_players(players, num, "hc") for(i = 0; i < num; i++) play_media(players[i], mediaid) } else { new index = cmd_target(id, player, 2) if(index) { new name[32] get_user_name(index, name, charsmax(name)) play_media(index, mediaid) client_print(id, print_console, "[Radio Play-4Fun] Odtwarzanie %s to %s", g_media_names[mediaid], name) } } return PLUGIN_HANDLED_MAIN } public cmd_say(id) { static say_args[64] read_args(say_args, charsmax(say_args)) remove_quotes(say_args) if(say_args[0] != '/') return PLUGIN_CONTINUE if(equali(say_args, "/playmusic") || equali(say_args, "/music") || equali(say_args, "/playmedia") || equali(say_args, "/listen") || equali(say_args, "/muzyka") || equali(say_args, "/radio")) { display_medialist(id, g_menuposition[id] = 0) return PLUGIN_HANDLED_MAIN } else if(equali(say_args, "/stopmusic") || equali(say_args, "/stop") || equali(say_args, "/stopmedia") || equali(say_args, "/wylacz")) { g_currentmediaplaying[id] = -1 static motd[1024], len len = formatex(motd, charsmax(motd), "
")
		len += formatex(motd[len], charsmax(motd) - len, "
Kanal wylaczony. [Radio Play-4Fun] %s.^n", PLUGIN[NAME]) len += formatex(motd[len], charsmax(motd) - len, "
Plugin mozesz pobrac z www.play-4fun.pl^n") len += formatex(motd[len], charsmax(motd) - len, "
^n") show_motd(id, motd, PLUGIN[NAME]) return PLUGIN_HANDLED_MAIN } else if(equali(say_args, "/playagain") || equali(say_args, "/reload") || equali(say_args, "/replay")) { if(g_currentmediaplaying[id] == -1) client_print(id, print_chat, "[Radio Play-4Fun] Aktualnie nie sluchasz muzyki.") else play_media(id, g_currentmediaplaying[id]) return PLUGIN_HANDLED_MAIN } return PLUGIN_CONTINUE } display_medialist(id, pos) { if(pos < 0) return new maxtotal = g_mediaID new start = pos * 8 if(start >= maxtotal) start = pos = g_menuposition[id] new menubody[512] new len = format(menubody, charsmax(menubody), "Wybierz kanal do odtworzenia:^n^n") new end = start + 8 new keys = MENU_KEY_0 if(end > maxtotal) end = maxtotal new b = 0 for(new a = start; a < end; ++a) { keys |= (1<
")
	len += formatex(file_text[len], charsmax(file_text) - len, "
Kanal[MEDIA_NAME]^n") len += formatex(file_text[len], charsmax(file_text) - len, "
Wybrany kanal moze sie dlugo ladowac^n") len += formatex(file_text[len], charsmax(file_text) - len, "
Mozesz bez obawy wylaczcy to okno muzyka bedzie szla w tle^n") len += formatex(file_text[len], charsmax(file_text) - len, "
^n") len += formatex(file_text[len], charsmax(file_text) - len, "^n") len += formatex(file_text[len], charsmax(file_text) - len, "^n") len += formatex(file_text[len], charsmax(file_text) - len, "^n") len += formatex(file_text[len], charsmax(file_text) - len, "^n") len += formatex(file_text[len], charsmax(file_text) - len, "^n") len += formatex(file_text[len], charsmax(file_text) - len, "^n") len += formatex(file_text[len], charsmax(file_text) - len, "
^n") write_file(g_media_player, file_text) } new text[1024], line, length while(read_file(file, line++, text, charsmax(text), length)) { trim(text) if(!length || text[0] == ';') continue if(g_mediaID >= MAX_MEDIA) break static left[32], right[512] strbreak(text, left, charsmax(left), right, charsmax(right)) replace_all(left, charsmax(left), "^"", "") replace_all(right, charsmax(right), "^"", "") replace_all(right, charsmax(right), " ", "%20") copy(g_media_names[g_mediaID], charsmax(g_media_names[]), left) copy(g_media_urls[g_mediaID++], charsmax(g_media_urls[]), right) } }