Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include Dynamic Radio in Vehicles

SHOROOP

Умник
Доброго дня, форумчане.

Перечитывая форумы самп-кома, я наткнулся на интересный инклуд от Jochemd, который позволяет создать систему проигрывания потокового аудио, приближенную к оригинальной системе GTA:San Andreas одной функцией:
PHP:
stock AddRadioStation("Имя потока", "Ссылка на поток");
Плагин предлагает следующие возможности:
  • Смена потока клавишами Y и N (переназначить можно непосредственно в Include);
  • Визуальное отображение текущей станции и скрытие названия по таймеру;
  • Настройка стиля отображения названия (автором предложено три варианта:
    -
    -
    -
  • Сохранение текущего потока за каждым авто, проигрывание и смена потока для всех пассажиров.
Оригинальный ченджлог автора:
R6
- Added GetRadioStationsString() which returns all names of the stations (NAME1\nNAME2\nNAME3). This allows you to create command like /setstation (see example) and /allstations.
- Bugfix in SetRadioStation.
R5
- Fixed a bug: People were able to switch radio stations on foot.
- Changed the hooks OnGameModeInit and OnFilterScriptInit to stocks to save script space.
- Added GetVehicleRadioStation(vehicleid) and SetVehicleRadioStation(vehicleid, stationid) (useful if you want to make a 'favourites' script, for example).
- Rewrote almost whole code in another style.
- Added several textdraw styles. You can now choose one you prefer using a define! Credits to Jakku for creating some styles
- The radio stations are now synced per vehicle. When a passenger changes the radio station, the driver sees it and the same goes for when the driver changes it.
R4
- Fixed bug: When you spawn, server crashes. Update strongly recommended!
R3
- Fixed bug: Array sizes do not match (error 47).
- Fixed bug: Music doesn't stop when you exit the vehicle.
- Fixed bug: "symbol" has been truncated to "size". I have just shrinked the hooks.
R2:
- Now you can use this in an filterscript as well!
- Fixed a bug where the last one wouldn't be called because the cell assignment starts from 0. Thanks to CyNiC!
К сожалению, некоторые моменты работы данного инклуда меня не устроили:
  • Огромное количество создаваемых TextDraw для отрисовки. По какой-то причине автор создавал TextDraw для каждого авто, а не для игрока, и игроку рисовал TD, прикрепленный за авто;
  • Ошибка в хуках OnGameModeInit и OnFilterScriptInit. При сборке фильтрскрипта по непонятной причине после старта FS вызывался и хук OnGameModeInit.
  • Нескромное количество выделяемой памяти (в общем-то, связано с TextDraw).
Соответственно, в связи с этим было решено форкнуть данную систему для собственного удобства.
Что было изменено по сравнению с оригиналом:
  • Перевод вывода с TextDraw на GameText. Был потерян вывод различных стилей названия, однако существенно упрощен вывод и за ненадобностью упразднено выделение памяти под TextDraw для авто;
  • Написан простенький костыль для исправления бага хуков OnFilterScriptInit и OnGameModeInit;
  • и еще несколько мелких косметических правок.
Для работы инклуда использовалась библиотека YSI/y_hooks. Она необходима и для сборки GM/FS.

Ссылки:
- оригинальная библиотека Jochemd: , .
- форк библиотеки: .

Jochemd в следующей версии обещал слияние библиотек, когда это произойдет - первый пост будет обновлен.

Исходные коды распространяются AS-IS.
Вопросы и предложения принимаются в этой теме.
 
Последнее редактирование модератором:
Сверху Снизу