Быстрее должно быть так:
PHP код:
if(dialogid == 20)
{
if(!response) return 1;
SendClientMessage(playerid, 0x66CC00FF, "Онлайн радио включено");
playerradio[playerid] = 1;
switch(listitem)
{
case 0: return PlayAudioStreamForPlayer(playerid, "http://radio.zaycev.fm:9002/ZaycevFM(128).m3u");
case 1: return PlayAudioStreamForPlayer(playerid, "http://online.radiorecord.ru:8101/rr_128");
case 2: return PlayAudioStreamForPlayer(playerid, "http://onair.eltel.net:80/europaplus-128k");
case 3: return PlayAudioStreamForPlayer(playerid, "http://radio02-cn03.akadostream.ru:8108/shanson128.mp3");
case 4: return PlayAudioStreamForPlayer(playerid, "http://striiming.trio.ee/dfm64.mp3.m3u");
case 5: return PlayAudioStreamForPlayer(playerid, "http://online-radiomelodia.tavrmedia.ua/RadioMelodia.m3u");
case 6: return PlayAudioStreamForPlayer(playerid, "http://stream05.akaver.com/skyradio_hi.mp3");
case 7: return PlayAudioStreamForPlayer(playerid, "http://skycast.su:2007/rock-online.m3u");
default: return 1;
}
return 1;
}
Но есть одно НО: код не только нужно было оптимизировать потому, что при неудачной попытке запустить поток игроку всё-равно напишет, что радио включено. Не тестировал, но, возможно, функция вернёт 0 не только при INVALID_PLAYER_ID. Засим, вот так будет идеально:
PHP код:
if(dialogid == 20)
{
if(!response) return 1;
station[128];
switch(listitem)
{
case 0: strcat(station, "http://radio.zaycev.fm:9002/ZaycevFM(128).m3u");
case 1: strcat(station, "http://online.radiorecord.ru:8101/rr_128");
case 2: strcat(station, "http://onair.eltel.net:80/europaplus-128k");
case 3: strcat(station, "http://radio02-cn03.akadostream.ru:8108/shanson128.mp3");
case 4: strcat(station, "http://striiming.trio.ee/dfm64.mp3.m3u");
case 5: strcat(station, "http://online-radiomelodia.tavrmedia.ua/RadioMelodia.m3u");
case 6: strcat(station, "http://stream05.akaver.com/skyradio_hi.mp3");
case 7: strcat(station, "http://skycast.su:2007/rock-online.m3u");
default: return SendClientMessage(playerid, 0x66CC00FF, "Неверная волна онлайн-радио.");
}
if(!PlayAudioStreamForPlayer(playerid, station)) return SendClientMessage(playerid, 0x66CC00FF, "Указанное онлайн-радио не ведёт вещание.");
SendClientMessage(playerid, 0x66CC00FF, "Онлайн-радио включено.");
SetPVarInt(playerid, "PlayerRadio", 1);
return 1;
}