Поиск Радио Онлайн на сервере КС 1.6

Сообщения
143
Реакции
68
Помог
1 раз(а)
Доброго времени суток всем.
Кто может посоветовать плагин который с помощью команды разрешал бы проигрывать на сервере онлайн какое нибудь радио (Хит FM, Люкс FM, Kiss FM и т.д.)
И по команде его отключать.
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
roten, попробуйте этот плагин , нашёл на просторах интернета.
Код:
#include <amxmodx>

new name_receiver[33], receivers[256], user_fm[33],count
static buffer[4096], buffer_off[2048]

/*
MiniRadio by Slimshady", "2.0
*/

/*
Для того, чтобы добавить свою станцию, добавьте строчку в массив ниже,
на примере других станций, в формате:
{"Название","Ссылка на потоковое вещание"},
Учтите, что если добавляете станцию в самый конец, то запятая в конце строки не нужна.
*/

new const fm_id[][][] =
{
{"",""}, /*Для удобства оставляем первую строчку пустой, удалять ее не нужно.*/
{"HIT fm",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=hitfm"    },
{"Europa+",    "http://radiogrom.com/online/moskva_fm/europa_plus_online.m3u"        },
{"RECORD",    "http://radio.sampo.ru/record.m3u"                    },
{"Maximum",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=maximum"    },
{"Gameradio",    "http://listen.fmgameradio.ru:8008/GameRadio"                },
{"ENERGY",    "http://radiostream.akado.ru/playlist/radio.m3u?station=nrj&stream=192"    },
{"U FM",        "mms://live.rfn.ru/unost/stream.asf"                },
{"DFM Urban",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=station04"    },
{"DFM Club",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=station01"    },
{"DFM Fresh",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=station02"    },
{"DFM Dance",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=station03"    },
{"DFM Love",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=station10"    },
{"RUS RADIO",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=rusradio"    },
{"Шансон",    "http://radio.sampo.ru/shanson.m3u"                },
{"Дорожное",    "http://radio.sampo.ru/dorozhnoe.m3u"                },
{"Авторадио",    "http://radio.sampo.ru/avtoradio.m3u"                },
{"Montecarlo",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=montecarlo"    },
{"Disco 90th",    "http://cluster.quantumart.ru/broadcast/default.aspx?media=07"        }
}

/*Функция для отображения списка слушателей.*/
public who()
{
/*Настройка цвета и позиции для сообщения.*/
set_hudmessage(127, 0, 255, 0.85, 0.31, 2, 0.04, 20.0, 0.03, 0.02, 1)

/*Если слушателей нет, то показываем это сообщение.*/
if(!name_receiver[0])
show_hudmessage(0, "Играй с музыкой! =)^nНапиши /fm в чат.")

/*Если есть, то это.*/
else
show_hudmessage(0, "Играй с музыкой! =)^nНапиши /fm в чат.^nСлушатели:^n%s", receivers)    

}
public fm(id)
{
new i_Menu = menu_create("\yMiniRadio \wBy \rSLIMSHADY:\w", "radio")
new item[3], form[64]

/*Составляем пункты меню из списка станций.*/
for(new i=1; i<=count; i++)
{
num_to_str(i, item, 3)

/*Если текущая станция - проигрываемая, то указываем это.*/
if(i==user_fm[id])
{
formatex(form, charsmax(form), "\d%s (now)", fm_id[i][0])
menu_additem(i_Menu, form, item,0)
}
/*Если нет, то обычная строка.*/
else
menu_additem(i_Menu, fm_id[i][0], item)
}

/*Русификация пунктов: Back, Next, Exit.*/
menu_setprop(i_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(i_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(i_Menu, MPROP_EXITNAME, "Гл. меню")
menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, i_Menu, 0)
return PLUGIN_HANDLED
}

public client_disconnect(id)
{
if(user_fm[id])
{
user_fm[id] = 0
hudradio();
}
}

/*Функция для пересчета слушателей и прослушиваемых станций.*/
public hudradio()
{
name_receiver[0] = '^0';
receivers[0] = '^0';
new num=get_maxplayers()
for(new id = 1; id <= num; id++)
{
if(!is_user_connected(id) || !user_fm[id])
continue;
get_user_name(id, name_receiver, 31)
formatex(receivers, 255, "%s %s (%s)^n", receivers, name_receiver, fm_id[user_fm[id]][0])
}
}

/*Основное меню плагина*/
public fm_menu(id)
{
new i_Menu

if(user_fm[id] > 0)
{
i_Menu = menu_create_format("\yMiniRadio \wBy \rSLIMSHADY^n\wВы слушаете: \y%s", "radiod", fm_id[user_fm[id]][0])
menu_additem(i_Menu, "\yОтключить" , "1", 0)
menu_additem(i_Menu, "Случайная станция", "3", 0)
menu_additem(i_Menu, "\wСписок станций", "2", 0)    
}

else
{
i_Menu = menu_create("\yMiniRadio \wBy \rSLIMSHADY", "radiod")
menu_additem(i_Menu, "\yСлучайная станция", "1", 0)
menu_additem(i_Menu, "\wСписок станций", "2", 0)
}

menu_additem(i_Menu, fm_id[i][0], item)

/*Русификация пунктов: Back, Next, Exit.*/
menu_setprop(i_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(i_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(i_Menu, MPROP_EXITNAME, "Выйти")
menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, i_Menu, 0)

return PLUGIN_HANDLED
}
public radiod(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new i_Key = str_to_num(s_Data)
switch(i_Key)
{
case 1:
{

if(user_fm[id] > 0)
{
user_fm[id] = 0
hudradio();Play(id)
}

else
random_fm(id)

}
case 2:fm(id)
case 3:random_fm(id)
case 4:
{
set_hudmessage(127, 0, 255, 0.85, 0.31, 2, 0.04, 20.0, 0.03, 0.02, 1)

if(!name_receiver[0])
show_hudmessage(id, "Слушателей нет :'(")
else
show_hudmessage(id, "Слушатели:^n%s", receivers)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public Play(id)
{
static motd_show[4096]

/*Если клиент предпочел выключить радио.*/
if(!user_fm[id]) show_motd(id, buffer_off, "OFF")

/*Если включил или выбрал другую станцию.*/
else
{
formatex(motd_show, charsmax(motd_show), buffer, fm_id[user_fm[id]][0], fm_id[user_fm[id]][1])
show_motd(id, motd_show, "MiniRadio By Slimshady")
}

}

public radio(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
fm_menu(id)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
user_fm[id] = str_to_num(s_Data)
Play(id);hudradio()
menu_destroy(menu)

return PLUGIN_HANDLED
}

/*Функция для случайного выбора станции.*/
public random_fm(id)
{
new random_int = random_num(1, count);
/*Если случайное радио совпадает с текущей проигрываемой станцией, то выбираем случайное еще раз.*/
if(random_int == user_fm[id])
{
random_fm(id); return PLUGIN_HANDLED
}
user_fm[id] = random_int;
Play(id);hudradio();
return PLUGIN_HANDLED
}


public plugin_init()
{
register_plugin("MiniRadio by Slimshady", "2.0", "Slimshady")

/*Команда для вызова меню плагина.*/
register_clcmd("say /fm", "fm_menu")

/*Регистрация квара для регулировки показа информации о слушателях.*/
new cvar = register_cvar("amx_miniradio_showtime", "200.0")
/*Узнаем общее кол-во FM станций.*/
count = sizeof(fm_id)-1

/*Формируем окно включения радио*/
    add(buffer, charsmax(buffer), "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><p align='center'><body bgcolor='black'>")
    add(buffer, charsmax(buffer), "<big><b><font color='yellow'>MiniRadio by Slimshady v2.0</br><font color='red'>Воспроизводится: <font color='lawngreen'>%s</b></big></font><br><p align='left'>")
    add(buffer, charsmax(buffer), "<font color='orange'><b>Идет буферизация... Вы можете закрыть окно.</b></font><br>")
    add(buffer, charsmax(buffer), "<font color='red'>(Если воспроизведение не началось - попробуйте включить эту станцию снова.)</font><br>")
    add(buffer, charsmax(buffer), "<DIV align=center><EMBED style='WIDTH: 298px; HEIGHT: 100px' height=500 type=application/x-mplayer2 pluginspage=http://www.microsoft.com/Windows/MediaPlayer/ width=500 src='%s' ShowStatusBar='1' showtracker='0'")
    add(buffer, charsmax(buffer), "displaysize='0' autosize='1' showcontrols='true' Volume='10' animationatstart='0' transparentatstart='0' autostart='true'></DIV><p align='center'><font color='grey' size='1'>www.banan.ws</font></p></body>")

/*Формируем окно выключения радио.*/
    add(buffer_off, charsmax(buffer_off), "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><title>play</title></head><body bgcolor='black'><p align='center'>")
    add(buffer_off, charsmax(buffer_off) , "<big><b><font color='yellow'>MiniRadio by Slimshady v2.0:</br><font color='red'>Воспроизведение отключено.</font></b></big></br></br><font color='grey' size='1'>www.banan.ws</font></p></body>")

/*Таймер для показа информации о слушателях.*/
if(get_pcvar_float(cvar)>0.0)
set_task(get_pcvar_float(cvar),"who", random_num(100, 900), _, _,"b")

}

/*Функция для быстрого форматирования заголовка.*/
stock menu_create_format(const title[], const handler[], any:...)
{
new menu_title[256]
vformat(menu_title, charsmax(menu_title), title, 3)
return menu_create(menu_title, handler);
}
/*
The End. •January 2013•
*/
 

Вложения

Последнее редактирование:
Сообщения
143
Реакции
68
Помог
1 раз(а)
Sleedney, я про этот плагин слышал. Все хорошо. Но там есть одна проблемка. Не запускается медиаплеер у Steam игроков. Пишет не может загрузить плагин. Хотя в нонстимах все ОК.
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
wopox1337 Учитель ,как считаешь возможно ли что автор не учёл запуск медиаплеера для стима а сам тестил плагин на нон стим версии ?
 
Сообщения
342
Реакции
65
Помог
6 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Sleedney, нет, когда писался плагин, были старые версии стима, в которых работал internet explorer, после обнов его там небыло
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
ops244, т.е получается для стима данный плагин не запилить или всё таки есть решение? варианты.
 
Сообщения
342
Реакции
65
Помог
6 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Sleedney, я не видел, по мне так проще в браузере то-же радио включить)))
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
ops244, с такими прорывами скоро в cs 1.6 встроят sony playstation 4 :mosking:
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
ops244, т.е получается для стима данный плагин не запилить или всё таки есть решение? варианты.
проверять на стим, и в случае положительного результата встраивать не embed, а html5 аудио
 

AXM

Сообщения
85
Реакции
2
апну тему товарищи) может быть есть актуальные способы?
 
Сообщения
3
Реакции
1
Да не хотят они нормальную поддержку мотд окон в стим кс делать, уже создавал тему на гите..
 
Сообщения
330
Реакции
-24
AXM, поддерживаю, тоже было бы интересно услышать на стиме данный плагин.
 
Сообщения
330
Реакции
-24
Sleedney, компилируется с ошибками, а в прикреплённом файле кодировка сбилась, и не меняется. Есть альтернативные плагины?
 
Сообщения
1,545
Реакции
1,545
Помог
2 раз(а)
Да не хотят они нормальную поддержку мотд окон в стим кс делать, уже создавал тему на гите..
Что говорить то, если пошли широкоформатники то и сьезжает лет так 15 границы окна
Вот создавал гайд ручной работы - другого выхода нет
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу