Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для BaBuIIIkaDrifteR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±

    Радио для авто.

    Данный FS представляет собой радио внутри машины, которую слышат не только водитель, но и пассажиры транспорта.

    Но это не обычная работа, где музыка играет внутри машины. Тут музыка играет еще, если стоять рядом с авто.
    Использование: /radio

    PHP код:
    #include a_samp.inc
    #define MAX_RAD_NAME (16) /// макс. имя радио ( не ссылка )
    #define MAX_RADIO (2) /// макс. радио
    #define L_DIAG (9200) /// изпользуемый диалог
    #define TIME_UPDATE (1500) /// время обновления таймера
    //-------------------------------------
    enum vehplayer {
        
    Float:Poos[3],
        
    SeeVehicle,
    } ;
    new 
    VPInfo MAX_PLAYERS ] [ vehplayer ] ;
    //------------------------------------------
    new RadioVeh MAX_VEHICLES ] = { -1, ... },
        
    MaxPlayers,
        
    timer
    ;
    new 
    Radio MAX_RADIO ] [ ] [ 72 ] = {
        { 
    "HOT 108""http://www.hot108.com/hot108.pls" },
        { 
    "Reggae""http://radio.bigupradio.com:8005/listen.pls" }
    } ;
    //==============================================================================
    public OnFilterScriptInit ( ) {
        
    MaxPlayers GetMaxPlayers() - 1;
        
    timer SetTimer("Global"trueTIME_UPDATE ) ;
        return 
    true ;
    }
    public 
    OnFilterScriptExit ( ) KillTimer timer ) ;

    public 
    OnPlayerConnect playerid ) {
        
    VPInfo [playerid] [SeeVehicle] = -1;
        return 
    true ;
    }
    public 
    OnPlayerCommandTextplayeridcmdtext[] )
    {
        if(!
    strcmp(cmdtext[1], "radio"true))
        {
            if(!
    IsPlayerInAnyVehicle(playerid) ) return true ;
            new 
    _str MAX_RADIO MAX_RAD_NAME 2] ;
            for( new 
    _r_r MAX_RADIO ; ++ _rstrcat_strRadio[_r][0] ), strcat_str,"\n" );
            
    strcat_str,"Выключить\n" );
              
    ShowPlayerDialog(playeridL_DIAGDIALOG_STYLE_LIST"La1ghter"_str"Выбрать""Выход");
              return 
    true ;
        }
        return 
    false ;
    }
    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        if( 
    dialogid == L_DIAG && response )
        {
            if ( 
    listitem MAX_RADIO )
            {
                
    RadioVeh[GetPlayerVehicleID(playerid)] = listitem;
                for (new 
    i<= MaxPlayers ; ++ i) {
                    if(!
    IsPlayerConnected(i) || GetPlayerVehicleID(i) != GetPlayerVehicleID(playerid)) continue;
                     
    PlayAudioStreamForPlayer(iRadio listitem ] [ ]);
                }
            }
            else if ( 
    listitem >= MAX_RADIO )
            {
                
    RadioVeh[GetPlayerVehicleID(playerid)] = -;
                for (new 
    i<= MaxPlayers ; ++ i) {
                     if(!
    IsPlayerConnected(i) || GetPlayerVehicleID(i) != GetPlayerVehicleID(playerid)) continue;
                     
    StopAudioStreamForPlayer(i) ;
                }
            }
            return 
    true ;
        }
        return 
    false;
    }
    public 
    OnPlayerExitVehicle playeridvehicleid ) {
        if ( 
    RadioVeh[vehicleid] != -StopAudioStreamForPlayer(playerid);
        return 
    true ;
    }
    public 
    OnPlayerStateChange(playeridnewstateoldstate)
    {
        if(
    newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) {
            if( 
    RadioVeh[GetPlayerVehicleID(playerid)] != -1) {
                
    StopAudioStreamForPlayer(playerid),
                
    VPInfo[playerid] [SeeVehicle] = -;
                
    PlayAudioStreamForPlayer(playeridRadio RadioVeh [GetPlayerVehicleID(playerid)] ] [ ] );
            }
        }
        return 
    true ;
    }
    Global() ;
    public Global ( )
    {
        new
             
    vehidboolfind falseFloatVe[3]
        ;
        for (new 
    playeridplayerid <= MaxPlayers ; ++ playerid)
        {
               if( !
    IsPlayerConnected(playerid) || IsPlayerInAnyVehicle(playerid) || GetPlayerInterior(playerid) || GetPlayerVirtualWorld(playerid) ) continue ;
            if( 
    VPInfo[playerid] [SeeVehicle] != -)
            {
                
    GetVehiclePos (VPInfo[playerid] [SeeVehicle], Ve[0],Ve[1],Ve[2] ) ;
                if( !
    IsPlayerInRangeOfPoint(playerid7.0VPInfo[playerid][Poos] [0],VPInfo[playerid][Poos][1],VPInfo[playerid][Poos][2]) || !IsPlayerInRangeOfPoint(playerid7.0Ve[0],Ve[1],Ve[2]) )
                {
                    
    StopAudioStreamForPlayer(playerid) ;
                    
    VPInfo[playerid] [SeeVehicle] = -;
                }
            }
            for( new 
    _v 1_v MAX_VEHICLES ; ++ _v ) {
                if ( 
    RadioVeh[_v] == -1  || !IsVehicleStreamedIn(_vplayerid) ) continue ;
                
    GetVehiclePos_vVe[0],Ve[1],Ve[2] ) ;
                if( !
    IsPlayerInRangeOfPoint(playerid7.0,Ve[0],Ve[1],Ve[2]) ) continue ;
                for (new 
    z!= 3; ++ zVPInfo[playerid] [Poos] [z] = Ve[z] ;
                  
    vehid _vfind true ;
                  break ;
            }
            if( 
    vehid != VPInfo[playerid] [SeeVehicle] && find && !IsPlayerInAnyVehicle(playerid) ) {
                 
    VPInfo[playerid] [SeeVehicle] = vehid ;
                
    PlayAudioStreamForPlayer(playeridRadio [RadioVeh[vehid]][1], VPInfo[playerid] [Poos] [0],VPInfo[playerid][Poos][1],VPInfo[playerid] [Poos][2],7.0,1);
            }
        }
        return 
    true ;

    p.s Кто даже помой му искал что то подобное =)
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  2. Пользователь сказал cпасибо:
    Alexander (19.07.2015)
  3. #2
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Сам писал?

  4. #3
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    Сам писал?
    маловероятно,данному скрипту уж цать лет..
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  5. #4
    Аватар для BaBuIIIkaDrifteR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    Сам писал?
    Нет, на компе нашел.
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  6. #5
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от BaBuIIIkaDrifteR Посмотреть сообщение
    Нет, на компе нашел.
    Автора тоже на компе найдите значит.

  7. #6
    Аватар для BaBuIIIkaDrifteR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    Удалите тему. Причина автора не нашел (

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •