Иконка ресурса

Hide Weapon Model 1.1

Нет прав для скачивания
Установка
  1. Скомпилируйте плагин (инструкция)
  2. Скопируйте скомпилированный .amxx в директорию /amxmodx/plugins/
  3. Пропишите .amxx в файле /amxmodx/configs/plugins.ini
  4. Смените карту или перезапустите сервер.
Исходный код
Код:
/**
    История изменений:
        1.0 (???) by WHO???
            - Первый релиз;
        1.1 (28.09.2021) by b0t.
            - Редактура;
            - Оптимизация;
*/
#include <amxmodx>
#include <fakemeta>
new const VERSION[] = "1.1";
new const g_szToggleCmd[] = "p_model";  //Команда для включения/отключения p_ моделей (say/say_team/consol)
new
    bool:p_bToggleWeaponModel[33];
  
public plugin_init() {
    register_plugin("ToggleWeaponModel",VERSION,"WHO???");
  
    UTIL_RegisterClCmd(g_szToggleCmd,"Func__ToggleWeaponModel");
    register_forward(FM_AddToFullPack,"FM_AddToFullPack_Post",true);
}
public Func__ToggleWeaponModel(const id) {
    p_bToggleWeaponModel[id] ^= true;
    return PLUGIN_HANDLED;
}
public FM_AddToFullPack_Post(iEs,iE,iEnt,pHost,BitHostFlags,Player,pSet) {
    if(!is_user_connected(pHost))
        return FMRES_IGNORED;
  
    if(p_bToggleWeaponModel[pHost])
        set_es(iEs,ES_WeaponModel,0);
  
    return FMRES_IGNORED;
}
stock UTIL_RegisterClCmd(const szCmd[],const szFunc[]) {
    register_clcmd(fmt("%s",szCmd),szFunc);
    register_clcmd(fmt("say /%s",szCmd),szFunc);
    register_clcmd(fmt("say_team /%s",szCmd),szFunc);
}
public plugin_natives() {
    register_native("_get_visible_p_model","native__get_visible_p_model");          //Вернёт true/false в зависимовсти от того, видит ли игрок p_ модели.
    register_native("_toggle_visible_p_model","native_toggle_visible_p_model");     //Насильно отключит/включит видимость p_ моделей игроку.
}
public bool:native__get_visible_p_model(iPlugin,iParam) {
    new id = get_param(1);
  
    return bool:p_bToggleWeaponModel[id];
}
public native_toggle_visible_p_model(iPlugin,iParam) {
    new id = get_param(1);
  
    if(!is_user_connected(id))
        return false;
  
    return Func__ToggleWeaponModel(id);
}
Настройки
Код:
new const g_szToggleCmd[] = "p_model";  //Команда для включения/отключения p_ моделей (say/say_team/consol)
Интерфейсы (API)
Код:
//Вернёт true/false в зависимовсти от того, видит ли игрок p_ модели.
native _get_visible_p_model(const pPlayer);

//Насильно отключит/включит видимость p_ моделей игроку.
native _toggle_visible_p_model(const pPlayer);
Сверху Снизу