/**
История изменений:
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);
}