Raised This Month: $ Target: $400
 0% 

Radio for steam clients


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
bristol
New Member
Join Date: Jul 2013
Old 06-25-2014 , 09:32   Radio for steam clients
Reply With Quote #1

Hello, is it possible to rewrite this plugin, what would he worked on new builds in steam players?
When you try to call MOTD, steam player folds game and the plugin itself does not make music well as Linux users the same problem. Suggested that can be rewritten in HTML5, but it seems that MOTD does not support the audio tag

Code:
#include <amxmodx>

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

new const fm_id[][][] = 
{ 
{"",""}, /*Не удалять.*/
{"DubStep",    "http://ru1.101.ru:8000/c15_24?tok=29862838lrwChN8DGbAdTsFClN5EPg20140622D20140622D6&setst=0072339001352700917"    },
{"Drum & Bass", "http://ru1.101.ru:8000/c12_3?tok=29862838lrwChN8DGbAdTsFClN5EPg20140622D20140622D6&setst=0072339001352700917" },
{"Trap", "http://ru1.101.ru:8000/c7_28?tok=29862838lrwChN8DGbB7QCOwKTwHCw20140622D20140622D9&setst=0072339001352700917"    },
{"ENERGY", "http://ru1.101.ru:8000/v1_1?tok=29862838lrwChN8DGbCG9RqaUFndxw20140622D20140622D9&setst=0072339001352700917" },
{"House", "http://ru1.101.ru:8000/c6_5?tok=29862838lrwChN8DGbCo8OxSL0V0Tw20140622D20140622D6&setst=0072339001352700917"    },
{"Deep House", "http://ru1.101.ru:8000/c18_2?tok=29862838lrwChN8DGbBZK5yiiXlvFg20140622D20140622D15&setst=0072339001352700917" },
{"Club Dance", "http://ru1.101.ru:8000/c4_2?tok=29862838lrwChN8DGbBZK5yiiXlvFg20140622D20140622D9&setst=0072339001352700917"    },
{"Modern Rock", "http://ru1.101.ru:8000/c11_1?tok=29862838lrwChN8DGbCG9RqaUFndxw20140622D20140622D3&setst=0072339001352700917" },
{"R'n'B", "http://ru1.101.ru:8000/c4_3?tok=29862838lrwChN8DGbCG9RqaUFndxw20140622D20140622D15&setst=0072339001352700917" },
{"Русский Рок",    "http://ru1.101.ru:8000/c1_2?tok=29862838lrwChN8DGbB7QCOwKTwHCw20140622D20140622D3&setst=0072339001352700917" },
{"Русский Рэп",    "http://ru1.101.ru:8000/c1_3?tok=29862838lrwChN8DGbA5bpSSuorgew20140622D20140622D3&setst=0072339001352700917" }
}

public who()
{
set_hudmessage(205, 150, 205, 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("\yRadio", "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)
}

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("\yRadio^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("\yRadio", "radiod")
menu_additem(i_Menu, "\yСлучайная станция", "1", 0)
menu_additem(i_Menu, "\wСписок станций", "2", 0)
}

menu_additem(i_Menu, "Слушатели", "4", 0)

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(205, 150, 205, 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, "Radio")
}

}

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("Radio", "2.0", "501")

register_clcmd("say /fm", "fm_menu")
register_clcmd("say /radio", "fm_menu")

new cvar = register_cvar("amx_miniradio_showtime", "0")
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'>Radio</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'>vk.com/ukraine_knife</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'>Radio:</br><font color='red'>Воспроизведение отключено.</font></b></big></br></br><font color='grey' size='1'>vk.com/ukraine_knife</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);
}

Last edited by bristol; 06-25-2014 at 09:37.
bristol is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:05.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode