• Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Радио
Радио
Радио в машину для вашего сервера


Вверх, ко всем new:

Код

#define RADIO 3000
#define COLOR_MY 0xCDA017AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
new RaidoOn[MAX_VEHICLES];


В public OnPlayerStateChange(playerid, newstate, oldstate):

Код

new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_PASSENGER)
{
                  if(RaidoOn[newcar] == 1)
    {
     PlayAudioStreamForPlayer(playerid,"http://online.radiorecord.ru:8101/rr_128");
    }
    else if(RaidoOn[newcar] == 2)
    {
     PlayAudioStreamForPlayer(playerid,"http://ep256.streamr.ru");
    }
    else if(RaidoOn[newcar] == 3)
    {
     PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makfresh128.mp3");
    }
    else if(RaidoOn[newcar] == 4)
    {
     PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makkirus128.mp3");
    }
    else if(RaidoOn[newcar] == 5)
    {
     PlayAudioStreamForPlayer(playerid,"http://radio.tatinf.ru:8800/dfm");
    }
    else if(RaidoOn[newcar] == 6)
    {
     PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/vip_320.m3u");
    }
    else if(RaidoOn[newcar] == 7)
    {
     PlayAudioStreamForPlayer(playerid,"http://50.7.70.58:8546/listen.pls");
    }
    else if(RaidoOn[newcar] == 8)
    {
     PlayAudioStreamForPlayer(playerid,"http://108.166.161.206:8622/listen.pls");
    }
}

if(newstate == PLAYER_STATE_ONFOOT)
{
                StopAudioStreamForPlayer(playerid);
}

if(newstate == PLAYER_STATE_DRIVER)
{
                  if(RaidoOn[newcar] == 1)
    {
     PlayAudioStreamForPlayer(playerid,"http://online.radiorecord.ru:8101/rr_128");
    }
    else if(RaidoOn[newcar] == 2)
    {
     PlayAudioStreamForPlayer(playerid,"http://ep256.streamr.ru");
    }
    else if(RaidoOn[newcar] == 3)
    {
     PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makfresh128.mp3");
    }
    else if(RaidoOn[newcar] == 4)
    {
     PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makkirus128.mp3");
    }
    else if(RaidoOn[newcar] == 5)
    {
     PlayAudioStreamForPlayer(playerid,"http://radio.tatinf.ru:8800/dfm");
    }
    else if(RaidoOn[newcar] == 6)
    {
     PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/vip_320.m3u");
    }
    else if(RaidoOn[newcar] == 7)
    {
     PlayAudioStreamForPlayer(playerid,"http://50.7.70.58:8546/listen.pls");
    }
    else if(RaidoOn[newcar] == 8)
    {
     PlayAudioStreamForPlayer(playerid,"http://108.166.161.206:8622/listen.pls");
    }
}

           if(GetVehicleEngine(newcar) == -1)
           {
                if(pveh != 481 || pveh != 509 || pveh != 510)
                {
                      SendClientMessage(playerid, COLOR_MY, "{9DDAF2}Прослушать радио {34b534}/rd");
                }
           }


В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]):

Код

   if(dialogid == RADIO)
   {
    if(response)
    {
     for(new i = GetMaxPlayers() - 1; i != -1; i--)    
     {
      new newcar = GetPlayerVehicleID(playerid);
      if(GetPlayerVehicleID(i) == newcar)
      {
       if(listitem == 0)
       {
        PlayAudioStreamForPlayer(i,"http://online.radiorecord.ru:8101/rr_128");RaidoOn[newcar] = 1;
       }
       if(listitem == 1)
       {
        PlayAudioStreamForPlayer(i,"http://ep256.streamr.ru");RaidoOn[newcar] = 2;
       }
       if(listitem == 2)
       {
        PlayAudioStreamForPlayer(i,"http://stream.makradio.ru/makfresh128.mp3");RaidoOn[newcar] = 3;
       }
       if(listitem == 3)
       {
        PlayAudioStreamForPlayer(i,"http://stream.makradio.ru/makkirus128.mp3");RaidoOn[newcar] = 4;
       }
       if(listitem == 4)
       {
        PlayAudioStreamForPlayer(i,"http://radio.tatinf.ru:8800/dfm");RaidoOn[newcar] = 5;
       }
       if(listitem == 5)
       {
        PlayAudioStreamForPlayer(i,"http://air.radiorecord.ru:8102/vip_320.m3u");RaidoOn[newcar] = 6;
       }
       if(listitem == 6)
       {
        PlayAudioStreamForPlayer(i,"http://50.7.70.58:8546/listen.pls");RaidoOn[newcar] = 7;
       }
       if(listitem == 7)
       {
        PlayAudioStreamForPlayer(i,"http://108.166.161.206:8622/listen.pls");RaidoOn[newcar] = 8;
       }
       if(listitem == 8)
       {
        RaidoOn[newcar] = 0; StopAudioStreamForPlayer(i);
       }
      }
     }
    }
   }


В любое место:

Код
forward IsABike(carid);
public IsABike(carid)
{
new model=GetVehicleModel(carid);
if(model == 509 || model == 481 || model == 510)          
{return 1;}
return 0;
}
stock GetVehicleEngine(vehicleid)
{
      new params[8];
      GetVehicleParamsEx(vehicleid, params[1], params[2], params[3], params[4], params[5], params[6], params[7]);
      return params[1];
}



В public OnPlayerCommandText(playerid, cmdtext[]):

Код
  if(strcmp(cmdtext, "/rd", true) == 0)
   {
    new newcar = GetPlayerVehicleID(playerid);
    if(IsABike(newcar)) return SendClientMessage(playerid, COLOR_GRAD, "* Вы на велосипеде");
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(giveplayerid, COLOR_GRAD, "* Вы не в машине");
     ShowPlayerDialog(playerid, RADIO, DIALOG_STYLE_LIST, "Выберите радио волну:","0-Record FM\n1-Европа +\n2-Makradio Фреш\n3-Makradio Топ Хит\n4-DFM\n5-Radio Record Vip Mix\n6-Old School 99\n7-Mix 99\n8-Выключить радио", "Выбор", "Выход");
    }
    return true;
   }


Автор: ZioHik
Специально для www.SAMP-TEAM.com
15.04.2013 в 20:21
У меня кучю ероров вылезает Т_Т
Я новичек в PAWN, но если у меня:

Код
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));   
new newcar = GetPlayerVehicleID(playerid);   
if(newstate == PLAYER_STATE_PASSENGER)   
{   
           if(RaidoOn[newcar] == 1)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://online.radiorecord.ru:8101/rr_128");   
           }   
           else if(RaidoOn[newcar] == 2)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://webcast.emg.fm:55655/europaplus128.mp3");   
           }   
           else if(RaidoOn[newcar] == 3)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makfresh128.mp3");   
           }   
           else if(RaidoOn[newcar] == 4)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makkirus128.mp3");   
           }   
           else if(RaidoOn[newcar] == 5)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://w04-cn03.akadostream.ru:8000/dinamitfm128.mp3");   
           }   
           else if(RaidoOn[newcar] == 6)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://icefm.ru/etc/live.m3u");   
           }   
}   

if(newstate == PLAYER_STATE_ONFOOT)   
{   
                StopAudioStreamForPlayer(playerid);   
}   

if(newstate == PLAYER_STATE_DRIVER)   
{   
           if(RaidoOn[newcar] == 1)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://online.radiorecord.ru:8101/rr_128");   
           }   
           else if(RaidoOn[newcar] == 2)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://webcast.emg.fm:55655/europaplus128.mp3");   
           }   
           else if(RaidoOn[newcar] == 3)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makfresh128.mp3");   
           }   
           else if(RaidoOn[newcar] == 4)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://stream.makradio.ru/makkirus128.mp3");   
           }   
           else if(RaidoOn[newcar] == 5)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://w04-cn03.akadostream.ru:8000/dinamitfm128.mp3");   
           }   
           else if(RaidoOn[newcar] == 6)   
           {   
               PlayAudioStreamForPlayer(playerid,"http://icefm.ru/etc/live.m3u");   
           }   
}   

           if(GetVehicleEngine(newcar) == -1)   
           {   
                if(pveh != 481 || pveh != 509 || pveh != 510)   
                {   
                      SendClientMessage(playerid, COLOR_MY, "{9DDAF2}Прослушать радио {34b534}/rd");   
                }   
           }   
   return 1;
}

Правильно ли это сделано?
Если, нет, скажите что не так....
16.07.2013 в 18:54
Ну лучше используй switch вместо if
А так, все правильно
16.07.2013 в 23:56
Теперь у меня другой вопос, Как сделать, так, чтобы команда юзалась в диалоговом окне? Ну например:
Авто
Телепорты
Правила сервера
Управление персонажем
Радио

Чтобы при нажатии на слово "радио" делалась команда "/rd"
Само слово радио в меню добавить могу, но поскольку нуб, в С++ не могу привязать команду....... Error'ы лезут...
17.07.2013 в 11:13
Вот пример, который можно понять

Код
if(listitem == 4)
{
OnPlayerCommandText(playerid,"/rd");
return 1;
}


Вот более простой пример

Код
if(listitem == 4) return OnPlayerCommandText(playerid,"/rd");
17.07.2013 в 11:18
Спасибо, огромное)

Добавлено (18.07.2013, 13:48)
---------------------------------------------
Для радио инкливуды какие то нужны? набивается 5 "Warning 217"

18.07.2013 в 13:48
217 это не ошибка
19.07.2013 в 11:24
Обновил код
10.08.2014 в 02:59
Крашит компилер, в чём может быть проблема? cry
11.08.2014 в 10:32
Бывает такое да,обычно у меня из вырезок левых ( когда я их тестирую )
11.08.2014 в 10:42
С этим радио проблем не было
11.08.2014 в 10:42
Цитата Tomas_Reed ()
Крашит компилер, в чём может быть проблема?

посмотри, всё ли в порядке в
Код
if(listitem == ...)
или
Код
case ...:

иногда у меня бывает краш, если здесь что то не правильно
11.08.2014 в 11:25
Посчитай все "{" и "}" их кол-во должно быть одинаковым. И проверь, правильно ли у тебя стоят return
11.08.2014 в 12:34
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Радио
  • Страница 1 из 1
  • 1
Поиск: