// ------------------------------------------------ //
//      Johnny5z Knife Rank/Stats Script v1.3       //
// ------------------------------------------------ //

block load
{
	es_msg #multi #greenНоживой ранк #defaultвкл.
	es_keygroupload kstats |krank

	// Ranks. You can change these but keep the []
	es_set 1 [Кабан]
	es_set 2 [Новичек]
	es_set 3 [Ты-не-нуб]
	es_set 4 [Так-себе]
	es_set 5 [Ты-крут]
	es_set 6 [Профи]
	es_set 7 [Мясник]
	es_set 8 [Псих]
	es_set 9 [Король ножа]

	// Variables 
	es_set kr_mani 0		// if you have mani admin installed set this to 1, if not leave it to 0 and it will use ES
	es_set kr_knife_kill 5		// values 1-50 This is how many rank points are awarded to someone who gets a knife kill
	es_set kr_knife_death 3		// values 1-50 This is how many rank points are taken off someone who is knifed
	es_set kr_tk_point 12		// values 1-100 This is how many rank points are taken from the team killer
	es_set kr_menu_time 10		// This is the amount of time you wish to show the rank/stats menus to players for
}

block unload
{
	es_msg #multi #greenНоживой ранк #defaultвыкл.
}

event player_spawn
{
	es_set kr_rank_start2 0
	es_math kr_rank_start2 + 1
	
	es_set check 0
	es_keygetvalue check kstats event_var(es_steamid) join
	
	es_set winner_check 0
	es_keygetvalue winner_check kstats Rank_Winner winner
	
	if (server_var(check) == 0) do
		{
		es_keycreate kstats event_var(es_steamid)
		es_keysetvalue kstats event_var(es_steamid) Kills 0
		es_keysetvalue kstats event_var(es_steamid) deaths 0
		es_keysetvalue kstats event_var(es_steamid) kdr 0.0
		es_keysetvalue kstats event_var(es_steamid) points 1000
		es_keysetvalue kstats event_var(es_steamid) krank server_var(2)
		es_keysetvalue kstats event_var(es_steamid) next_krank server_var(3)
		es_keysetvalue kstats event_var(es_steamid) damage_taken 0
		es_keysetvalue kstats event_var(es_steamid) damage_given 0
		es_keysetvalue kstats event_var(es_steamid) join 1
		}
	
	if (server_var(winner_check) == 0) do
		{
		es_keycreate kstats Rank_Winner
		es_keysetvalue kstats Rank_Winner winner Нет-еще
		}
}

event player_hurt
{
	if (event_var(weapon) == knife) do
		{
		es_set damage 0
		es_keygetvalue damage kstats event_var(es_steamid) damage_taken
		es_math damage + event_var(dmg_health)
		es_keysetvalue kstats event_var(es_steamid) damage_taken server_var(damage)
	
		es_set damage_2 0
		es_keygetvalue damage_2 kstats event_var(es_attackersteamid) damage_given
		es_math damage_2 + event_var(dmg_health)
		es_keysetvalue kstats event_var(es_attackersteamid) damage_given server_var(damage_2)
		}
}

event es_map_start
{
es_keygroupsave kstats |krank
}

event player_say
{
if (event_var(text) == kstats) do
	{
	es_set knife_kills 0.0
	es_keygetvalue knife_kills kstats event_var(es_steamid) kills
	es_set knife_deaths 0.0
	es_keygetvalue knife_deaths kstats event_var(es_steamid) deaths
	es_set knife_kdr 0.0
	es_keygetvalue knife_kdr kstats event_var(es_steamid) kdr
	es_set knife_damage_taken 0
	es_keygetvalue knife_damage_taken kstats event_var(es_steamid) damage_taken
	es_set knife_damage_given 0
	es_keygetvalue knife_damage_given kstats event_var(es_steamid) damage_given
	es_format stats_window "Ваша статистика ножей:\n-------------------\nВы убили с ножа [%1]\nВас убили с ножа [%2]\nСоотношение убийств\смертей [%3]\n-------------------\nВы сняли ножом [%4Hp]\nУ вас сняли ножом [%5Hp]" server_var(knife_kills) server_var(knife_deaths) server_var(knife_kdr) server_var(knife_damage_taken) server_var(knife_damage_given)
	es_menu server_var(kr_menu_time) event_var(userid) server_var(stats_window)
	}

if (event_var(text) == krank) do
	{
	es_set l_winner 0
	es_keygetvalue l_winner kstats Rank_Winner winner
	es_set next_krank_1 0
	es_keygetvalue next_krank_1 kstats event_var(es_steamid) next_krank
	es_set knife_points 0.0
	es_keygetvalue knife_points kstats event_var(es_steamid) points
	es_set knife_rank 0
	es_keygetvalue knife_rank kstats event_var(es_steamid) krank
	es_format stats_window_2 "Ваш ранк:\n----------------\nВаши очки [%1]\nТекущий ранк %2\n----------------\nСледующий ранк %3\n----------------\n \nПредыдущий победитель на ножах [%4]" server_var(knife_points) server_var(knife_rank) server_var(next_krank_1) server_var(l_winner)
	es_menu server_var(kr_menu_time) event_var(userid) server_var(stats_window_2)
	
	es_set knife_rank_point_format 0
	es_format knife_rank_point_format "[%1]" server_var(knife_points)
	es_msg #multi #lightgreenPlayer #green event_var(es_username) #lightgreenВаш ранк #green server_var(knife_rank) #lightgreenиз расчета ваших #green server_var(knife_rank_point_format) #lightgreenочков!
	}

if (event_var(text) == kranks) do
	{
	es_set temp_format 0
	es_format temp_format "Ножевой ранк\n-------------------------\nУровни ранка\n-------------------------\n%1[>1000]\n%2[1000]\n%3[1100]\n%4[1200]\n%5[1300]\n%6[1400]\n%7[1500]\n%8[1600]\n[Король ножа][1650]" server_var(1) server_var(2) server_var(3) server_var(4) server_var(5) server_var(6) server_var(7) server_var(8)
	es_menu server_var(kr_menu_time) event_var(userid) server_var(temp_format)
	}
}

block rank_reset
{
if (server_var(kr_mani) == 1) do
	{
	es_set next_map server_var(mani_nextmap)
	es_msg #multi #lightgreenПобедитель определен , ранк будет сброшен , после смнены карты --> #greenсмена карты через #green15 секунд.
	es_delayed 15 changelevel server_var(next_map)
	}

es_keygroupdelete kstats
es_keygroupcreate kstats
es_keycreate kstats Rank_Winner
es_keysetvalue kstats Rank_Winner winner server_var(knife_winner)
es_keygroupsave kstats |krank
es_msg #multi #lightgreen Ноживой ранк выиграл server_var(knife_winner) !
}

event player_death
{
	if (event_var(weapon) == knife) do
		{
		if (event_var(es_attackerteam) == 2) do
			{
			if (event_var(es_userteam) == 2) do
				{
				es_tell event_var(userid) #multi #lightgreenВас убил свой союзник по команде , за это у него снимается #green- 12 очков из статистики!
				es_tell event_var(attacker) #multi #lightgreenВы убили своего союзника по команде вы теряйте #green- server_var(kr_tk_point) очков из статистики!


				// Attacker Tk Points Taken away
				es_set temp_tk 0
				es_keygetvalue temp_tk kstats event_var(es_attackersteamid) points
				es_math temp_tk - server_var(kr_tk_point)
				es_keysetvalue kstats event_var(es_attackersteamid) points server_var(temp_tk)
				}
			else do
				{
				if (event_var(es_attackerteam) == 2) do	
					{
					if (event_var(es_userteam) equalto 3) do
						{
						// Messages
						es_tell event_var(attacker) #multi #lightgreenВы убили с ножа и получили #green+ server_var(kr_knife_kill) очков в статистику!
						es_tell event_var(userid) #multi #lightgreenВас убили с ножа и вы потеряли #green- server_var(kr_knife_death) очка из статистики!
	
						// Attacker Kills (+1)
						es_set temp 0
						es_keygetvalue temp kstats event_var(es_attackersteamid) kills
						es_math temp + 1
						es_keysetvalue kstats event_var(es_attackersteamid) kills server_var(temp)
				
						// Attacker points (+var)
						es_set temp_2 0
						es_keygetvalue temp_2 kstats event_var(es_attackersteamid) points
						es_math temp_2 + server_var(kr_knife_kill)
						es_keysetvalue kstats event_var(es_attackersteamid) points server_var(temp_2)
					
						// Victim deaths (+1)
						es_set temp_3 0
						es_keygetvalue temp_3 kstats event_var(es_steamid) deaths
						es_math temp_3 + 1
						es_keysetvalue kstats event_var(es_steamid) deaths server_var(temp_3)
				
						// Victim points (-var)
						es_set temp_4 0
						es_keygetvalue temp_4 kstats event_var(es_steamid) points
						es_math temp_4 - server_var(kr_knife_death)
						es_keysetvalue kstats event_var(es_steamid) points server_var(temp_4)
		
						// Attacker KDR (knife death ratio)
						es_set kdr 0
						es_set temp_5 0
						es_keygetvalue kdr kstats event_var(es_attackersteamid) kills
						es_keygetvalue temp_5 kstats event_var(es_attackersteamid) deaths
						es_math kdr / server_var(temp_5)
						es_keysetvalue kstats event_var(es_attackersteamid) kdr server_var(kdr)
		
						// Victim KDR (knife death ratio)
						es_set kdr_2 0
						es_set temp_6 0
						es_keygetvalue kdr_2 kstats event_var(es_steamid) kills
						es_keygetvalue temp_6 kstats event_var(es_steamid) deaths
						es_math kdr_2 / server_var(temp_6)
						es_keysetvalue kstats event_var(es_steamid) kdr server_var(kdr_2)
						}
					}
				}
			}

		if (event_var(es_attackerteam) == 3) do
			{
			if (event_var(es_userteam) == 3) do
				{
				es_tell event_var(userid) #multi #lightgreenВас убил свой союзник по команде , за это у него снимается #green- 12 очков из статистики!
				es_tell event_var(attacker) #multi #lightgreenВы убили своего союзника по команде вы теряйте #green- server_var(kr_tk_point) очков из статистики!

				// Attacker Tk Points Taken away
				es_set temp_tk_2 0
				es_keygetvalue temp_tk_2 kstats event_var(es_attackersteamid) points
				es_math temp_tk_2 - server_var(kr_tk_point)
				es_keysetvalue kstats event_var(es_attackersteamid) points server_var(temp_tk_2)
				}
			else do
				{	
				if (event_var(es_attackerteam) == 3) do
					{
					if (event_var(es_userteam) == 2) do
						{
						// Messages
						es_tell event_var(attacker) #multi #lightgreenВы убили с нажа и получили #green+ server_var(kr_knife_kill) очков в статистику!
						es_tell event_var(userid) #multi #lightgreenВас убили с нажа и вы потеряли #green- server_var(kr_knife_death) очка из статистики!
			
						// Attacker Kills (+1)
						es_set temp 0
						es_keygetvalue temp kstats event_var(es_attackersteamid) kills
						es_math temp + 1
						es_keysetvalue kstats event_var(es_attackersteamid) kills server_var(temp)
				
						// Attacker points (+var)
						es_set temp_2 0
						es_keygetvalue temp_2 kstats event_var(es_attackersteamid) points
						es_math temp_2 + server_var(kr_knife_kill)
						es_keysetvalue kstats event_var(es_attackersteamid) points server_var(temp_2)
					
						// Victim deaths (+1)
						es_set temp_3 0
						es_keygetvalue temp_3 kstats event_var(es_steamid) deaths
						es_math temp_3 + 1
						es_keysetvalue kstats event_var(es_steamid) deaths server_var(temp_3)
			
						// Victim points (-var)
						es_set temp_4 0
						es_keygetvalue temp_4 kstats event_var(es_steamid) points
						es_math temp_4 - server_var(kr_knife_death)
						es_keysetvalue kstats event_var(es_steamid) points server_var(temp_4)
		
						// Attacker KDR (knife death ratio)
						es_set kdr 0
						es_set temp_5 0
						es_keygetvalue kdr kstats event_var(es_attackersteamid) kills
						es_keygetvalue temp_5 kstats event_var(es_attackersteamid) deaths
						es_math kdr / server_var(temp_5)
						es_keysetvalue kstats event_var(es_attackersteamid) kdr server_var(kdr)
		
						// Victim KDR (knife death ratio)
						es_set kdr_2 0
						es_set temp_6 0
						es_keygetvalue kdr_2 kstats event_var(es_steamid) kills
						es_keygetvalue temp_6 kstats event_var(es_steamid) deaths
						es_math kdr_2 / server_var(temp_6)
						es_keysetvalue kstats event_var(es_steamid) kdr server_var(kdr_2)
						}
					}
				}
			}


		//---------------//
		// Victim Points //
		//---------------//

		es_set krank_victim 0
		es_keygetvalue krank_victim kstats event_var(es_steamid) points

		if (server_var(krank_victim) < 1000) do
			{
			es_keysetvalue kstats event_var(es_steamid) krank server_var(1)
			es_keysetvalue kstats event_var(es_steamid) next_krank server_var(2)
			}

		if (server_var(krank_victim) > 1000) do
			{
			if (server_var(krank_victim) < 1099) do
				{
				es_keysetvalue kstats event_var(es_steamid) krank server_var(2)
				es_keysetvalue kstats event_var(es_steamid) next_krank server_var(3)
				}
			}
		
		if (server_var(krank_victim) > 1100) do
			{
			if (server_var(krank_victim) < 1199) do
				{
				es_keysetvalue kstats event_var(es_steamid) krank server_var(3)
				es_keysetvalue kstats event_var(es_steamid) next_krank server_var(4)
				}
			}
		
		if (server_var(krank_victim) > 1200) do
			{
			if (server_var(krank_victim) < 1299) do
				{
				es_keysetvalue kstats event_var(es_steamid) krank server_var(4)
				es_keysetvalue kstats event_var(es_steamid) next_krank server_var(5)
				}
			}
		
		if (server_var(krank_victim) > 1300) do
			{
			if (server_var(krank_victim) < 1399) do
				{
				es_keysetvalue kstats event_var(es_steamid) krank server_var(5)
				es_keysetvalue kstats event_var(es_steamid) next_krank server_var(6)
				}
			}

		if (server_var(krank_victim) > 1400) do
			{
			if (server_var(krank_victim) < 1499) do
				{
				es_keysetvalue kstats event_var(es_steamid) krank server_var(6)	
				es_keysetvalue kstats event_var(es_steamid) next_krank server_var(7)
				}
			}

		if (server_var(krank_victim) > 1500) do		
			{
			if (server_var(krank_victim) < 1599) do
				{	
				es_keysetvalue kstats event_var(es_steamid) krank server_var(7)
				es_keysetvalue kstats event_var(es_steamid) next_krank server_var(8)
				}
			}
		
		if (server_var(krank_victim) > 1600) do
			{
			es_keysetvalue kstats event_var(es_steamid) krank server_var(8)
			es_keysetvalue kstats event_var(es_steamid) next_krank server_var(9)
			}



		//-----------------//
		// Attacker Points //
		//-----------------//

		es_set krank_attacker 0
		es_keygetvalue krank_attacker kstats event_var(es_attackersteamid) points
		
		if (server_var(krank_attacker) < 1000) do
			{
			es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(1)
			es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(2)
			}
		
		if (server_var(krank_attacker) > 1000) do
			{
			if (server_var(krank_attacker) < 1099) do
				{
				es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(2)
				es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(3)
				}
			}

		if (server_var(krank_attacker) > 1100) do
			{
			if (server_var(krank_attacker) < 1199) do
				{
				es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(3)
				es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(4)
				}
			}
		
		if (server_var(krank_attacker) > 1200) do
			{
			if (server_var(krank_attacker) < 1299) do
				{
				es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(4)
				es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(5)
				}
			}
		
		if (server_var(krank_attacker) > 1300) do
			{
			if (server_var(krank_attacker) < 1399) do
				{
				es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(5)
				es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(6)
				}
			}
		
		if (server_var(krank_attacker) > 1400) do
			{
			if (server_var(krank_attacker) < 1499) do
				{
				es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(6)
				es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(7)
				}
			}
			
		if (server_var(krank_attacker) > 1500) do
			{
			if (server_var(krank_attacker) < 1599) do
				{
				es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(7)
				es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(8)
				}
			}
			
		if (server_var(krank_attacker) > 1600) do
			{
			es_keysetvalue kstats event_var(es_attackersteamid) krank server_var(8)
			es_keysetvalue kstats event_var(es_attackersteamid) next_krank server_var(9)
			}
			
		if (server_var(krank_attacker) > 1650) do
			{
			es_set knife_winner event_var(es_attackername)	
			es_doblock krank/rank_reset
			}
		}		
}	

	
	
	


