1. Qwerty Пользователь

    Регистрация:
    07.05.16
    Сообщения:
    31
    Симпатии:
    16
    Пол:
    Мужской
    ICQ:
    2909602
    Автор: Vaqtincha
    Версия: 0.0.1

    Описание:
    Вот небольшой плагин. Правда только флаг будет общим для всех моделей.
    Работает точно так же как и Admin Weapon Skins только здесь есть поддержка p_ w_ моделей.
    По умолчанию флаги доступа: AccessFlag = "а"
    Если вы получаете эту ошибку: [HAMSANDWICH] не удалось получить classtype для "weapon_xxx"
    Вы должны проверить наличие ошибок в названиях оружия.
    Допустимые имена оружия:
    ; weapon_elite, weapon_fiveseven, weapon_usp, weapon_glock18, weapon_p228, weapon_deagle
    ; weapon_scout, weapon_xm1014, weapon_mac10, weapon_aug, weapon_ump45, weapon_sg550,
    ; weapon_galil, weapon_famas, weapon_awp, weapon_mp5navy, weapon_m249, weapon_m3,
    ; weapon_m4a1, weapon_tmp, weapon_g3sg1, weapon_sg552, weapon_ak47, weapon_p90
    ; weapon_knife, weapon_c4 weapon_flashbang, weapon_hegrenade, weapon_smokegrenade
    Формат: "weaponname" "v_model" "p_model" "правильные w_model"
    Примеры: Набор модели awp: "weapon_awp" "models/v_awp" "models/p_awp" "models/w_awp"
    Набор ножей модель без w_ модели
    "weapon_knife" "models/v_knife" "models/p_knife" ""
    Примечания: Не забывайте про лимит предварительно 512!

    Установка:
    • Скачиваем архив, распаковываем
    • Настраиваем флаг доступа к модели оружия в конфиге
    • Настраиваем пути к оружию и названия моделей в конфиге.
    • Заливаем на сервер, прописываем в plugins.ini
     

    Вложения:

    ExtraSens, Владюша, gudaus и 2 другим нравится это.
  2. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    603
    Симпатии:
    79
    Пол:
    Мужской
    Кто-нить ставил уже?
     
  3. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    603
    Симпатии:
    79
    Пол:
    Мужской
    А можно какую-нить модель без p_модели прописать?
    т.е. "weapon_" "folder/v_weapon" "" "" так?
     
  4. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    654
    Симпатии:
    241
    Пол:
    Мужской
    Стандартную указать никак?
     
  5. Qwerty Пользователь

    Регистрация:
    07.05.16
    Сообщения:
    31
    Симпатии:
    16
    Пол:
    Мужской
    ICQ:
    2909602
    немного изменить код.
     
  6. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    603
    Симпатии:
    79
    Пол:
    Мужской
    Qwerty, да не надо вроде заработало)
     
  7. Qwerty Пользователь

    Регистрация:
    07.05.16
    Сообщения:
    31
    Симпатии:
    16
    Пол:
    Мужской
    ICQ:
    2909602
    pm-04, ну вот)
     
  8. Петр Пользователь

    Регистрация:
    28.05.16
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    VKcom:
    headk1337
    скрин можно
     
  9. LeninChan^^ Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.086
    Симпатии:
    368
    Пол:
    Мужской
    Telegram:
    LeninChan
  10. ExtraSens Пользователь

    Регистрация:
    19.06.15
    Сообщения:
    147
    Симпатии:
    11
    Пол:
    Мужской

    ИЛИ вот ТАК
     
  11. Владюша Пользователь

    Регистрация:
    29.01.16
    Сообщения:
    114
    Симпатии:
    29
    Пол:
    Мужской
    Ребят, как сделать для всех игроков? заменил гранаты, ставлю флаг z и у админов и вип не отображается замененная граната, ставлю допустим tz - отображается v модель, когда кидаешь то летит обычная граната
     
  12. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Для гранат надо 3 модели менять: V_, P_ ,W_
     
  13. Владюша Пользователь

    Регистрация:
    29.01.16
    Сообщения:
    114
    Симпатии:
    29
    Пол:
    Мужской
    я в курсе, менял все 3 модели, я про флаги доступа спрашивал, как изменить чтобы у всех отображалось
     
  14. maFFyoZZyk Черный Жнец ^_^ Команда форума

    Регистрация:
    14.01.16
    Сообщения:
    1.248
    Симпатии:
    548
    Пол:
    Мужской
    Флаг admin_user
     
  15. 404 VIP user

    Регистрация:
    04.01.16
    Сообщения:
    158
    Симпатии:
    54
    Пол:
    Мужской
    Skype:
    qwerty481551
    ICQ:
    480067424
    что не так делаю?

    Error: server failed to transmit file 'models/custom/v_deagle.mdl'
    Error: server failed to transmit file 'models/custom/p_deagle.mdl'
    Error: server failed to transmit file 'models/custom/w_deagle.mdl'
    Error: could not load file models/custom/v_deagle.mdl
    Model models/custom/v_deagle.mdl not found and not available from server
    Cannot continue without model models/custom/v_deagle.mdl, disconnecting.

    модели все лежат по правильному пути models/custom пробовал разные модели в weapons_skins.ini прописал так:
    "weapon_deagle" "custom/v_deagle" "custom/p_deagle" "custom/w_deagle"
     
  16. tpylala Пользователь

    Регистрация:
    27.04.16
    Сообщения:
    172
    Симпатии:
    20
    Пол:
    Мужской
    Пишет что мoдель не найдена, перепроверь куда ты их залил.
    попробуй изменить названия моделей в папке и файле
    "weapon_deagle" "custom/v_deagle1" "custom/p_deagle1" "custom/w_deagle1"

    и есть версия 0.0.2
     
  17. 404 VIP user

    Регистрация:
    04.01.16
    Сообщения:
    158
    Симпатии:
    54
    Пол:
    Мужской
    Skype:
    qwerty481551
    ICQ:
    480067424
    лежат все по папкам models/custom p_ak47.mdl v_ak47.mdl w_ak47.mdl может fastdl что мудрит? хотя карты качает нормально
    --- добавлено 18.09.16 ---
    @tpylala, а ссылочку дать можешь на 0.0.2?
     
  18. tpylala Пользователь

    Регистрация:
    27.04.16
    Сообщения:
    172
    Симпатии:
    20
    Пол:
    Мужской
    @404, гугл, первые ссылки по запросу: Models Replacement 0.0.2
     
    404 нравится это.
  19. 404 VIP user

    Регистрация:
    04.01.16
    Сообщения:
    158
    Симпатии:
    54
    Пол:
    Мужской
    Skype:
    qwerty481551
    ICQ:
    480067424
    @tpylala, спасибо. всё проблему решил у меня фастдл мудил)
     
  20. fredhzer Пользователь

    Регистрация:
    08.09.16
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет,есть проблема,установил плагин на свой сервер,долго не хотел закачивать модели но все же закачал.Теперь столкнулся с другой проблемой,не могу настроить вид от 1 лица тоесть модель W не показывает,показывает стандартную.При этом можель P и V работают.Долго извращался с AccessFlag,результат тот же.[​IMG]

    AccessFlag = admin_level_a
    "weapon_deagle" "custom/v_deagle" "custom/p_deagle" "custom/w_deagle"
    "weapon_m4a1" "custom/v_m4a1" "custom/p_m4a1" "custom/w_m4a1"
    "weapon_famas" "custom/v_famas" "custom/p_famas" "custom/w_famas"
    "weapon_awp" "custom/v_awp" "custom/p_awp" "custom/w_awp"
    Код:
    // Copyright © 2016 Vaqtincha
    /******************************************************************
    *    Credits: to
    *
    *    - ConnorMcLeod for plugin "Weapon Models"
    *
    *******************************************************************/
    
    #define VERSION "0.0.1"
    
    #define MAX_MODEL_LENGTH     64
    #define MAX_PATH_LENGTH     128
    #define MAX_PLAYERS            32
    #define MAX_PARAMETERS        4
    
    #include <amxmodx>
    #include <fakemeta>
    #include <hamsandwich>
    
    #define AllocString(%1)         engfunc(EngFunc_AllocString,%1)
    #define SetModel(%1,%2)         engfunc(EngFunc_SetModel,%1,%2)
    #define IsPlayer(%1)            (1 <= %1 <= g_iMaxPlayers)
    
    new Trie:g_tViewModels
    new Trie:g_tWeaponModels
    new Trie:g_tWorldModels
    new g_iAccess, g_iMaxPlayers
    
    public plugin_precache()
    {
        new szConfigFile[MAX_PATH_LENGTH], szMsg[128]
        get_localinfo("amxx_configsdir", szConfigFile, charsmax(szConfigFile))
        add(szConfigFile, charsmax(szConfigFile), "/weapons_skins.ini")
    
        if(!file_exists(szConfigFile))
        {
            formatex(szMsg, charsmax(szMsg), "[ERROR] Config file ^"%s^" not found!", szConfigFile)
            set_fail_state(szMsg)
            return
        }
        new iFilePointer = fopen(szConfigFile, "rt")
        if(!iFilePointer)
        {
            return
        }
    
        new Trie:tRegisterWeaponDeploy = TrieCreate()
        new szDatas[192], szSetting[12], szSymb[3], szFlags[32]
        new szWeaponClass[32]
        new szViewModel[MAX_MODEL_LENGTH], szWeaponModel[MAX_MODEL_LENGTH], szWorldModel[MAX_MODEL_LENGTH]
        new szOldWorldModel[MAX_MODEL_LENGTH]
    
        while(!feof(iFilePointer))
        {
            fgets(iFilePointer, szDatas, charsmax(szDatas))
            trim(szDatas)
            if(!szDatas[0] || szDatas[0] == ';' || szDatas[0] == '#')
            {
                continue
            }
            if(equal(szDatas, "AccessFlag", 10))
            {
                parse(szDatas, szSetting, charsmax(szSetting), szSymb, charsmax(szSymb), szFlags, charsmax(szFlags))
                g_iAccess = read_flags(szFlags)
                continue
            }
            if(parse(szDatas, szWeaponClass, charsmax(szWeaponClass),
            szViewModel, charsmax(szViewModel), szWeaponModel, charsmax(szWeaponModel),
            szWorldModel, charsmax(szWorldModel)) == MAX_PARAMETERS)
            {
                if(!TrieKeyExists(tRegisterWeaponDeploy, szWeaponClass))
                {
                    TrieSetCell
                    (
                        tRegisterWeaponDeploy,
                        szWeaponClass,
                        RegisterHam(Ham_Item_Deploy, szWeaponClass, "ItemDeploy_Post", true)
                    )
                }
                format(szViewModel, charsmax(szViewModel), "models/%s.mdl", szViewModel)
                if(file_exists(szViewModel))
                {
                    if(!g_tViewModels)
                    {
                        g_tViewModels = TrieCreate()
                    }
                    TrieSetCell(g_tViewModels, szWeaponClass, AllocString(szViewModel))
                    precache_model(szViewModel)
                }
                format(szWeaponModel, charsmax(szWeaponModel), "models/%s.mdl", szWeaponModel)
                if(file_exists(szWeaponModel))
                {
                    if(!g_tWeaponModels)
                    {
                        g_tWeaponModels = TrieCreate()
                    }
                    TrieSetCell(g_tWeaponModels, szWeaponClass, AllocString(szWeaponModel))
                    precache_model(szWeaponModel)
                }
                format(szWorldModel, charsmax(szWorldModel), "models/%s.mdl", szWorldModel)
                if(file_exists(szWorldModel))
                {
                    if(!g_tWorldModels)
                    {
                        g_tWorldModels = TrieCreate()
                    }
                    if(szWeaponClass[10] == 'n') // weapon_mp5navy
                    {
                        // replace(szWeaponClass, charsmax(szWeaponClass), "navy", "")
                        szWeaponClass[10] = EOS
                    }
                    formatex(szOldWorldModel, charsmax(szOldWorldModel), "models/w_%s.mdl", szWeaponClass[7])
                    if(!TrieKeyExists(g_tWorldModels, szOldWorldModel))
                    {
                        TrieSetString(g_tWorldModels, szOldWorldModel, szWorldModel)
                        precache_model(szWorldModel)
                    }
                }
            }
        }
        fclose(iFilePointer)
        TrieDestroy(tRegisterWeaponDeploy)
    }
    
    public plugin_init()
    {
        register_plugin("Weapons Skins Manager", VERSION, "Vaqtincha")
    
        if(g_tWorldModels)
        {
            register_forward(FM_SetModel, "SetModel_Pre", 0)
        }
        g_iMaxPlayers = get_maxplayers()
    }
    
    public ItemDeploy_Post(wEnt)
    {
        if(wEnt <= 0)
            return
    
        const m_pPlayer = 41
    
        new id = get_pdata_cbase(wEnt, m_pPlayer, .linuxdiff = 4)
        if(IsPlayer(id) && get_user_flags(id) & g_iAccess)
        {
            new iszNewModel, szWeaponClass[32]
            pev(wEnt, pev_classname, szWeaponClass, charsmax(szWeaponClass))
            if(g_tViewModels)
            {
                if(TrieGetCell(g_tViewModels, szWeaponClass, iszNewModel))
                {
                    set_pev(id, pev_viewmodel, iszNewModel)
                }
            }
            if(g_tWeaponModels)
            {
                if(TrieGetCell(g_tWeaponModels, szWeaponClass, iszNewModel))
                {
                    set_pev(id, pev_weaponmodel, iszNewModel)
                }
            }
        }
    }
    
    public SetModel_Pre(iEnt, const szModel[])
    {
        // if(!pev_valid(iEnt))
            // return FMRES_IGNORED
    
        new id = pev(iEnt, pev_owner)
        if(!IsPlayer(id) || ~get_user_flags(id) & g_iAccess)
            return FMRES_IGNORED
    
        new szNewModel[MAX_MODEL_LENGTH]
        if(TrieGetString(g_tWorldModels, szModel, szNewModel, charsmax(szNewModel)))
        {
            SetModel(iEnt, szNewModel)
            return FMRES_SUPERCEDE
        }
        return FMRES_IGNORED
    }
    
    public plugin_end()
    {
        if(g_tViewModels)
            TrieDestroy(g_tViewModels)
        if(g_tWeaponModels)
            TrieDestroy(g_tWeaponModels)
        if(g_tWorldModels)
            TrieDestroy(g_tWorldModels)
    }
    

    Помогите разобраться,добрые люди,буду признателен!!!!