Что ж, многие спрашивали здесь на форуме как поставить свою музыку на сервер. В ответ они получали:"Ставьте Audio Plugin". Но вот незадача, а как им пользоваться? Ну что ж, сейчас я всё обьясню.
Достояние этого плагина в том, что он позволяет ставить свою музыку на сервер в форматах WAV, AIFF, MP3/MP2/MP1, OGG, WMA, FLAC, WV, SPX, MPC,AC3, AAC, ALAC, TTA, APE, и OFR, добавление эффектов звучания, 3D-позицию для музыки, воспроизведение внешних музыкальных файлов (то есть из Интернета) и извлечение всех звуковых аудио-файлов из директории самой игры.
После скачки эти файлов, откройте архив со скачанным плагином для игры и установите его. Если у вас стоит Microsoft .NET Framework 3.5 SP1 или выше, то установка пройдет моментально. Если же нет, он будет скачиваться с Интернета. После установки извлекаем все файлы из скачанного нами архива с плагином для сервера (с подтверждением о замене файлов).
После завершения извлечения открываем наш любимый файл server.cfg и прописываем в него данную строку:
Code
plugins audio
- если у Вас стоит сервер на Windows'e
Code
plugins audio.so
- если у Вас стоит сервер на Linux'e
Теперь сохраняем файл server.cfg для последующих в будущем мучений. Теперь займемся инклудом для Pawno. Здесь всё просто - кидаем файл audio.inc в папку с инклудами, где расположена у Вас программа Pawno.
Теперь займемся Вашим модом. В самом начале, конечно, нужно прописать наш инклуд audio.inc
Code
#include <audio>
Далее объясняю функции этого инклуда:
Code
Audio_CreateTCPServer(port);
- Создание аудио-порта, к которому будет подключаться игрок (при условии того, что у него поставлен плагин на клиентскую часть). Порт должен быть таким же, как и порт сервера SA-MP.
Code
Audio_DestroyTCPServer();
- Уничтожение аудио-порта. После этого не будет работать музыка на сервере, придется его перезапускать.
- устанавливает смещение для воспроизводимого муз.файла. Но перед этим он должен смикширован или быть в моно.
Code
Audio_SetFX(playerid, handleid, type);
- установка эффектов для воспроизводимого файла.
Типы: 0 - Эффект хора. 1 - Эффект музыки в малом пространстве. 2 - Эффект искажения музыки. 3 - Эффект эха. 4 - Эффект фленджера. 5 - Эффект звучания в воде. 6 - I3DL2 ревибрация. 7 - Параметрический эквалайзер. 8 - Ревибрация.
Code
Audio_RemoveFX(playerid, handleid, type);
- удаление эффекта.
Code
Audio_SetEAX(playerid, environment);
- установка нахождения в каком-либо помещении или пространстве.
Результаты: 0 - Локальный файл успешно скачан. 1 - Удаленный файл успешно скачан. 2 - Архив успешно извлечен. 3 - Файл пропущен, так как скачан до этого. 4 - Файл не может быть загружен.
Code
Audio_OnPlay(playerid, handleid);
- при воспроизведении муз.файла.
Code
Audio_OnStop(playerid, handleid);
- при остановке муз.файла.
Code
Audio_OnTrackChange(playerid, handleid, track[])
- при изменении ID3Tag'а на онлайн- станции.
Теперь снова займемся модом. В моде ОБЯЗАТЕЛЬНО должны быть присутствовать данные ниже строки:
Code
public OnGameModeInit() { // Указываем серверу,какой пак со звуками он должен будет использовать Audio_SetPack("default_pack", true); }
public Audio_OnClientConnect(playerid) { // Разрешаем отсылку файлов при подключении клиентам Audio_TransferPack(playerid); }
public Audio_OnSetPack(audiopack[]) { for (new i = 0; i < MAX_PLAYERS; i++) { // Отсылаем весь пак звуков подключенным клиентам Audio_TransferPack(i); } return 1; }
Теперь займемся муз.файлами. В папке с сервером есть файл audio.ini. В нем есть строки (или же другие):
Все эти строки отвечают за указание идентификатора звука для определенного файла. К примеру:
Code
[default_pack]
1 - Nokia_Tune.aac Теперь в значении soundid = 1 будет файл Nokia_Tune.aac. Запомните, если вы вписываете муз.файлы после [default_pack] в папке с сервером audiopacks\default_pack должен быть тот файл, который вы прописали.
Теперь пойдет объяснение переменных для функций:
Code
port - порт const audiopack[] - выбор аудио-пака bool:transferable = true - разрешение на скачивание (true или false) sequenceid - идентификатор последовательности audioid - идентификатор муз.файла. Берется из прописанным Вами audio.ini. bool:pause = false - прерывистое воспроизведение bool:loop = false - повторение муз.файла bool:downmix = false - микширование const url[] - прямая ссылка на аудио-файл handleid - идентификатор аудио-потока. Это не soundid, различайте их. seconds - секунды volume - громкость (от 0 до 100) Float:x, Float:y, Float:z, Float:distance - координаты, дистанция прослушивания. type - тип environment - тип окружения