Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Radio на steam клиентах

, Radio на steam клиентах
Статус пользователя bristol
сообщение 22.6.2014, 17:15
Сообщение #1


Стаж: 12 лет

Сообщений: 320
Благодарностей: 95
Полезность: 225

Приветствую, возможно ли переписать этот плагин, что бы он работал на новых билдах у steam игроков?
При попытке вызвать MOTD, у steam игрока сворачивается игра и сам плагин не производит музыку, также у пользователей Linux такая же проблема.
Готов перевести это в заказ.

Исходник
Код:
#include <amxmodx>

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

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, "Слушатели", "4", 0)

/*Русификация пунктов: 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•
*/


Отредактировал: bristol, - 22.6.2014, 17:25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 22.6.2014, 17:16
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bristol, подсветка (PAWN)?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bristol
сообщение 22.6.2014, 17:18
Сообщение #3


Стаж: 12 лет

Сообщений: 320
Благодарностей: 95
Полезность: 225

Цитата(Bloo @ 22.6.2014, 18:16) *
bristol, подсветка (PAWN)?


Видимо неудачно исходник кинул, исправил.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 22.6.2014, 17:23
Сообщение #4


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

а не

Код:
register_plugin("MiniRadio by Slimshady", "2.0", "Slimshady")




Отредактировал: grishka444, - 22.6.2014, 17:32


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 22.6.2014, 17:23
Сообщение #5


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bristol, CODE это не PAWN
еще и кодировка унылая. Прикрепите лучше файлом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bristol
сообщение 22.6.2014, 17:26
Сообщение #6


Стаж: 12 лет

Сообщений: 320
Благодарностей: 95
Полезность: 225

Цитата(Bloo @ 22.6.2014, 18:23) *
bristol, CODE это не PAWN
еще и кодировка унылая. Прикрепите лучше файлом.


Не заметил ту кнопку, исправил)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 22.6.2014, 17:46
Сообщение #7
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

В Steam'е свой движок для браузера, в котором 'MOTD-проигрыватель' не работает и/или вызывает проблемы. Надо найти работающий) Я таких не знаю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 22.6.2014, 17:50
Сообщение #8


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Надо воспроизводить с помощью HTML5
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя bristol
сообщение 22.6.2014, 17:53
Сообщение #9


Стаж: 12 лет

Сообщений: 320
Благодарностей: 95
Полезность: 225

Цитата(Bloo @ 22.6.2014, 18:50) *
Надо воспроизводить с помощью HTML5


Хорошо что уже есть способ, спасибо) Но есть ли скриптеры которые смогут реализовать такое, можно и платно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 22.6.2014, 20:27
Сообщение #10
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Тут не в скриптинге дело, а в web-программировании. Сам 'сайт' нужно править.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FlaZeR
сообщение 22.6.2014, 20:39
Сообщение #11
Стаж: 12 лет

Сообщений: 354
Благодарностей: 145
Полезность: 81

Цитата(Safety1st @ 22.6.2014, 20:27) *
Тут не в скриптинге дело, а в web-программировании. Сам 'сайт' нужно править.

Uppod.ru \ тут можно получить html5 плеер, остальное можете сами настроить :)
мп3 или m3u файл
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: