ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Новости

30-дек
29-дек
26-дек
15-дек

2 страниц V   1 2

RoundSound для CSDM

Статус пользователя miRror
сообщение 28.10.2014, 20:02
Сообщение #1


Стаж: 5 лет 9 месяцев

Сообщений: 1149
Благодарностей: 996
Полезность: 962

Меценат Меценат

Реализация: QooQa
Идея: miRror

Описание: Проигрывает музыку на сервере каждые 300 секунд, без повторений, то есть хранит историю проигранных треков. Если треки кончились, то играется произвольный из проигранных.
Возможности: Неограниченное количество треков, поддержка форматов wav, mp3.
Настройки:
MAX_SOUNDS - количество треков ( в моем варианте представлено 13, ниже указаны их названия )
FREQ_MUSIC - промежуток времени, через который будет играть новый трек
Помощь: Путь до трека указывать от содержимого папки sound.
Комментарий: Механизм работы можно перенести на обычный паблик, было бы желание =)

Код:
#include <amxmodx>

#define MAX_SOUNDS 13
#define FREQ_MUSIC 300.0

new const g_sSounds[MAX_SOUNDS][] =
{
"csdm/music/1.mp3",
"csdm/music/2.mp3",
"csdm/music/3.mp3",
"csdm/music/4.mp3",
"csdm/music/5.mp3",
"csdm/music/6.mp3",
"csdm/music/7.mp3",
"csdm/music/8.mp3",
"csdm/music/9.mp3",
"csdm/music/10.mp3",
"csdm/music/11.mp3",
"csdm/music/12.mp3",
"csdm/music/13.mp3"
}

public plugin_init ()
{
register_plugin ( "Sentry Music", "1.0", "QooQa" )

set_task ( FREQ_MUSIC, "PlayMusic", .flags = "b" )
}

public plugin_precache ()
{
for ( new i; i < sizeof g_sSounds; i++ )
precache_sound ( g_sSounds[i] )
}

public PlayMusic ()
{
static iPlaylist[MAX_SOUNDS], iCurMusic = -1

if ( iCurMusic == -1 || iCurMusic == MAX_SOUNDS )
{
new iLastMusic = -1
if ( iCurMusic > 0 )
iLastMusic = iPlaylist[iCurMusic - 1]

new iTempValues[MAX_SOUNDS]
for ( new i; i < MAX_SOUNDS; i++ )
iTempValues[i] = i

for ( new i, r, d, iNum, iMax = MAX_SOUNDS; i < MAX_SOUNDS; i++ )
{
iPlaylist[i] = iTempValues[r = random_num ( 0, iMax - 1 )]
iNum = iMax
for ( d = 0, iMax = 0; d < iNum; d++ )
{
if ( iTempValues[d] == iTempValues[r] ) // d == r
continue

iTempValues[iMax++] = iTempValues[d]
}
}

if ( iPlaylist[0] == iLastMusic )
{
new iPos = random_num ( 1, MAX_SOUNDS - 1 )
iPlaylist[0] = iPlaylist[iPos]
iPlaylist[iPos] = iLastMusic
}
iCurMusic = 0
}
PlaySound ( 0, g_sSounds[iPlaylist[iCurMusic++]] )
}

stock PlaySound ( id, const sound[] )
{
if ( strcmp ( sound[strlen ( sound ) - 4], ".mp3" ) == 0 )
client_cmd ( id, "mp3 play ^"sound/%s^"", sound )
else
client_cmd ( id, "spk ^"%s^"", sound )
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 12 раз
   Цитировать сообщение
Статус пользователя ChesterField
сообщение 28.10.2014, 20:25
Сообщение #2


Стаж: 2 года 2 месяца

Сообщений: 126
Благодарностей: 32
Полезность: 154

А можно сделать чтобы играла музыка с репозитория, или с радио?


Все что я написал либо нелогичный бред, либо правда.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 28.10.2014, 20:27
Сообщение #3


Стаж: 2 года 10 месяцев

Сообщений: 905
Благодарностей: 390
Полезность: 563

Цитата(ChesterField @ 28.10.2014, 21:25) *
А можно сделать чтобы играла музыка с репозитория, или с радио?

Это уже совсем другой плагин будет)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 28.10.2014, 20:39
Сообщение #4


Стаж: 5 лет 9 месяцев

Сообщений: 1149
Благодарностей: 996
Полезность: 962

Меценат Меценат

С радио только через мотд, да и то вроде на новых клиентах без костылей не сделаешь -> оно того не стоит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nebo
сообщение 28.10.2014, 20:40
Сообщение #5


Стаж: 4 года 4 месяца
Город: Казань

Сообщений: 2835
Благодарностей: 832
Полезность: 493

Еще бы добавить возможность, выключать музыку.


Лучший движок для твоего проекта: GameCMS.ru
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 28.10.2014, 20:42
Сообщение #6


Стаж: 2 года 10 месяцев

Сообщений: 905
Благодарностей: 390
Полезность: 563

Цитата(Nebo @ 28.10.2014, 21:40) *
Еще бы добавить возможность, выключать музыку.

Согласен, вкусы у всех разные. Было бы круто чтобы написав команду например /off в чат музыку ты не слышал.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
marik
сообщение 28.10.2014, 20:42
Сообщение #7
Стаж: 3 года 7 месяцев

Сообщений: 593
Благодарностей: 130
Полезность: < 0

Nebo,
Зачем ? смысл ? через каждые 5 минут трек по 15-17 секунд ! такая функция тут не нужна (тупо)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nebo
сообщение 28.10.2014, 20:45
Сообщение #8


Стаж: 4 года 4 месяца
Город: Казань

Сообщений: 2835
Благодарностей: 832
Полезность: 493

marik, выше ответ.
Может кому то вовсе не хочется слушать ваши любимые треки.


Лучший движок для твоего проекта: GameCMS.ru
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 28.10.2014, 20:48
Сообщение #9
Стаж: 3 года 7 месяцев

Сообщений: 593
Благодарностей: 130
Полезность: < 0

Nebo,
ну да ) тут согласен

Nebo,
Навязывать игроку свою музыку как то ........ да команда [офф] - я за ! )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 17.1.2015, 5:48
Сообщение #10


Стаж: 2 года 10 месяцев

Сообщений: 905
Благодарностей: 390
Полезность: 563

У стим игроков не работает вообще
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя x1DD
сообщение 17.1.2015, 7:33
Сообщение #11


Стаж: 4 года 9 месяцев

Сообщений: 103
Благодарностей: 81
Полезность: 311

Цитата(strelok93 @ 17.1.2015, 6:48) *
У стим игроков не работает вообще

Не правда, все прекрасно работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 17.1.2015, 8:17
Сообщение #12


Стаж: 2 года 10 месяцев

Сообщений: 905
Благодарностей: 390
Полезность: 563

Цитата(x1DD @ 17.1.2015, 8:33) *
Не правда, все прекрасно работает.

Ну у тебя своя правда, у меня своя) Ни у кого со стима в том числе и у меня не работает. С нонстима все чики пуки
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя deniska21233
сообщение 24.6.2015, 6:05
Сообщение #13
Стаж: 2 года 9 месяцев

Сообщений: 214
Благодарностей: 18
Полезность: < 0

Missing RIFF/WAVE chunks
выдает в консоли клиента
Помогите пожалуйста исправить )

Отредактировал: deniska21233, - 24.6.2015, 6:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 24.6.2015, 7:43
Сообщение #14


Иконка группы

Стаж: 3 года 1 месяц

Сообщений: 15541
Благодарностей: 6922
Полезность: 1206

deniska21233, пробуй так
Код:
#include <amxmodx>

#define MAX_SOUNDS 13
#define FREQ_MUSIC 300.0

new const g_sSounds[MAX_SOUNDS][] =
{
"sound/csdm/music/1.mp3",
"sound/csdm/music/2.mp3",
"sound/csdm/music/3.mp3",
"sound/csdm/music/4.mp3",
"sound/csdm/music/5.mp3",
"sound/csdm/music/6.mp3",
"sound/csdm/music/7.mp3",
"sound/csdm/music/8.mp3",
"sound/csdm/music/9.mp3",
"sound/csdm/music/10.mp3",
"sound/csdm/music/11.mp3",
"sound/csdm/music/12.mp3",
"sound/csdm/music/13.mp3"
}

public plugin_init ()
{
register_plugin ( "Sentry Music", "1.0", "QooQa" )

set_task ( FREQ_MUSIC, "PlayMusic", .flags = "b" )
}

public plugin_precache ()
{
for ( new i; i < sizeof g_sSounds; i++ )
precache_generic ( g_sSounds[i] )
}

public PlayMusic ()
{
static iPlaylist[MAX_SOUNDS], iCurMusic = -1

if ( iCurMusic == -1 || iCurMusic == MAX_SOUNDS )
{
new iLastMusic = -1
if ( iCurMusic > 0 )
iLastMusic = iPlaylist[iCurMusic - 1]

new iTempValues[MAX_SOUNDS]
for ( new i; i < MAX_SOUNDS; i++ )
iTempValues[i] = i

for ( new i, r, d, iNum, iMax = MAX_SOUNDS; i < MAX_SOUNDS; i++ )
{
iPlaylist[i] = iTempValues[r = random_num ( 0, iMax - 1 )]
iNum = iMax
for ( d = 0, iMax = 0; d < iNum; d++ )
{
if ( iTempValues[d] == iTempValues[r] ) // d == r
continue

iTempValues[iMax++] = iTempValues[d]
}
}

if ( iPlaylist[0] == iLastMusic )
{
new iPos = random_num ( 1, MAX_SOUNDS - 1 )
iPlaylist[0] = iPlaylist[iPos]
iPlaylist[iPos] = iLastMusic
}
iCurMusic = 0
}
PlaySound ( 0, g_sSounds[iPlaylist[iCurMusic++]] )
}

stock PlaySound ( id, const sound[] )
{
if ( strcmp ( sound[strlen ( sound ) - 4], ".mp3" ) == 0 )
client_cmd ( id, "mp3 play ^"%s^"", sound )
else
client_cmd ( id, "spk ^"%s^"", sound )
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя deniska21233
сообщение 24.6.2015, 8:14
Сообщение #15
Стаж: 2 года 9 месяцев

Сообщений: 214
Благодарностей: 18
Полезность: < 0

Очень помог щас хоть консоль чистая ) Спасибо

Отредактировал: Bloo, - 24.6.2015, 8:14
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sot100
сообщение 24.6.2015, 12:31
Сообщение #16


Стаж: 8 лет 10 месяцев

Сообщений: 1582
Благодарностей: 463
Полезность: 711

Прошу прощенья, но на CSDM это уже бред, я часто играю под свои миксы, и другая музыка не нужна!


Цитата(onotole)
Я на свой ВАЗ 2106 поставлю двигатель от тойоты и подвеску от бумера. Назову его ОнотАЗ и буду продавать за бешаные деньги)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 24.6.2015, 12:37
Сообщение #17


Стаж: 2 года 5 месяцев

Сообщений: 123
Благодарности: выкл.

sot100, MP3Volume "0" Вам поможет в этом, а так - полностью с Вами согласен. На ксдм как-то не очень) ИМХО

Отредактировал: Landir163, - 24.6.2015, 12:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sot100
сообщение 24.6.2015, 13:07
Сообщение #18


Стаж: 8 лет 10 месяцев

Сообщений: 1582
Благодарностей: 463
Полезность: 711

Цитата(Landir163 @ 24.6.2015, 13:37) *
sot100, MP3Volume "0" Вам поможет в этом, а так - полностью с Вами согласен. На ксдм как-то не очень) ИМХО


Я в курсе этой консольной команды


Цитата(onotole)
Я на свой ВАЗ 2106 поставлю двигатель от тойоты и подвеску от бумера. Назову его ОнотАЗ и буду продавать за бешаные деньги)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 24.6.2015, 13:23
Сообщение #19


Стаж: 5 лет 9 месяцев

Сообщений: 1149
Благодарностей: 996
Полезность: 962

Меценат Меценат

sot100, У меня игроки могут через меню музыку отключить. С этим нет никаких проблем.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя deniska21233
сообщение 25.6.2015, 9:19
Сообщение #20
Стаж: 2 года 9 месяцев

Сообщений: 214
Благодарностей: 18
Полезность: < 0

Можно сделать чтобы играла музыка по порядку ?

Отредактировал: deniska21233, - 25.6.2015, 9:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: