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

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

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Музыка при входе на сервер

, Приват
Статус пользователя Orty_Hart
сообщение 8.1.2013, 20:10
Сообщение #1
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Я когда-то написал для себя плагин, для проигрывания музыки при входе на сервер.
Сейчас, я решил убрать этот плагин, посколько у меня получается много звуков для закачки.

Особенности:
* - поддержка форматов .mp3.
* - проверка наличия звуков (уменьшает нагрузку на удалённый сервер).
* - код полностью адаптирован, и не крашит сервер.

Настройки:
MaxSounds - указываем сколько треков.
и в soundlist прописываем звуки без .mp3


Исходник
Код
#include <amxmodx>

#define MaxSounds 5
new soundlist[MaxSounds][] =
{
"sound/loading/sound_1",
"sound/loading/sound_2",
"sound/loading/sound_3",
"sound/loading/sound_4",
"sound/loading/sound_5"
}

public plugin_init()
    register_plugin("Loading Sound", "1.5", "Sutar")

public client_connect(id)
    client_cmd(id, "mp3 play %s", soundlist[random(MaxSounds)])

public plugin_precache()
{
    for(new i = 0; i < MaxSounds; i++)
    {
        new sounds[75]
        format(sounds, 74, "%s.mp3", soundlist[i])
        if(file_exists(sounds))
            precache_generic(sounds)
    }
    
    return PLUGIN_CONTINUE
}


Отредактировал: Orty_Hart, - 9.1.2013, 12:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   Цитировать сообщение
Статус пользователя adminVFC
сообщение 8.1.2013, 20:27
Сообщение #2
Стаж: 13 лет

Сообщений: 21
Благодарностей: 5
Полезность: 165

Не проще?

в motd.txt

<bgsound src="http://www.сайт.ру/files/45616/песня.mp3">
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 8.1.2013, 20:29
Сообщение #3


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(adminVFC @ 8.1.2013, 20:27) *
Не проще?

в motd.txt

<bgsound src="http://www.сайт.ру/files/45616/песня.mp3">

Мотд закрыл, песня играет.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя adminVFC
сообщение 8.1.2013, 20:43
Сообщение #4
Стаж: 13 лет

Сообщений: 21
Благодарностей: 5
Полезность: 165

Цитата(Fred Perry @ 8.1.2013, 22:29) *
Мотд закрыл, песня играет.

Не ставить песни по три минуты, обрезал, залил, готово (:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 8.1.2013, 21:10
Сообщение #5
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

adminVFC,
Motd воспроизводит после входа.
Данный плагин, при входе.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 8.1.2013, 21:20
Сообщение #6


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Код
if(!file_exists(soundlist[i]))
        {
            new sounds[75]
            format(sounds, 74, "%s.mp3", soundlist[i])
            precache_generic(sounds)
        }

лолчто?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.1.2013, 0:19
Сообщение #7
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Surf,
почему? проверять есть-ли звук на сервере.
бывает, что нету или не доступен, и клиент зависает...
а здесь, не большая проверка.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 9.1.2013, 0:47
Сообщение #8


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Цитата(Orty_Hart @ 9.1.2013, 4:19) *
Surf,
почему? проверять есть-ли звук на сервере.
бывает, что нету или не доступен, и клиент зависает...
а здесь, не большая проверка.

1. у тебя file_exists(soundlist[i]) всегда будет возвращать false, т.к файлов без расширений не существует
2. если даже исправить первое то перед file_exists(soundlist[i]) нужно убирать отрицание (!)

Собстно, т.к file_exists(soundlist[i]) возвращает всегда false то плагин и работает, тебе просто повезло что ошибка не критична, точнее две ошибки нейтрализуют друг друга))

Я б вот вообще не плодил велосипедов и убрал этот кусок кода, т.е оставил бы обычный прекэш. А то что там админ забыл положить звуки на сервер это его проблема

p.s
Код
public client_connect(id)
{
    client_cmd(id, "mp3 play %s", soundlist[random(MaxSounds)])
    return PLUGIN_CONTINUE
}


тут return PLUGIN_CONTINUE не обязательно, ничего не изменится абсолютно (компилятор сам поставит туда это при отсутствии оных)

+

Код
#include <amxmisc>

если память не подводит то тут нет функций из этой библиотеки, так что лишнее

+

я б добавил поддержку вавок

Отредактировал: Surf, - 9.1.2013, 0:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.1.2013, 1:15
Сообщение #9
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Surf,
проверь код. Будешь удивлен.
У меня он работает на ура.
и я забыл убрать #include <amxmisc> :D
просто у меня 2 исходника, и 1 из них не такой чуток... напутал :D

+

проверь загрузку файла. Всё идеально.

Отредактировал: Orty_Hart, - 9.1.2013, 1:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 9.1.2013, 6:48
Сообщение #10


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Orty_Hart,
ты глупый? я тебе выше все только что расписал, почему он у тебя работает и так далее
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.1.2013, 12:11
Сообщение #11
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Surf,
Глупый? тщательней выбирайте выражения.
И читайте внимательней "Глупый", я описал причину, почему так получилось.

Цитата
просто у меня 2 исходника, и 1 из них не такой чуток... напутал :D


кто теперь глупый?
P.S. - Пожалуйста, не выводите, я дал код, кому нужно возьмёт. А свою критику оставляйте при сибе.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя elfitaja
сообщение 8.7.2013, 20:13
Сообщение #12
Стаж: 13 лет

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

Не компилируется =( Ошибка

Хм.. Скомпилили, но можно как то сменить количество звуковых дорожек? =)

Отредактировал: elfitaja, - 8.7.2013, 20:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Schizo
сообщение 8.7.2013, 23:24
Сообщение #13


Стаж: 12 лет

Сообщений: 63
Благодарностей: 10
Полезность: 23

Цитата(elfitaja @ 8.7.2013, 21:13) *
Не компилируется =( Ошибка

Хм.. Скомпилили, но можно как то сменить количество звуковых дорожек? =)

Код
#define MaxSounds 5
new soundlist[MaxSounds][] =
{
"sound/loading/sound_1",
"sound/loading/sound_2",
"sound/loading/sound_3",
"sound/loading/sound_4",
"sound/loading/sound_5"
}


#define MaxSounds 5 (Цифру меняешь на своё количество)

А далее идет список путей к трекам, их должно быть ровно столько сколько указал выше.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sanek63
сообщение 25.2.2015, 17:31
Сообщение #14
Стаж: 11 лет

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

А как плагин назвать надо? thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 25.2.2015, 17:34
Сообщение #15
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(Sanek63 @ 25.2.2015, 17:31) *
А как плагин назвать надо? thank_you2.gif

Как нравится так и называйте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя coca-cola :)
сообщение 3.5.2015, 21:07
Сообщение #16


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

Стаж: 12 лет
Город: Москва

Сообщений: 1306
Благодарностей: 1031
Полезность: 1247

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

Возможно сделать, чтобы .mp3 файл воспроизвелся до конца? Допустим трек идет 15 секунд, а коннект к серверу всего 5, нужно чтобы музыка доиграла
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя KpyTblLLl
сообщение 26.5.2015, 19:32
Сообщение #17


Стаж: 18 лет

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

Не воспроизводит при коннекте, в чем может быть проблема? Какой битрейт должен быть у .mp3

Отредактировал: KpyTblLLl, - 26.5.2015, 19:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 26.5.2015, 19:56
Сообщение #18


Стаж: 12 лет

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

128 кбит\сек
2(стерео)
44кГц
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя KpyTblLLl
сообщение 26.5.2015, 20:31
Сообщение #19


Стаж: 18 лет

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

Цитата(Bloo @ 26.5.2015, 17:56) *
128 кбит\сек
2(стерео)
44кГц

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


Стаж: 12 лет

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

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