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

    Всего на сайте: 1
    Гостей: 0
    Пользователи: - отсутствуют
    Роботы: crawl Bot

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 16-03-2012, 12:48 Просмотров: 4526

    plugin_precache Форвард функция для кешированя файлов

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

    Инфо из amxmodx.inc:
    /* Use here model_precache() and sound_precache() functions. */
    forward plugin_precache();


    Синтаксис:
    plugin_precache()


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

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

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[amxmisc.inc] plugin_precache"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        server_print("^n plugin_init ^n")

    }
    public plugin_precache(){
        
        server_print("^n plugin_precache ^n")
        
    }


    Описание:
    plugin_precache это "технический" форвард, по этому ни чего конкретного для примера придумать нельзя, кроме как показать что этот форвард вызывается еще раньше чем plugin_init.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    plugin_precache Форвард функция для кешированя файлов
    gavrilyuc

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

    Хочу Указать что кэш этот не такой уж и большой.
    По этому нужно кэшить только Тот Звук который ты уверен что его нету у клиента.
    А То смотрел сервера у них у кэше весит от 2 до Over100500 раз один и тот же звук или же спрайт.

    Например можно взять Zombie Мод так там один sprite/blood за кэширован очень много раз.

    Я Проверял, он(кэш) не фильтрует и не будет фильтровать. Это как бы маленькая Особенность.

    А да Размер Кэша состоит 512 Файлов.
    Стандартные Файлы и карты туда уже висят в кэше поэтому нету смысла кэшировать СТД. Файлы.
    Я как то заметил ConnorMcLeod он делал так :
    создавал отдельный плагин с precache и там указывал то что он использует.
    и плагин это загружал, Он больше precache не залалзил то есть у него только 1 плагин требовал кучу файлов, но остальные плагины которые как бы знали о существовании precache
    Просто использовали файлы.



    артист

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

    #include <amxmodx>
    #include <fakemeta>

    new hook_prec_model
    new Array:model_name

    public plugin_init()
    {
        unregister_forward(FM_PrecacheModel, hook_prec_model)
    }
    public plugin_precache()
    {
        model_name = ArrayCreate(64, 1)
        hook_prec_model = register_forward(FM_PrecacheModel, "precache_models")
    }
    public precache_models(const model[])
    {
        static name[64], i; i = -1
        
        while(++i < ArraySize(model_name))
        {
            ArrayGetString(model_name, i, name, charsmax(name))
            
            if(equali(model, name))
            {
                forward_return(FMV_CELL, 0)
                return FMRES_SUPERCEDE
            }
            else ArrayPushString(model_name, model)
        }
        return FMRES_IGNORED
    }

    Информация

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

Реклама