Страница 1 из 13 12311 ... ПоследняяПоследняя
Показано с 1 по 10 из 124

Тема: Документация по Audio Plugin v.0.5

  1. #1
    Potato Аватар для SDraw
    Регистрация
    10.04.2011
    Сообщений
    1,327
    Репутация: 390

    Звание: - очень-очень хороший человек

    Документация по Audio Plugin v.0.5

    Что ж, многие спрашивали здесь на форуме как поставить свою музыку на сервер. В ответ они получали:"Ставьте Audio Plugin". Но вот незадача, а как им пользоваться? Ну что ж, всё довольно просто.

    Достояние этого плагина в том, что он позволяет ставить свою музыку на сервер в форматах WAV, AIFF, MP3/MP2/MP1, OGG, WMA, FLAC, WV, SPX, MPC,AC3, AAC, ALAC, TTA, APE и MIDI, 3D-позицию для музыки, воспроизведение музыкальных файлов из Интернета.

    Для его работы нам понадобятся: Audio Plugin v0.5 для клиентов, Audio Plugin v0.5 для сервера.

    Установка клиентской части:
    ______________________________

    Для установки плагина на клиентскую часть требуется скачать Audio Plugin v0.5 для клиентов и установить его в корневую папку с игрой. Но, для его правильной работы требуется Microsoft .NET Framework 3.5 или выше. (Для владельцев Wnidows XP SP2 настоятельно не рекомендуется ставить Microsoft .NET Framework 4.0, так как он работает нестабильно.)

    Установка плагина на сервер:
    _______________________________

    Для стабильной работы плагина на сервере тоже требуется Microsoft .NET Framework 3.5 или выше.
    Скачиваем Audio Plugin v0.5 для сервера. Извлекаем все содержимое архива в папку с сервером. Файл audio.inc, содержащийся в папке pawno/include, переместите в папку библиотек Pawno.
    Переходим к файлу server.cfg. Прописываем в нем:
    PHP код:
    plugins audio // если у Вас Windows
    plugins audio.so // если у Вас Linux 
    Переходим к Вашему gamemode'у. В самом начале, где находятся подключенные к моду инклуды, прописываем:
    PHP код:
    #include <audio> 
    Далее, следует добавить функции, чтобы плагин начал работать.
    PHP код:
    //OnGameModeInit()
    Audio_SetPack("default_pack",true,true); // " " - пак файлов, который Вы используете. Он может иметь любое Вам угодное название.

    public Audio_OnClientConnect(playerid)
    {
        
    Audio_TransferPack(playerid);
        return 
    1;
    }

    //OnGameModeExit
    Audio_DestroyTCPServer(); 
    Установка музыки:
    _____________________
    Открываем файл audio.ini. Мы видим содержимое типа:
    PHP код:
    [default_pack]
    example.mp3
    example.ogg
    example.wav

    [other_pack]
    http://www.website.com/file.mp3
    example.ogg
    example.wav 
    1,2 и 3 - это ID музыкальных файлов, которые потребуются Вам для их воспроизведения. Чтобы поставить музыку, нужно, чтобы файл был прописан в audio.ini и содержаться в папке с паком, который Вы указали в OnGameModeInit. При вписывании файлов в audio.ini нужно писать полное название и расширение файла. Иначе файл не будет распознан.

    Функции:
    _____________

    Audio_CreateTCPServer(port) - создание порта, к которому будут подключаться игроки с установленной клиентской частью. Данная функция ,в принципе, не требуется, так как при запуске сервера плагин автоматически создает порт (он равен порту Вашего сервера).
    Audio_DestroyTCPServer() - уничтожение порта. Отменит все подключения, и не будет возможным воспроизведение звуков.
    Audio_SetPack(const name[], bool:transferable = true, bool:automated = true); - указание пака со звуками. const name[] - название пака, transferable - разрешение на скачивание, automated - автоматизация скачивания (следует ставить true).
    Audio_IsClientConnected(playerid); - проверка на то, что игрок подключен к аудио-порту.
    Audio_SendMessage(playerid, const message[]); - отсылка подключенному к аудио-порту игроку сообщения.
    Audio_TransferPack(playerid); - отсылка игроку пака со звуками.
    Audio_CreateSequence(); - создание последовательности, или очереди файлов на воспроизведение.
    Audio_DestroySequence(sequenceid); - уничтожение последовательности.
    Audio_AddToSequence(sequenceid, audioid); - добавление файла в последовательность.
    Audio_RemoveFromSequence(sequenceid, audioid); - удаление файла из последовательности.
    Audio_Play(playerid, audioid, bool: pause = false, bool:loop = false, bool: downmix = false); - воспроизведение файла. pause - остановка при запуске воспроизведения, loop - зацикленное воспроизведение, downmix - микширование из стерео в моно.
    Audio_PlayStreamed(playerid, const url[], bool: pause = false, bool:loop = false, bool: downmix = false); - воспроизведение из Интернета. const url[] - прямая ссылка на файл.
    Audio_PlaySequence(playerid, sequenceid, bool: pause = false, bool:loop = false, bool: downmix = false); - запуск последовательности. sequenceid - ID последовательности.
    Audio_Pause(playerid, handleid); - приостановка воспроизведения. handleid - ID потока запущенного файла.
    Audio_Resume(playerid, handleid); - продолжение воспроизведения.
    Audio_Stop(playerid, handleid); - полная остановка воспроизведения.
    Audio_Restart(playerid, handleid); - перезапуск воспроизведения.
    Audio_GetPosition(playerid, handleid, const callback[] = "Audio_OnGetPosition"); - функция позволяет узнать, на какой секунде воспроизводится файл в данный момент. Используйте такой вид: Audio_GetPosition(playerid, handleid);.
    Audio_SetPosition(playerid, handleid, seconds); - указать, на какую секунду перемотать воспроизведение. seconds - секунды.
    Audio_SetVolume(playerid, handleid, volume); - установка громкости. По стандарту - 50. volume - громкость (от 0 до 100).
    Audio_SetFX(playerid, handleid, type); - указание эффекта. Доступные эффекты:
    PHP код:
    Хор.
    Эффект музыки в малом пространстве.
    Искажения музыки.
    Эхо.
    Фленджер.
    Звучание в воде.
    -  I3DL2 реверберация.
    Параметрический эквалайзер.
    Реверберация
    Примечание: Данная функция постоянно добавляет эффекты на поток, и они накладываются друг на друга.
    Audio_Set3DPosition(playerid, handleid, Float:x, Float:y, Float:z, Float: distance); - указание позиции музыки. При отдалении от точки музыка будет затихать. x,y,z - позиция, distance - дистанция, на котором будет слышна музыка.
    Audio_Remove3DPosition(playerid, handleid); - удаление 3D-позиции.
    Audio_SetRadioStation(playerid, station); - указание радио-станции. Работает только тогда, когда игрок сидит в транспорте. Доступные станции:
    PHP код:
    0Выключение радионо точнее включение радио с полицейской/медицинской волны.
    1Playback FM
    2
    K-Rose
    3
    K-DST
    4
    Bounce FM
    5
    SF-UR
    6
    Radio Los Santos
    7
    Radio X
    8
    CSR 103.9
    9
    K-Jah West
    10
    Master Sounds 98.3
    11
    WCTR
    12
    Пользовательские треки 
    Audio_StopRadio(playerid); - остановка радио.
    Audio_RenamePlayer(playerid, const name[]); - переименование игрока.

    Callback'и:
    ______________

    forward Audio_OnClientConnect(playerid); - при соединении игрока к аудио-порту.
    forward Audio_OnClientDisconnect(playerid); - при отсоединении игрока от аудио-порта.
    forward Audio_OnTransferFile(playerid, file[], current, total, result); - при получении файлов.
    forward Audio_OnPlay(playerid, handleid); - при воспроизведении.
    forward Audio_OnStop(playerid, handleid); - при остановке воспроизведения
    forward Audio_OnTrackChange(playerid, handleid, track[]); - при изменении ID3-информации о треке. Вызывается в большинстве случаев при воспроизведении онлайн-радио.
    forward Audio_OnRadioStationChange(playerid, station); - при переключении радио в транспорте.
    forward Audio_OnGetPosition(playerid, handleid, seconds); - callback, отвечающий за получение позиции времени.

    По поводу handleid:
    ___________________________

    Многие путают hadleid и soundid. Это разные вещи. soundid - это ID'ы, прописанные в audio.ini, а handleid - это номер потока, на котором воспроизводится файл.
    Чтобы было проще и понятно, при запуске воспроизведения файл занимает свободный поток, отчитываемый от 1 до бесконечности. Если у Вас не воспроизводилась никакая музыка, то файл займет поток №1, если же была, то займет следующий поток, то есть №2.
    Чтобы узнать, какой handleid Вам нужен для остановки определенного потока, используйте такой код:
    PHP код:
    new audio Audio_Play(Streamed)(параметры);
    printf("Handleid %d",audio); 
    Но это только для одного игрока. Чтобы использовать handleid для каждого игрока (а он у каждого будет разный), используйте переменную, привязанную к игроку. Пример:
    PHP код:
    new audio_sound[MAX_PLAYERS]; // В начало мода
    //В то место, где Вы хотите запустить музыку для игрока
    audio_sound[playerid] = Audio_Play(playeridaudioidboolpause falsebool:loop falsebooldownmix false);
    //В то место, где Вы хотите остановить музыку
    Audio_Stop(playerid,audio_sound[playerid]); 
    Примечание:
    ________________

    FS "audio.pwn" - просто тестовый скрипт для проверки работы Audio Plugin'а. Нет смысла постоянно запускать его на сервере.
    Ограничение количества файлов в audio.ini неизвестно.
    Запрещено вставлять в audio.ini ссылки на онлайн-радио, так как у них нет размера потока. Возможна ошибка при попытке распознавания, или же Вы будете качать этот поток, пока не кончится место на Вашем жестком диске.
    При использовании сервера версии 0.3c-R5 и выше была найдена ошибка в плагине, когда при закрытии сервера появлялся файл crashinfo.txt с неизвестными ошибками. Данная ошибка была найдена пользователем Riddick94, решение данной проблемы: добавьте функцию Audio_DestroyTCPServer(); в OnGameModeExit().
    Не надо говорить, что Audio Plugin уже не нужен, так как с 0.3d появилось потоковое воспроизведение. Audio Plugin имеет очень много преимуществ по сравнению со стандартным потоковым воспроизведением 0.3d.

    Автор плагина: Incognito
    Источник: Forum Sa-mp.com
    Первоисточник статьи: Pawno.ru
    Перевод статьи: SDraw

  2. #2
    Everybody sometimes love Аватар для Folk
    Регистрация
    28.05.2010
    Адрес
    Омск
    Сообщений
    1,328
    Репутация: 144

    Звание: скоро придёт к известности

    Re: Работа и настройка Audio Plugin v0.4

    Спасибо огромное, для моего мода очень пригодится!
    ...

  3. #3
    Активный пользователь Аватар для Чиполлино
    Регистрация
    09.03.2011
    Адрес
    Новосибирск
    Сообщений
    0
    Репутация: 31

    Звание: на пути к лучшему

    Re: Работа и настройка Audio Plugin v0.4

    Кто автор?
    Выполняю поддержку по языку Pawn, платно и бесплатно в зависимости от сложности. Низкие цены, обращайтесь!
    Skype: nik-ric
    ICQ: 425-844-647
    Vkontakte: qwerty_123

  4. #4
    Potato Аватар для SDraw
    Регистрация
    10.04.2011
    Сообщений
    1,327
    Репутация: 390

    Звание: - очень-очень хороший человек

    Re: Работа и настройка Audio Plugin v0.4

    Автор плагина - Incognito. Автор данной статьи - я.

  5. #5
    Everybody sometimes love Аватар для Folk
    Регистрация
    28.05.2010
    Адрес
    Омск
    Сообщений
    1,328
    Репутация: 144

    Звание: скоро придёт к известности

    Re: Работа и настройка Audio Plugin v0.4

    У игрока должна стоять какая-то прога, чтобы слушать музыку?
    ...

  6. #6
    ?????????? Аватар для Jeanstonik
    Регистрация
    31.03.2010
    Возраст
    29
    Сообщений
    1,810
    Репутация: 125

    Звание: скоро придёт к известности

    Re: Работа и настройка Audio Plugin v0.4

    Да. Написано же все -_- Автор статьи клиентскую часть назвал "Плагин для игры"
    Плевать кто лучший в игре
    Молча слушай мой рэп
    Просто, я монстр, как наушники Дре

  7. #7
    Everybody sometimes love Аватар для Folk
    Регистрация
    28.05.2010
    Адрес
    Омск
    Сообщений
    1,328
    Репутация: 144

    Звание: скоро придёт к известности

    Re: Работа и настройка Audio Plugin v0.4

    Фууууу, обломало весь кайф, но думаю игроки не поленятся скачать прогу
    ...

  8. #8
    Potato Аватар для SDraw
    Регистрация
    10.04.2011
    Сообщений
    1,327
    Репутация: 390

    Звание: - очень-очень хороший человек

    Re: Работа и настройка Audio Plugin v0.4

    Вот, например, я поставил данный плагин на свой сервер, сказал людям поставить программу. Сам поставил онлайн-радио в интерьеры. Теперь люди рады, что нет пустого молчания в них и отстойной музыки в алхамбре :d

  9. #9
    Активный пользователь Аватар для Cassely1704
    Регистрация
    14.02.2011
    Адрес
    Ижевск
    Сообщений
    102
    Репутация: 10

    Звание: на пути к лучшему

    Re: Работа и настройка Audio Plugin v0.4

    Молодец, спасибо

  10. #10
    Проверенный Аватар для DuMBaSS
    Регистрация
    14.11.2010
    Адрес
    Московская область
    Сообщений
    1,268
    Репутация: 101

    Звание: скоро придёт к известности

    Re: Работа и настройка Audio Plugin v0.4

    Молодец что не поленился, сам давно хотел написать эту статью, но лень.
    Лови плюсик заслужил)))
    Покупаем!!!

    И я здесь ради идеи, пока здесь денег нет...
    Кого-то кормят, а кого-то кормят ноги...

    Мои работы:
    [FS] Miner (работа шахтера)
    [FS]Ferma (как на samp-rp)
    [FS]3D Спидометр
    [FS]Работа искателем ракушек
    [FS]Работа грузчика как на samp-rp v 0.2
    [HTML] Таймер отсчета до определенного события


    WIKI:
    [Урок] Эффект фильма
    [Урок] Анти повторный подбор пикапов

    Полезные функции:
    GetOnlinePlayers();

    Не в паблике:
    [WEB]User Control Panel v 1.0

    Надоели люди, пишущие что павно это программа, а не язык. (c) DuMBaSS


Страница 1 из 13 12311 ... ПоследняяПоследняя

Похожие темы

  1. Audio Plugin
    от WilliamMcKinly в разделе Вопросы по скриптингу
    Ответов: 1
    Последнее сообщение: 17.08.2011, 03:47
  2. Audio Plugin
    от LEKTOR в разделе Вопросы по скриптингу
    Ответов: 11
    Последнее сообщение: 30.05.2011, 19:00
  3. Audio plugin
    от TorreTo в разделе Вопросы по скриптингу
    Ответов: 7
    Последнее сообщение: 18.04.2011, 13:16
  4. Audio Plugin
    от DuMBaSS в разделе Вопросы по скриптингу
    Ответов: 17
    Последнее сообщение: 08.03.2011, 06:52

Метки этой темы

Ваши права

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