Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 26
    Гостей: 7
    Пользователи: - отсутствуют
    Роботы: Yandex Bot, Yandex Bot, Mail Ru, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 17-03-2012, 09:05 Просмотров: 5418

    precache_sound Функция предварительно кэширует звуковой файл

    Зачем нужно предварительно кешировать фалы? Ответ очень простой - что будет если вы попытаетесь вызвать какую то программу или открыть файл которого нет? Ответ очевиден - система ругнется на его отсутствие и вы не увидите того что ожидали. Тут история такая - когда заходит клиент на сервер в первый раз и он не имеет нужных файлов, то он просто не будет видеть модели или слышать ваши звуки, поэтому ему нужно их передать, закешированные файлы клиент скачает автоматически и у него будет точно такая же "картинка" как вы ее рисовали.

    Инфо из amxmodx.inc:
    /* Precache sound. Can be used only in plugin_precache() function.*/
    native precache_sound(const name[]);


    Синтаксис:
    precache_sound(const name[])

    • const name[] - Имя кешируемого файла с путем к нему ( если не в корневой директории папки sound)
    Используйте данную функцию только внутри функции plugin_precache. Если на сервере нет указанного файла, то получите такое сообщение:
    Warning:  Unable to open sound/radio/blowttttt.wav for transfer


    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[amxmodx.inc] precache_sound"
    #define VERSION "1.0"
    #define AUTHOR "Admin"


    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        register_clcmd("say /sound","sound")
        
        
    }
    public plugin_precache(){
        precache_sound("radio/blow.wav" )
        
    }

    public sound(id){
        emit_sound(id,0,"radio/blow.wav",1.0, 1.0, 0, 100 )
    }


    Описание:
    Данный пример скорее как пример синтаксиса, а не конкретного плагина.
    Если все такие необходимы комментарии, прочитайте описание функции emit_sound и вам должно стать все понятно.

    В двух словах о функции:
    precache_sound необходима для того что бы передать игроку ваш собственный звук.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    aleguf

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    То есть what если эту команду использовать:
    client_cmd(0, "spk sound/ur1247r729f91.wav")

    то этот звук не закачается у клиентов? И обязательно использовать
    precache_sound(const name[])
    для этого?
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    Эта функция проигрывает звук, а не закачивает его. чуешь разницу?
    --------------------
    aleguf

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Admin,
    Вроде как разобрался, спасибо
    gavrilyuc

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    можно ли как то проверить есть ли в кеше этот звук или модель ?
    Просто если в кэш засовывать один и тот же файл по несколько раз то и в кеш аналогично будет лезть...
    А так как кэш имеет Ограничение то думаю нужно как то проверять, есть ли этот файл у кэше...
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Нет, не будет.

    Создай два плагина, прекэшируй одну и туже модель или звук.
    Запиши индекс, и выведи в консоль.

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама