Тема: нельзя убить в голову!
Тут совместными усилиями сделали плагин, суть его в том, что в голову могут убивать только игроки с флагом А тоесть ADMIN_IMMUNITY думаю полезный для no_ucp, другими словами в голову будут позволено убивать только игрокам с установленным ucp
//==============================================================//
// ******************* //
// * Cvar Values * //
// ******************* //
// hs_mode 1 Blocks bots from shooting humans in the head //
// hs_mode 2 Blocks all headshots (Humans and bots) //
// hs_mode 3 Headshots Only (blocks all other hitzones) //
// hs_mode 4 Redirects all hitzones to the head //
//==============================================================//
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define IsPlayer(%1) (1<= %1 <= g_iMaxPlayers)
new mode, hitchest, knife, bool:gBotsRegistered, g_iMaxPlayers;
public plugin_init()
{
register_plugin("Headshot Modes", "1.3", "Doc Holiday");
RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack");
mode = register_cvar("hs_mode", "2");
hitchest = register_cvar("hs_chest", "0");
knife = register_cvar("hs_knife", "1");
g_iMaxPlayers = get_maxplayers();
}
public client_authorized( id )
{
if( !gBotsRegistered && is_user_bot( id ) )
{
set_task( 0.1, "register_bots", id );
}
}
public register_bots( id )
{
if( !gBotsRegistered && is_user_connected( id ) )
{
RegisterHamFromEntity( Ham_TraceAttack, id, "HamTraceAttack");
gBotsRegistered = true;
}
}
public HamTraceAttack(Vic, Att, Float:dmg, Float:dir[3], traceresult, dmgbits)
{
if(!IsPlayer(Att) || !IsPlayer(Vic) || Vic == Att)
return HAM_IGNORED;
if(get_pcvar_num(knife))
{
if( get_user_weapon( Att ) == CSW_KNIFE )
return HAM_IGNORED;
}
switch(get_pcvar_num(mode))
{
case 1: // Blocks bots from shooting humans in the head
{
if(!is_user_bot(Vic) && is_user_bot(Att))
{
if(get_tr2(traceresult, TR_iHitgroup) == HIT_HEAD)
{
if(get_pcvar_num(hitchest))
{
set_tr2(traceresult, TR_iHitgroup, HIT_CHEST)
return HAM_HANDLED
}
else
{
return HAM_SUPERCEDE
}
}
}
}
case 2: // Blocks all headshots (Humans and bots)
{
if (get_user_flags(ADMIN_IMMUNITY))
{
return HAM_IGNORED;
}
if(get_tr2(traceresult, TR_iHitgroup) == HIT_HEAD)
{
if(get_pcvar_num(hitchest))
{
set_tr2(traceresult, TR_iHitgroup, HIT_CHEST)
return HAM_HANDLED
}
else
{
return HAM_SUPERCEDE
}
}
}
case 3: // Headshots Only (blocks all other hitzones)
{
if(get_tr2(traceresult, TR_iHitgroup) != HIT_HEAD)
{
return HAM_SUPERCEDE
}
}
case 4:
{
if(get_tr2(traceresult, TR_iHitgroup) != HIT_HEAD)
{
set_tr2(traceresult, TR_iHitgroup, HIT_HEAD)
return HAM_HANDLED
}
}
}
return HAM_IGNORED;
}
https://vk.com/vipeburgcs