Плеер, Round End Sound без загрузок игроку

Поможете заплатить скриптеру, если счёт на тысячи пойдёт :D

  • Нет :|

    Голосов: 4 23.5%
  • Да :)

    Голосов: 3 17.6%
  • Dreizehnt, ты упорот штоле? :D

    Голосов: 10 58.8%

  • Всего проголосовало
    17

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
Такая штука, есть плагин на открывание окон браузера в игре (CS:GO), сейчас на сайт поставил себе музычку на страничку, в игре она играет, открывается окошко. А можно произвести аналогичные действия не открывая окошка и распространить на всех игроков разом, т.е. создать событие при котором играет музыка из браузера, слышна всем. Это же действие и поставить на конец раунда. Вопрос только в том, как организовать плейлист тот же и чтобы плагин мог брать песни, как вариант прямая ссылка на аудиозапись и конфиг для этого дела.

Если кто-то из титанов скриптинга готов за денежку взяться за это дело, пишите сколько вам нужно, что бы геройcки отставить чашку кофе/чая и хотя бы попробовать сделать это :D

ТЗ:
Плагин аналог Round End Sound:
1. Конфиг cfg/sourcemod/res_settings.cfg:
//Версия
res_version 1.0.0

//Глобальная громкость (1:10)
res_volume 1

//Продолжительность песни для конца раунда
res_time_end 1

//Продолжительность песни для конца раунда
res_time_str 1

//Продолжительность песни для конца раунда
res_time_wel 1

//Порядок воспроизведения (1 - случайно [генерируются числа в различном порядке каждый рестарт карты, пусть в лог сообщает что генерирует на всякий], 0 - по порядку)
res_random 1

//Какой плейлист играть (он лежит в /addons/sourcemod/scripting/res/playlist_01.cfg - читать должен все файлы из папки):
res_playlist playlist_01.cfg

//Показывать при старте фразу в чат (1 - вкл, 0 - выкл, 2 - принудительно вкл):
res_info 1

2. Конфиг перевода:
ru [TAG]
ru Для управления музыкой на сервере напишите в чат !музыка.
ru Клац-клац ВЫКЛ/ВКЛ
ru %s клацнул так
ru Играет сейчас %s
ru Для террористов играет %s
ru Для спецназа играет %s

3. Конфиг плейлиста playlist_01.cfg:
1-http://hlmod.ru/3243/_xexcswe_r232.mp3=END_CT
2-http://hlmod.ru/3243/_xexcswe_r232.mp3=END_ALL
3-http://hlmod.ru/3rtty43/_xeewetwt_r232.mp3=WEL
4-http://hlmod.ru/11324t/_xexcwetewte_r23452.mp3=STR_T

Где n- - числа, которые "рандомайзер" перебирает, указывать обязательно, а =N - кому и как воспроизводить:
=END_T - в конце раунда при победе террористов;
=END_CT - в конце раунда при победе спецназа;
=END_ALL - в конце раунда от любой победы;
=STR_T - в начале раунда после победы террористов;
=STR_CT - в начале раунда после победы спецназа;
=STR_ALL - в начале раунда всем;
=WEL - при входе на сервер;

4. Функционал !res, !музыка:
- Выключить музыку [ВЫКЛ/ВКЛ]
- Громкость музыки [30%/60%/100%/140%] (от установленного мной значения от 1 до 10)
- Помощь при подключении на сервер [ВЫКЛ/ВКЛ]

5. Функционал !res_adm (нужна sm_res_adm):
- Выбор плейлиста
- Глобальная громкость [1:10]
- Сгенерированное число [3 5 1 4 2 6] (если "рандом", если нет - обесцветить)

6. Плагин должен уметь писать название музыки, а не название файла;

7. SM 1.8+

8. Я что-то забыл :( Дописать успею, потому что не уверен что это возможно вообще. А так надеюсь на программистов и понимающих в этой сфере))
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Построение списка немного не совсем удобное, но зато хотя бы понятно откуда взято)
А сам плагин предельно прост. Уверен, что найдёшь исполнителя.
 

ludanik

Участник
Сообщения
146
Реакции
20
открывается окошко
Можно и без motd окна, просто на заднем фоне будет играть музыка, только вроде нужна поддержка abode flash player или как-то так, а может и не нужна. Вообщем, играл на каком-то сервере, там реклама была без motd окна, постоянно новая и мультиязычная. Как узнал? Сервер нерусский (немецки), реклама русская.
 

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
Построение списка немного не совсем удобное, но зато хотя бы понятно откуда взято)
А сам плагин предельно прост. Уверен, что найдёшь исполнителя.
Ареновский нравился) Чёт я только конфиги другие не посмотрел перед написанием... А у тебя нет желания?)
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
организовать плейлист тот же и чтобы плагин мог брать песни, как вариант прямая ссылка на аудиозапись и конфиг для этого дела
Было и это дело на похожую тему... Ты же понимаешь, что нужна не только прямая ссылка на аудио файл, но и скрипт плеера, обязательно с авто проигрыванием при переходе по ссылке! Т.е., тебе нужен сайт, куда всю эту музыку можно залить и организовать воспроизведение на "каждой страничке" (так, чтобы музыка не повторялась).
 

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
Было и это дело на похожую тему... Ты же понимаешь, что нужна не только прямая ссылка на аудио файл, но и скрипт плеера, обязательно с авто проигрыванием при переходе по ссылке! Т.е., тебе нужен сайт, куда всю эту музыку можно залить и организовать воспроизведение на "каждой страничке" (так, чтобы музыка не повторялась).
Да, чёт этот момент я не описал, запускал же с сайта со скриптом таким, на сайт сложно найти что-то такое, не говоря об игре, вот сейчас даже и не знаю как это нормально сделать даже :(
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
3. Конфиг плейлиста playlist_01.cfg:
1-http://hlmod.ru/3243/_xexcswe_r232.mp3=END_CT
2-http://hlmod.ru/3243/_xexcswe_r232.mp3=END_ALL
3-http://hlmod.ru/3rtty43/_xeewetwt_r232.mp3=WEL
4-http://hlmod.ru/11324t/_xexcwetewte_r23452.mp3=STR_T
Это конечно хорошо но лучше было бы отправлять имя трека как параметр get запроса. Тогда скрипт просто будет принимать его и воспроизводить:
C-подобный:
http://hlmod.ru/round_end_sound.php?sound=_xexcswe_r232.mp3:END_CT
Но нужно еще синхронизировать между сайтом и плагином названия песен, тут либо руками либо socket/curl/steamworks.
 

code++

Участник
Сообщения
367
Реакции
129
Было и это дело на похожую тему... Ты же понимаешь, что нужна не только прямая ссылка на аудио файл, но и скрипт плеера, обязательно с авто проигрыванием при переходе по ссылке! Т.е., тебе нужен сайт, куда всю эту музыку можно залить и организовать воспроизведение на "каждой страничке" (так, чтобы музыка не повторялась).
есть такой сайт SoundCloud – Hear the world’s sounds и на подобии твой идеи есть плагин при смене карты играет музыка
--- Добавлено позже ---
есть такой сайт SoundCloud – Hear the world’s sounds и на подобии его идеи есть плагин при смене карты играет музыка
Сылка на плагин
В ссылке выставляешь время и у тебя автоматом начинается проигрыватся песня с того момента(времени) что ты выставил
 
Последнее редактирование:

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Просто делаешь плеер с автозапуском на сайте, совершенно любой, и открываешь поток в игре.

Единственная проблема сего чуда, ибо я хотел подобное сделать - у некоторых игроков, у кого слабые ресурсы, будет лагать игра.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
у кого слабые ресурсы, будет лагать игра
Включая интернет. При первых воспроизведениях делать проверку до/после. Если пинг заметно подскакивает - переводить такого игрока на песни "лёгкого раздела" (сниженый битрейт), либо вовсе предлагать отключать.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Давайте перейдём от слов - к делу. А то "просто, просто", но результата нет.
хотел подобное сделать
Раз есть такая практика, то напиши ему плагин-пример. В одной строке указываем ссылку и при вводе команды в чате - пытаемся воспроизвести. Так ТС плейлист и проверит, хотя бы основу для сайта/страницы песен.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
@AlmazON, что-то лень :D
Я всегда готов подискутировать или высказать своё мнение, но вот заниматься непосредственной реализацией желания мало)
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
От плеера нужно, чтобы он воспроизводил трек по $_GET['sound'];

PHP:
#include <sourcemod>

public Plugin myinfo = 
{
    name = "Play Web Sound", 
    author = "Primo",
    description = "None description",
    version = "1.0",
}

char s_List[][] =
{
    "sound_one",
    "sound_two",
    "sound_three"
}

public void OnPluginStart()
{
    RegConsoleCmd("sound_test", cmd_Sound);
}

public Action cmd_Sound(int client, int args)
{
    if(client)
    {
        int r_int = GetRandomInt(0, 2);
        playSound(client, s_List[r_int]);
    }
}

void playSound(int client, char[] sinfo)
{
    char surl[128];
    Format(surl, sizeof(surl), "http://domain.com/?sound=%s", sinfo);
    KeyValues Sound = new KeyValues("data");
    Sound.SetString("title", sinfo);
    Sound.SetString("type", "2");
    Sound.SetString("msg", surl);
    ShowVGUIPanel(client, "info", Sound, false);
    CloseHandle(Sound);
}
 

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
@Dreizehnt, ну и что теперь скажешь? "Овчинка выделки не стоит."?
Ну проблемы сейчас только на разработке, потом-то одни плюсы) Оффтоп
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,517
Реакции
4,979
@Primo, Оффтоп
 
  • Мне нравится
Реакции: R1KO
Сверху Снизу