1. sayfa (Toplam 1 sayfa)

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Cmt Mar 07, 2020 10:38 pm
gönderen rezi072
Eklenti İsmi : Accuracy Fix
Yapımcısı : Numb
Sürüm 3.0

Herkese iyi akşamlar diliyorum. Eklentiyi formda gördüm. Ama bi isteğim olacak. Rica etsem Bu eklentinin işlevini dahada arttırabilir misiniz? mermi %70 sekiyorsa o sekmeyi %40 veya %30 a inecek şekilde ayarlarmsıınız. Kısacası merminin fazla sekmesini istemiyorum.
Bu eklenti az çok sekmeyi önlüyor ama bu sekmeyi 2 3 kat daha önlesin. yardımcı olanlara şimdiden çok teşekkür ediyorum...

Eklentinin Amacı Oyun İçerisinde, Herhangi Bir Silahla Ateş Ederken Mermi Sekmesini Düzeltir. Gene Seker Fakat Daha Düzenli Bir Biçimde Mermiler Gider Ayrıca Sekmedede Azalma olur.

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Pzr Mar 08, 2020 12:25 am
gönderen quadfor77
rezi072 yazdı: Cmt Mar 07, 2020 10:38 pm Eklenti İsmi : Accuracy Fix
Yapımcısı : Numb
Sürüm 3.0

Herkese iyi akşamlar diliyorum. Eklentiyi formda gördüm. Ama bi isteğim olacak. Rica etsem Bu eklentinin işlevini dahada arttırabilir misiniz? mermi %70 sekiyorsa o sekmeyi %40 veya %30 a inecek şekilde ayarlarmsıınız. Kısacası merminin fazla sekmesini istemiyorum.
Bu eklenti az çok sekmeyi önlüyor ama bu sekmeyi 2 3 kat daha önlesin. yardımcı olanlara şimdiden çok teşekkür ediyorum...

Eklentinin Amacı Oyun İçerisinde, Herhangi Bir Silahla Ateş Ederken Mermi Sekmesini Düzeltir. Gene Seker Fakat Daha Düzenli Bir Biçimde Mermiler Gider Ayrıca Sekmedede Azalma olur.
Bu forum csdurağı müşterileri için açılmış bir forum diğer firmalara yardım edilmiyor diye biliyorum.

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Pzr Mar 08, 2020 12:45 am
gönderen OPC Line
quadfor77 yazdı: Pzr Mar 08, 2020 12:25 am
rezi072 yazdı: Cmt Mar 07, 2020 10:38 pm Eklenti İsmi : Accuracy Fix
Yapımcısı : Numb
Sürüm 3.0

Herkese iyi akşamlar diliyorum. Eklentiyi formda gördüm. Ama bi isteğim olacak. Rica etsem Bu eklentinin işlevini dahada arttırabilir misiniz? mermi %70 sekiyorsa o sekmeyi %40 veya %30 a inecek şekilde ayarlarmsıınız. Kısacası merminin fazla sekmesini istemiyorum.
Bu eklenti az çok sekmeyi önlüyor ama bu sekmeyi 2 3 kat daha önlesin. yardımcı olanlara şimdiden çok teşekkür ediyorum...

Eklentinin Amacı Oyun İçerisinde, Herhangi Bir Silahla Ateş Ederken Mermi Sekmesini Düzeltir. Gene Seker Fakat Daha Düzenli Bir Biçimde Mermiler Gider Ayrıca Sekmedede Azalma olur.
Bu forum csdurağı müşterileri için açılmış bir forum diğer firmalara yardım edilmiyor diye biliyorum.
öyle bişey yok herkeze açık forum burası. Diğer sunuculardan serveri olupda buradan yardım alabilir herkez. o dediğinizi unutun

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Pzr Mar 08, 2020 12:51 am
gönderen OPC Line
mermiler dümdüz gitsin istiyorsanız forumdaki mermisekmemefix pluginini indirin.
eklentiler-pluginler/bugsuz-mermi-sekmeme-t8973-10.html

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Pzr Mar 08, 2020 6:26 am
gönderen rezi072
OPC Line yazdı: Pzr Mar 08, 2020 12:51 am mermiler dümdüz gitsin istiyorsanız forumdaki mermisekmemefix pluginini indirin.
eklentiler-pluginler/bugsuz-mermi-sekmeme-t8973-10.html
Hocam cevabınız için teşekkür ederim ama istediğim bu şekilde değil. Attığım eklentiyi birazdaha etkili hale getirmek. Yinede çok teşekkür ederim :)

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Pzt Mar 09, 2020 3:37 am
gönderen rezi072
Arkadaşalr yok mu yardım edecek :/ :((

Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Pzt Mar 09, 2020 12:07 pm
gönderen Mr.Persians
Denermisin Bir:

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN_NAME	"Accuracy Fix"
#define PLUGIN_VERSION	"1.0"
#define PLUGIN_AUTHOR	"Numb"

#define m_pPlayer 41
#define m_flAccuracy 30
#define m_flLastFire 30
#define m_iShotsFired 31
#define m_fWeaponState 74
#define WEAPONSTATE_GLOCK18_BURST_MODE (1<<1)

new Float:g_fAccuracy;

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ak47",      "Ham_Attack_ak47_Pre",    0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_aug",       "Ham_Attack_aug_Pre",     0);
	
	// awp accuracy offset does not exist
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle",    "Ham_Attack_deagle_Pre",  0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle",    "Ham_Attack_deagle_Post", 1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_elite",     "Ham_Attack_elite_Pre",   0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_elite",     "Ham_Attack_elite_Post",  1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_famas",     "Ham_Attack_famas_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_fiveseven", "Ham_Attack_57_Pre",      0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_fiveseven", "Ham_Attack_57_Post",     1);
	
	// g3sg1 accuracy offset has no effect
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil",     "Ham_Attack_galil_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_glock18",   "Ham_Attack_glock_Pre",   0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_glock18",   "Ham_Attack_glock_Post",  1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m249",      "Ham_Attack_m249_Pre",    0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m4a1",      "Ham_Attack_m4a1_Pre",    0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_mac10",     "Ham_Attack_mac10_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_mp5navy",   "Ham_Attack_mp5_Pre",     0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p228",      "Ham_Attack_p228_Pre",    0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p228",      "Ham_Attack_p228_Post",   1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p90",       "Ham_Attack_p90_Pre",     0);
	
	// scout accuracy offset does not exist
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout",     "Ham_Attack_scout_Pre",   0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout",     "Ham_Attack_scout_Post",  1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_sg550",     "Ham_Attack_sg550_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_sg552",     "Ham_Attack_sg552_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_tmp",       "Ham_Attack_tmp_Pre",     0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ump45",     "Ham_Attack_ump45_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_usp",       "Ham_Attack_usp_Pre",     0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_usp",       "Ham_Attack_usp_Post",    1);
}

public Ham_Attack_ak47_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/200.0)+0.35;
		
		if( g_fAccuracy>1.25 )
			g_fAccuracy = 1.25;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}

public Ham_Attack_aug_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/215.0)+0.3;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_deagle_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.96;
			}
			else
				g_fAccuracy = 0.92;
		}
		else
			g_fAccuracy = 0.92;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.4-(get_gametime()-s_fLastFire))*0.35;
		
		if( g_fAccuracy<0.55 )
			g_fAccuracy = 0.55;
		else if( g_fAccuracy>0.92 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.96;
				}
				else
					g_fAccuracy = 0.92;
			}
			else
				g_fAccuracy = 0.92;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_deagle_Post(iEnt)
{
	if( g_fAccuracy>0.92 )
		set_pdata_float(iEnt, m_flAccuracy , 0.92, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_elite_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.94;
			}
			else
				g_fAccuracy = 0.88;
		}
		else
			g_fAccuracy = 0.88;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.325-(get_gametime()-s_fLastFire))*0.275;
		
		if( g_fAccuracy<0.55 )
			g_fAccuracy = 0.55;
		else if( g_fAccuracy>0.88 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.94;
				}
				else
					g_fAccuracy = 0.88;
			}
			else
				g_fAccuracy = 0.88;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_elite_Post(iEnt)
{
	if( g_fAccuracy>0.88 )
		set_pdata_float(iEnt, m_flAccuracy , 0.88, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_famas_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/215.0)+0.3;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_57_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.96;
			}
			else
				g_fAccuracy = 0.92;
		}
		else
			g_fAccuracy = 0.92;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.275-(get_gametime()-s_fLastFire))*0.25;
		
		if( g_fAccuracy<0.725 )
			g_fAccuracy = 0.725;
		else if( g_fAccuracy>0.92 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.96;
				}
				else
					g_fAccuracy = 0.92;
			}
			else
				g_fAccuracy = 0.92;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_57_Post(iEnt)
{
	if( g_fAccuracy>0.92 )
		set_pdata_float(iEnt, m_flAccuracy , 0.92, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_galil_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/200.0)+0.35;
		
		if( g_fAccuracy>1.25 )
			g_fAccuracy = 1.25;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_glock_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.95;
			}
			else
				g_fAccuracy = 0.90;
		}
		else
			g_fAccuracy = 0.90;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 || get_pdata_int(iEnt, m_fWeaponState, 4)&WEAPONSTATE_GLOCK18_BURST_MODE )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.325-(get_gametime()-s_fLastFire))*0.275;
		
		if( g_fAccuracy<0.6 )
			g_fAccuracy = 0.6;
		else if( g_fAccuracy>0.90 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.95;
				}
				else
					g_fAccuracy = 0.90;
			}
			else
				g_fAccuracy = 0.90;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_glock_Post(iEnt)
{
	if( g_fAccuracy>0.90 )
		set_pdata_float(iEnt, m_flAccuracy , 0.90, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_m249_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/175.0)+0.4;
		
		if( g_fAccuracy>0.9 )
			g_fAccuracy = 0.9;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_m4a1_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/220.0)+0.35;
		
		if( g_fAccuracy>1.25 )
			g_fAccuracy = 1.25;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_mac10_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/200.0)+0.6;
		
		if( g_fAccuracy>1.65 )
			g_fAccuracy = 1.65;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.075, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.15, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.15, 4);
	}
}


public Ham_Attack_mp5_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired)/220.1)+0.45;
		
		if( g_fAccuracy>0.75 )
			g_fAccuracy = 0.75;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_p228_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.95;
			}
			else
				g_fAccuracy = 0.90;
		}
		else
			g_fAccuracy = 0.90;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.325-(get_gametime()-s_fLastFire))*0.3;
		
		if( g_fAccuracy<0.6 )
			g_fAccuracy = 0.6;
		else if( g_fAccuracy>0.90 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.95;
				}
				else
					g_fAccuracy = 0.90;
			}
			else
				g_fAccuracy = 0.90;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_p228_Post(iEnt)
{
	if( g_fAccuracy>0.90 )
		set_pdata_float(iEnt, m_flAccuracy , 0.90, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_p90_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired)/175.0)+0.45;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_scout_Pre(iEnt)
{
	static s_iOwner, s_iFlags;
	s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
	s_iFlags = pev(s_iOwner, pev_flags);
	
	if( s_iFlags&FL_DUCKING || ~s_iFlags&FL_ONGROUND )
		g_fAccuracy = 0.0;
	else
	{
		static Float:s_fVelocity[3];
		pev(s_iOwner, pev_velocity, s_fVelocity);
		
		if( !s_fVelocity[0] && !s_fVelocity[1] )
		{
			set_pev(s_iOwner, pev_flags, (s_iFlags|FL_DUCKING));
			g_fAccuracy = 1.0;
		}
		else
			g_fAccuracy = 0.0;
	}
}

public Ham_Attack_scout_Post(iEnt)
{
	if( g_fAccuracy )
	{
		static s_iOwner;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		set_pev(s_iOwner, pev_flags, (pev(s_iOwner, pev_flags)&~FL_DUCKING));
	}
}


public Ham_Attack_sg550_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.99;
			}
			else
				g_fAccuracy = 0.98;
		}
		else
			g_fAccuracy = 0.98;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		g_fAccuracy = (0.65+(get_gametime()-s_fLastFire))*0.725; //*0.35; (this is way too inaccurate comparing to g3sg1)
		
		if( g_fAccuracy>0.98 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.99;
				}
				else
					g_fAccuracy = 0.98;
			}
			else
				g_fAccuracy = 0.98;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
}


public Ham_Attack_sg552_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/220.0)+0.3;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_tmp_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/220.0)+0.55;
		
		if( g_fAccuracy>1.4 )
			g_fAccuracy = 1.4;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_ump45_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired)/210.0)+0.5;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_usp_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.96;
			}
			else
				g_fAccuracy = 0.92;
		}
		else
			g_fAccuracy = 0.92;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.3-(get_gametime()-s_fLastFire))*0.275;
		
		if( g_fAccuracy<0.6 )
			g_fAccuracy = 0.6;
		else if( g_fAccuracy>0.92 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.96;
				}
				else
					g_fAccuracy = 0.92;
			}
			else
				g_fAccuracy = 0.92;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_usp_Post(iEnt)
{
	if( g_fAccuracy>0.92 )
		set_pdata_float(iEnt, m_flAccuracy , 0.92, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


Accuracy Fix Mermi sekmesini azaltan plugin Lütfen Yardım :)

Gönderilme zamanı: Prş Mar 12, 2020 7:04 am
gönderen rezi072
Mr.Persians yazdı: Pzt Mar 09, 2020 12:07 pm Denermisin Bir:

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN_NAME	"Accuracy Fix"
#define PLUGIN_VERSION	"1.0"
#define PLUGIN_AUTHOR	"Numb"

#define m_pPlayer 41
#define m_flAccuracy 30
#define m_flLastFire 30
#define m_iShotsFired 31
#define m_fWeaponState 74
#define WEAPONSTATE_GLOCK18_BURST_MODE (1<<1)

new Float:g_fAccuracy;

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ak47",      "Ham_Attack_ak47_Pre",    0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_aug",       "Ham_Attack_aug_Pre",     0);
	
	// awp accuracy offset does not exist
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle",    "Ham_Attack_deagle_Pre",  0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle",    "Ham_Attack_deagle_Post", 1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_elite",     "Ham_Attack_elite_Pre",   0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_elite",     "Ham_Attack_elite_Post",  1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_famas",     "Ham_Attack_famas_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_fiveseven", "Ham_Attack_57_Pre",      0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_fiveseven", "Ham_Attack_57_Post",     1);
	
	// g3sg1 accuracy offset has no effect
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil",     "Ham_Attack_galil_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_glock18",   "Ham_Attack_glock_Pre",   0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_glock18",   "Ham_Attack_glock_Post",  1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m249",      "Ham_Attack_m249_Pre",    0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m4a1",      "Ham_Attack_m4a1_Pre",    0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_mac10",     "Ham_Attack_mac10_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_mp5navy",   "Ham_Attack_mp5_Pre",     0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p228",      "Ham_Attack_p228_Pre",    0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p228",      "Ham_Attack_p228_Post",   1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p90",       "Ham_Attack_p90_Pre",     0);
	
	// scout accuracy offset does not exist
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout",     "Ham_Attack_scout_Pre",   0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout",     "Ham_Attack_scout_Post",  1);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_sg550",     "Ham_Attack_sg550_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_sg552",     "Ham_Attack_sg552_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_tmp",       "Ham_Attack_tmp_Pre",     0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ump45",     "Ham_Attack_ump45_Pre",   0);
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_usp",       "Ham_Attack_usp_Pre",     0);
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_usp",       "Ham_Attack_usp_Post",    1);
}

public Ham_Attack_ak47_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/200.0)+0.35;
		
		if( g_fAccuracy>1.25 )
			g_fAccuracy = 1.25;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}

public Ham_Attack_aug_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/215.0)+0.3;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_deagle_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.96;
			}
			else
				g_fAccuracy = 0.92;
		}
		else
			g_fAccuracy = 0.92;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.4-(get_gametime()-s_fLastFire))*0.35;
		
		if( g_fAccuracy<0.55 )
			g_fAccuracy = 0.55;
		else if( g_fAccuracy>0.92 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.96;
				}
				else
					g_fAccuracy = 0.92;
			}
			else
				g_fAccuracy = 0.92;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_deagle_Post(iEnt)
{
	if( g_fAccuracy>0.92 )
		set_pdata_float(iEnt, m_flAccuracy , 0.92, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_elite_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.94;
			}
			else
				g_fAccuracy = 0.88;
		}
		else
			g_fAccuracy = 0.88;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.325-(get_gametime()-s_fLastFire))*0.275;
		
		if( g_fAccuracy<0.55 )
			g_fAccuracy = 0.55;
		else if( g_fAccuracy>0.88 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.94;
				}
				else
					g_fAccuracy = 0.88;
			}
			else
				g_fAccuracy = 0.88;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_elite_Post(iEnt)
{
	if( g_fAccuracy>0.88 )
		set_pdata_float(iEnt, m_flAccuracy , 0.88, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_famas_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/215.0)+0.3;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_57_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.96;
			}
			else
				g_fAccuracy = 0.92;
		}
		else
			g_fAccuracy = 0.92;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.275-(get_gametime()-s_fLastFire))*0.25;
		
		if( g_fAccuracy<0.725 )
			g_fAccuracy = 0.725;
		else if( g_fAccuracy>0.92 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.96;
				}
				else
					g_fAccuracy = 0.92;
			}
			else
				g_fAccuracy = 0.92;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_57_Post(iEnt)
{
	if( g_fAccuracy>0.92 )
		set_pdata_float(iEnt, m_flAccuracy , 0.92, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_galil_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/200.0)+0.35;
		
		if( g_fAccuracy>1.25 )
			g_fAccuracy = 1.25;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_glock_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.95;
			}
			else
				g_fAccuracy = 0.90;
		}
		else
			g_fAccuracy = 0.90;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 || get_pdata_int(iEnt, m_fWeaponState, 4)&WEAPONSTATE_GLOCK18_BURST_MODE )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.325-(get_gametime()-s_fLastFire))*0.275;
		
		if( g_fAccuracy<0.6 )
			g_fAccuracy = 0.6;
		else if( g_fAccuracy>0.90 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.95;
				}
				else
					g_fAccuracy = 0.90;
			}
			else
				g_fAccuracy = 0.90;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_glock_Post(iEnt)
{
	if( g_fAccuracy>0.90 )
		set_pdata_float(iEnt, m_flAccuracy , 0.90, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_m249_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/175.0)+0.4;
		
		if( g_fAccuracy>0.9 )
			g_fAccuracy = 0.9;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_m4a1_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/220.0)+0.35;
		
		if( g_fAccuracy>1.25 )
			g_fAccuracy = 1.25;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_mac10_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/200.0)+0.6;
		
		if( g_fAccuracy>1.65 )
			g_fAccuracy = 1.65;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.075, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.15, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.15, 4);
	}
}


public Ham_Attack_mp5_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired)/220.1)+0.45;
		
		if( g_fAccuracy>0.75 )
			g_fAccuracy = 0.75;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_p228_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.95;
			}
			else
				g_fAccuracy = 0.90;
		}
		else
			g_fAccuracy = 0.90;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.325-(get_gametime()-s_fLastFire))*0.3;
		
		if( g_fAccuracy<0.6 )
			g_fAccuracy = 0.6;
		else if( g_fAccuracy>0.90 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.95;
				}
				else
					g_fAccuracy = 0.90;
			}
			else
				g_fAccuracy = 0.90;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_p228_Post(iEnt)
{
	if( g_fAccuracy>0.90 )
		set_pdata_float(iEnt, m_flAccuracy , 0.90, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}


public Ham_Attack_p90_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired)/175.0)+0.45;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_scout_Pre(iEnt)
{
	static s_iOwner, s_iFlags;
	s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
	s_iFlags = pev(s_iOwner, pev_flags);
	
	if( s_iFlags&FL_DUCKING || ~s_iFlags&FL_ONGROUND )
		g_fAccuracy = 0.0;
	else
	{
		static Float:s_fVelocity[3];
		pev(s_iOwner, pev_velocity, s_fVelocity);
		
		if( !s_fVelocity[0] && !s_fVelocity[1] )
		{
			set_pev(s_iOwner, pev_flags, (s_iFlags|FL_DUCKING));
			g_fAccuracy = 1.0;
		}
		else
			g_fAccuracy = 0.0;
	}
}

public Ham_Attack_scout_Post(iEnt)
{
	if( g_fAccuracy )
	{
		static s_iOwner;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		set_pev(s_iOwner, pev_flags, (pev(s_iOwner, pev_flags)&~FL_DUCKING));
	}
}


public Ham_Attack_sg550_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.99;
			}
			else
				g_fAccuracy = 0.98;
		}
		else
			g_fAccuracy = 0.98;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		g_fAccuracy = (0.65+(get_gametime()-s_fLastFire))*0.725; //*0.35; (this is way too inaccurate comparing to g3sg1)
		
		if( g_fAccuracy>0.98 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.99;
				}
				else
					g_fAccuracy = 0.98;
			}
			else
				g_fAccuracy = 0.98;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
}


public Ham_Attack_sg552_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/220.0)+0.3;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_tmp_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired*s_iShotsFired)/220.0)+0.55;
		
		if( g_fAccuracy>1.4 )
			g_fAccuracy = 1.4;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_ump45_Pre(iEnt)
{
	static s_iShotsFired;
	s_iShotsFired = get_pdata_int(iEnt, m_iShotsFired, 4)+1;
	if( s_iShotsFired>1 )
	{
		g_fAccuracy = ((s_iShotsFired*s_iShotsFired)/210.0)+0.5;
		
		if( g_fAccuracy>1.0 )
			g_fAccuracy = 1.0;
		
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					set_pdata_float(iEnt, m_flAccuracy, 0.0, 4);
				else
					set_pdata_float(iEnt, m_flAccuracy, 0.1, 4);
			}
			else
				set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
		}
		else
			set_pdata_float(iEnt, m_flAccuracy, 0.2, 4);
	}
}


public Ham_Attack_usp_Pre(iEnt)
{
	static Float:s_fLastFire;
	s_fLastFire = get_pdata_float(iEnt, m_flLastFire, 4);
	if( !s_fLastFire )
	{
		static s_iOwner, s_iFlags;
		s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
		s_iFlags = pev(s_iOwner, pev_flags);
		
		if( s_iFlags&FL_ONGROUND )
		{
			static Float:s_fVelocity[3];
			pev(s_iOwner, pev_velocity, s_fVelocity);
			
			if( !s_fVelocity[0] && !s_fVelocity[1] )
			{
				if( s_iFlags&FL_DUCKING )
					g_fAccuracy = 1.0;
				else
					g_fAccuracy = 0.96;
			}
			else
				g_fAccuracy = 0.92;
		}
		else
			g_fAccuracy = 0.92;
		set_pdata_float(iEnt, m_flAccuracy, g_fAccuracy, 4);
	}
	else if( get_pdata_int(iEnt, m_iShotsFired, 4)<=0 )
	{
		g_fAccuracy = get_pdata_float(iEnt, m_flAccuracy, 4);
		g_fAccuracy -= (0.3-(get_gametime()-s_fLastFire))*0.275;
		
		if( g_fAccuracy<0.6 )
			g_fAccuracy = 0.6;
		else if( g_fAccuracy>0.92 )
		{
			static s_iOwner, s_iFlags;
			s_iOwner = get_pdata_cbase(iEnt, m_pPlayer, 4);
			s_iFlags = pev(s_iOwner, pev_flags);
			
			if( s_iFlags&FL_ONGROUND )
			{
				static Float:s_fVelocity[3];
				pev(s_iOwner, pev_velocity, s_fVelocity);
				
				if( !s_fVelocity[0] && !s_fVelocity[1] )
				{
					if( s_iFlags&FL_DUCKING )
						g_fAccuracy = 1.0;
					else
						g_fAccuracy = 0.96;
				}
				else
					g_fAccuracy = 0.92;
			}
			else
				g_fAccuracy = 0.92;
		}
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
	}
	else
		g_fAccuracy = -1.0;
}

public Ham_Attack_usp_Post(iEnt)
{
	if( g_fAccuracy>0.92 )
		set_pdata_float(iEnt, m_flAccuracy , 0.92, 4);
	else if( g_fAccuracy>0.0 )
		set_pdata_float(iEnt, m_flAccuracy , g_fAccuracy, 4);
}

Olmadı hocam. Yetersiz ya :(