PDA

Просмотр полной версии : [Мануал] Радио в диалоге



L0ndl3m
09.11.2013, 20:08
Всем привет. Сегодня мы создадим команду /radio в диалоге и с 5 радиостанциями.



Создадим саму команду, в которой будут видны наши 5 радиостанции:

В самое начало мода:


const
DLG_RADIO = 10011; // если диалог с таким ID уже есть, замените 10011 на своё число

В public OnPlayerCommandText:


if(0 == strcmp(cmdtext, "/radio", true))
return ShowPlayerDialog(playerid, DLG_RADIO, DIALOG_STYLE_LIST, "Радио", "1.\tZaycev.FM\n2.\tRadio Record\n3.\tEuropa Plus\n4.\tBiker.FM\n5.\tRadioROKS\n6.\t{FF9900}Остановить прослушивание", "Выбрать", "Закрыть");


Команда готова, перейдём к распознаванию диалога:

В public OnDialogResponse:


if(dialogid == DLG_RADIO)
{
if(response == 0)
return 1;

switch(listitem)
{
case 0:
PlayAudioStreamForPlayer(playerid, "http://radio.zaycev.fm:9002/ZaycevFM(128).m3u"); // Если игрок выбрал 0 пункт в диалоге (listitem), то есть первый по списку, то запустим радио - "Зайцев ФМ"
case 1:
PlayAudioStreamForPlayer(playerid, "http://online.radiorecord.ru:8101/rr_128"); // Если игрок выбрал 1 пункт в диалоге (listitem), второй по списку, то запустим радио - "Радио рекорд"
case 2:
PlayAudioStreamForPlayer(playerid, "http://onair.eltel.net:80/europaplus-128k"); // Если игрок выбрал 2 пункт в диалоге (listitem), третий по списку, то запустим радио - "Европа Плюс"
case 3:
PlayAudioStreamForPlayer(playerid, "http://stream3.radiostyle.ru:8001/biker-fm"); // Если игрок выбрал 3 пункт в диалоге (listitem), четвёртый по списку, то запустим радио - "Байкер ФМ"
case 4:
PlayAudioStreamForPlayer(playerid, "http://online-radioroks.tavrmedia.ua/RadioROKS"); // Если игрок выбрал 4 пункт в диалоге (listitem), пятый по списку, то запустим радио - "Радио РОКС"
case 5:
StopAudioStreamForPlayer(playerid); // Если игрок выбрал 5 пункт в диалоге (listitem), шестой, последний, по списку, то остановим игроку прослушивание
}
}



Ко всем new:


const
DLG_RADIO = 10011; // если диалог с таким ID уже есть, замените 10011 на своё число

static const
RadioAdresses[][] =
{
"http://radio.zaycev.fm:9002/ZaycevFM(128).m3u",
"http://online.radiorecord.ru:8101/rr_128",
"http://onair.eltel.net:80/europaplus-128k",
"http://stream3.radiostyle.ru:8001/biker-fm",
"http://online-radioroks.tavrmedia.ua/RadioROKS"
};


В public OnPlayerCommandText:


if(0 == strcmp(cmdtext, "/radio", true))
return ShowPlayerDialog(playerid, DLG_RADIO, DIALOG_STYLE_LIST, "Радио", "1.\tZaycev.FM\n2.\tRadio Record\n3.\tEuropa Plus\n4.\tBiker.FM\n5.\tRadioROKS\n6.\t{FF9900}Остановить прослушивание", "Выбрать", "Закрыть");


В public OnDialogResponse:



if(dialogid == DLG_RADIO)
{
if(response == 0)
return 1;

return listitem != 5 ? PlayAudioStreamForPlayer(playerid, RadioAdresses[listitem]) : StopAudioStreamForPlayer(playerid);
}



http://ihost.pro-pawn.ru/image.php?di=SHMP

Автор: L0ndl3m (http://pro-pawn.ru/member.php?2057)

Специально для: Pro-Pawn.Ru (http://pro-pawn.ru)

Копирование данной статьи без разрешения автора запрещено!

TWIX
10.11.2013, 20:08
Слишком просто (

L0ndl3m
10.11.2013, 21:42
Слишком просто (
Можно сделать ещё проще.

Salvacore
10.11.2013, 23:04
Можно сделать ещё проще.
Ахах,ты можешь:)

#Vito
11.11.2013, 01:26
Можно сделать ещё проще.
Как?

L0ndl3m
11.11.2013, 15:17
Добавлен второй вариант.