Участник
Пользователь
- Сообщения
- 143
- Реакции
- 68
- Помог
- 1 раз(а)
Дорогие знатоки.
Может кто нибудь сможет помочь.
Хочу убрать спрайт дыма для ВИП игроков.
То есть чтобы для обыкновенных игроков дым работал, а для ВИП дым блокировался.
Вот что пытался сделать, как бы работает, но так не правильно.
В данном примере все работает как бы сказать по вкл/выкл. Зашел игрок (проверило флаг доступа) переключило, и т.д. Поэтому если несколько игроков на сервере будет творится ерунда.
Может кто нибудь сможет помочь.
Хочу убрать спрайт дыма для ВИП игроков.
То есть чтобы для обыкновенных игроков дым работал, а для ВИП дым блокировался.
Вот что пытался сделать, как бы работает, но так не правильно.
Код:
#include <amxmodx>
#include <engine>
#include <fakemeta>
new g_Enebled;
new g_smoke;
new g_CreateSmoke;
public plugin_init()
{
register_plugin("Blocked Smoke", "1.0", "X-Team");
unregister_forward(FM_PrecacheEvent, g_smoke, 1);
register_forward(FM_PlaybackEvent, "FwdPlaybackEvent");
}
public plugin_precache( )
{
g_smoke = register_forward(FM_PrecacheEvent, "FwdPrecacheEvent", 1);
}
public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H){
g_Enebled = 1;
}else{
g_Enebled = 0;
}
}
public FwdPlaybackEvent( iFlags , iEntity , iEventindex, Float:fDelay, Float:vOrigin[3], Float:vAngles[3], Float:fParam1, Float:fParam2, iParam1, iParam2, iBparam1, iBparam2 )
{
if(iEventindex != g_CreateSmoke || !g_Enebled)
return FMRES_IGNORED;
return FMRES_SUPERCEDE;
}
public FwdPrecacheEvent(type, const name[])
{
if (equal("events/createsmoke.sc", name))
{
g_CreateSmoke = get_orig_retval();
return FMRES_HANDLED;
}
return FMRES_IGNORED;
}