block config
{
	es_xset vip_runden 1000 // Runden, nach denen man VIP wird
	es_xset vip_kills 750 // Kills, nach denen man VIP wird
	es_xset vip_ranktype "runden" // Ranktype; kann "runden" oder "kills" sein
	es_xset vip_showrank "beide" // Was soll im VIP Ranking angezeigt werden; Mglich: "beide", "kills" oder "runden"
	
	es_xset vip_top 1 // Erstellt ein Popup mit allen gelisteten Spieler nach dem besten Rank; 1 = Ja, 0 = Nein
	es_xset vip_topchat "!viptop" // Das Kommando das in den Chat zu schreiben ist, um das Popup zu sehen
	
	es_xset vip_deleterank 1 // Soll ueberhaupt nach inaktiven Eintraegen gesucht werden; 1 = Ja, 0 = Nein
	es_xset vip_deleterankinterval 24 // Zeitpunkt in Sekunden, wann DB nach inaktiven Eintraegen sucht (86400 = 24 Stunden)
	es_xset vip_deleterankabstand 30 // Tage, nach denen inaktive DB Eintraege geloescht werden
	
	es_xset vip_prefix "[Stammie] " // Prefix fr Stammies
	es_xset vip_prefixposition "vorne" // Prefix vor oder hinter dem Namen; mglich: "vorne" oder "hinten"
	
	es_xset vip_members "STEAM_0:0:0000000=STEAM_0:0:1111111" // User, die kein Prefix bekommen; mit = trennen
	
	es_xset vip_chatrunden "!runden" // Kommando, um seine gespielten Runden anzuzeigen
	es_xset vip_chatrundenpublic 0 // Sollen die gespielten Runden alle sehen oder nur der Spieler; 1 = Alle, 0 = Spieler
	
	es_xset vip_chatkills "!kills" // Kommando, um seine Kills anzuzeigen
	es_xset vip_chatkillspublic 0 // Sollen die Kills alle sehen oder nur der Spieler; 1 = Alle, 0 = Spieler
	
	es_xset vip_chatrank "!viprank" // Kommando, um seinen Rank zu betrachten
	es_xset vip_chatrankpublic 1 // Sollen die gespielten Runden alle sehen oder nur der Spieler; 1 = Alle, 0 = Spieler
	
	es_xset vip_chatwelcome 1 // Willkommenstext bei VIPs; 1 = Ja, 0 = Nein
	es_xset vip_chatwelcomepublic 1 // Sollen den Willkommenstext alle sehen oder nur der Spieler; 1 = Alle, 0 = Spieler
	es_xset vip_chatwelcometext "%1 #greenist nun Online" // Text beim Anzeigen; %1 steht fuer den Spielernamen
	
	es_xset vip_chatgoodbye 1 // Abschiedstext bei VIPs; 1 = Ja, 0 = Nein
	es_xset vip_chatgoodbyetext "%1 #greenhat den Server verlassen" // Text beim Anzeigen; %1 steht fuer den Spielernamen
	
	es_xset vip_models 1 // Models fuer VIPs; 1 = Ja, 0 = Nein
	es_xset vip_modelchoice 1 // Muss auf 1 stehen, wenn "vip_modelchoicestart" oder "vip_modelchoicechat" auf 1 sind
	es_xset vip_modelchoicestart 1 // Soll man sich das Model bei einem Teamjoin direkt aussuchen; 1 = Ja, 0 = Nein
	es_xset vip_modelchoicechat 1 // Soll man das Model bei Chateingabe aussuchen knnen; 1 = Ja, 0 = Nein
	es_xset vip_modelchoicechattext "!vipmodel" // Text der im Chat einzugeben ist, wenn man ein Model aussuchen will
}

block load
{
	es_xkeygroupload vipmod |vipmod
	
	es_xregcmd vip_modelchoicepopup vipmod/modelchoicepopup "Erstellt passendes Popup fuer das Team"
	
	es_xdoblock vipmod/config
	
	ifx true(vip_deleterank) do
	{
		repeat create VIPDeleteRank "es_xdoblock vipmod/deleterank"
		es repeat start VIPDeleteRank server_var(vip_deleterankinterval)
	}
	
	ifx true(vip_models) do
	{
		es_xdoblock vipmod/download
	}
	
	ifx true(vip_modelchoice) do
	{
		es_xset vip_tmp_exist 0
		es_xexists vip_tmp_exist script popup
		
		ifx false(vip_tmp_exist) do
		{
			es_xload popup
		}
		
		popup create VIPModel
		popup addline VIPModel " - VIP Model -"
		popup addline VIPModel "---------------"
		popup addline VIPModel "      T's"
		popup addline VIPModel "->1. Guerilla"
		popup addline VIPModel "->2. Leet"
		popup addline VIPModel "---------------"
		popup addline VIPModel "      CT's"
		popup addline VIPModel "->3. SAS"
		popup addline VIPModel "->4. GSG9"
		popup menuselect VIPModel vipmod/modelchoice
	}
	
	ifx true(vip_top) do
	{
		es_xset vip_tmp_exist 0
		es_xexists vip_tmp_exist script keymenu
		
		ifx false(vip_tmp_exist) do
		{
			es_xload keymenu
		}
	}
	
	es_xset vip_ver "0.4"
	es_xmakepublic vip_ver
}

block unload
{
	es_xkeygroupsave vipmod |vipmod
	es_xkeygroupdelete vipmod
	
	ifx true(vip_deleterank) do
	{
		repeat stop VIPDeleteRank
		repeat delete VIPDeleteRank
	}
	
	ifx true(vip_modelchoice) do
	{
		popup unsendname VIPModel #all
		popup delete VIPModel
	}
}

event es_map_start
{
	ifx true(vip_models) do
	{
		es_xdoblock vipmod/download
	}
}

block download
{
	downloadable models/player/vip/ct_sas_vip/ct_sas.phy
	downloadable models/player/vip/ct_sas_vip/ct_sas.dx80.vtx
	downloadable models/player/vip/ct_sas_vip/ct_sas.dx90.vtx
	downloadable models/player/vip/ct_sas_vip/ct_sas.mdl
	downloadable models/player/vip/ct_sas_vip/ct_sas.sw.vtx
	downloadable models/player/vip/ct_sas_vip/ct_sas.vvd
	downloadable materials/models/player/vip/ct_sas_vip/ct_sas.vmt
	downloadable materials/models/player/vip/ct_sas_vip/ct_sas.vtf
	downloadable materials/models/player/vip/ct_sas_vip/ct_sas_glass.vmt
	downloadable materials/models/player/vip/ct_sas_vip/ct_sas_glass.vtf
	downloadable materials/models/player/vip/ct_sas_vip/ct_sas_glass_spec.vtf
	downloadable materials/models/player/vip/ct_sas_vip/ct_sas_normal.vtf
	
	downloadable models/player/vip/ct_gsg9_vip/ct_gsg9.phy
	downloadable models/player/vip/ct_gsg9_vip/ct_gsg9.dx80.vtx
	downloadable models/player/vip/ct_gsg9_vip/ct_gsg9.dx90.vtx
	downloadable models/player/vip/ct_gsg9_vip/ct_gsg9.mdl
	downloadable models/player/vip/ct_gsg9_vip/ct_gsg9.sw.vtx
	downloadable models/player/vip/ct_gsg9_vip/ct_gsg9.vvd
	downloadable materials/models/player/vip/ct_gsg9_vip/ct_gsg9.vmt
	downloadable materials/models/player/vip/ct_gsg9_vip/ct_gsg9.vtf
	downloadable materials/models/player/vip/ct_gsg9_vip/ct_gsg9_normal.vtf
	
	downloadable models/player/vip/t_guerilla_vip/t_guerilla.phy
	downloadable models/player/vip/t_guerilla_vip/t_guerilla.dx80.vtx
	downloadable models/player/vip/t_guerilla_vip/t_guerilla.dx90.vtx
	downloadable models/player/vip/t_guerilla_vip/t_guerilla.mdl
	downloadable models/player/vip/t_guerilla_vip/t_guerilla.sw.vtx
	downloadable models/player/vip/t_guerilla_vip/t_guerilla.vvd
	downloadable materials/models/player/vip/t_guerilla_vip/t_guerilla.vmt
	downloadable materials/models/player/vip/t_guerilla_vip/t_guerilla.vtf
	downloadable materials/models/player/vip/t_guerilla_vip/t_guerilla_normal.vtf
	
	downloadable models/player/vip/t_leet_vip/t_leet.phy
	downloadable models/player/vip/t_leet_vip/t_leet.dx80.vtx
	downloadable models/player/vip/t_leet_vip/t_leet.dx90.vtx
	downloadable models/player/vip/t_leet_vip/t_leet.mdl
	downloadable models/player/vip/t_leet_vip/t_leet.sw.vtx
	downloadable models/player/vip/t_leet_vip/t_leet.vvd
	downloadable materials/models/player/vip/t_leet_vip/t_leet.vmt
	downloadable materials/models/player/vip/t_leet_vip/t_leet.vtf
	downloadable materials/models/player/vip/t_leet_vip/t_leet_glass.vmt
	downloadable materials/models/player/vip/t_leet_vip/t_leet_glass.vtf
	downloadable materials/models/player/vip/t_leet_vip/t_leet_glass_spec.vtf
	downloadable materials/models/player/vip/t_leet_vip/t_leet_normal.vtf
}

block modelchoicepopup
{
	es_xset vip_tmp_modelchoicepopup_teamid 0
	es_xgetargv vip_tmp_modelchoicepopup_teamid 1
	
	ifx parse("vip_tmp_modelchoicepopup_teamid == 2") do
	{
		popup modline VIPModel 4 "->1. Guerilla"
		popup modline VIPModel 5 "->2. Leet"
		popup modline VIPModel 8 "3. SAS"
		popup modline VIPModel 9 "4. GSG9"
	}
	
	ifx parse("vip_tmp_modelchoicepopup_teamid == 3") do
	{
		popup modline VIPModel 4 "1. Guerilla"
		popup modline VIPModel 5 "2. Leet"
		popup modline VIPModel 8 "->3. SAS"
		popup modline VIPModel 9 "->4. GSG9"
	}
}

block modelchoice
{
	es_xset vip_tmp_model_steamid 0
	es_xset vip_tmp_model_teamid 0
	
	es_getplayersteamid vip_tmp_model_steamid server_var(_popup_userid)
	es_getplayerteam vip_tmp_model_teamid server_var(_popup_userid)
	
	ifx parse("(_popup_choice) > 4) and (_popup_choice < 10)") do
	{
		ifx parse("(vip_tmp_model_teamid == 2) or (vip_tmp_model_teamid == 3)") do
		{
			es vip_modelchoicepopup server_var(vip_tmp_model_teamid)
			es popup send VIPModel server_var(_popup_userid)
		}
	}
	else do
	{
		ifx parse("vip_tmp_model_teamid == 2") do
		{
			ifx parse("(_popup_choice == 1) or (_popup_choice == 2)") do
			{
				es_keysetvalue vipmod server_var(vip_tmp_model_steamid) model server_var(_popup_choice)
			}
			else do
			{
				es vip_modelchoicepopup server_var(vip_tmp_model_teamid)
				es popup send VIPModel server_var(_popup_userid)
			}
		}
		
		ifx parse("vip_tmp_model_teamid == 3") do
		{
			ifx parse("(_popup_choice == 3) or (_popup_choice == 4)") do
			{
				es_keysetvalue vipmod server_var(vip_tmp_model_steamid) model server_var(_popup_choice)
			}
			else do
			{
				es vip_modelchoicepopup server_var(vip_tmp_model_teamid)
				es popup send VIPModel server_var(_popup_userid)
			}
		}
	}
}

block kalkulieren
{
	es_xset vip_tmp_kalk_steamid 0
	es_xset vip_tmp_kalk_rank 0
	
	if (server_var(vip_ranktype) == "runden") then keygroupsort vipmod runden asc #numeric
	if (server_var(vip_ranktype) == "kills") then keygroupsort vipmod kills asc #numeric
	
	es_xforeachkey vip_tmp_kalk_steamid in vipmod "es_xdoblock vipmod/kalkulieren_speichern"
	es_xkeygroupsave vipmod
}

block kalkulieren_speichern
{
	es_xmath vip_tmp_kalk_rank + 1
	es_keysetvalue vipmod server_var(vip_tmp_kalk_steamid) rank server_var(vip_tmp_kalk_rank)
	
	ifx true(vip_tmp_kalk_fortop) do
	{
		es_xset vip_tmp_kalk_toptext 0
		es_xset vip_tmp_kalk_name 0
		es_xset vip_tmp_kalk_runden 0
		es_xset vip_tmp_kalk_kills 0
		
		es_keygetvalue vip_tmp_kalk_name vipmod server_var(vip_tmp_kalk_steamid) name
		es_keygetvalue vip_tmp_kalk_runden vipmod server_var(vip_tmp_kalk_steamid) runden
		es_keygetvalue vip_tmp_kalk_kills vipmod server_var(vip_tmp_kalk_steamid) kills
		
		es_xformatv vip_tmp_kalk_toptext "%1. %2 - R:%3 K:%4" vip_tmp_kalk_rank vip_tmp_kalk_name vip_tmp_kalk_runden vip_tmp_kalk_kills
		
		es_keysetvalue vipmod server_var(vip_tmp_kalk_steamid) toptext server_var(vip_tmp_kalk_toptext)
	}
}

block deleterank
{
	es_xset vip_tmp_delrank_steamid 0
	
	es_xforeachkey vip_tmp_delrank_steamid in vipmod "es_xdoblock vipmod/deleterank_speichern"
	
	es_xdoblock vipmod/kalkulieren
}

block deleterank_speichern
{
	es_xset vip_tmp_delrank_abstand 0
	
	es_keygetvalue vip_tmp_delrank_abstand vipmod server_var(vip_tmp_delrank_steamid) inaktiv
	es_xmath vip_tmp_delrank_abstand + 1
	es_keysetvalue vipmod server_var(vip_tmp_delrank_steamid) inaktiv server_var(vip_tmp_delrank_abstand)
	
	ifx parse("vip_tmp_delrank_abstand >= vip_deleterankabstand") do
	{
		es_keydelete vipmod server_var(vip_tmp_delrank_steamid)
	}
}

block toppopup
{
	// Nirvana...
}

event player_activate
{
	es_xset vip_tmp_exist 0
	es_xset vip_tmp_nameok 0
	
	es_exists vip_tmp_exist key vipmod event_var(es_steamid)
	
	ifx false(vip_tmp_exist) do
	{
		es_keycreate vipmod event_var(es_steamid)
		es_keysetvalue vipmod event_var(es_steamid) runden 0
		es_keysetvalue vipmod event_var(es_steamid) kills 0
		es_keysetvalue vipmod event_var(es_steamid) rank 0
	}
	else do
	{
		if (event_var(es_steamid) notin server_var(vip_members)) do
		{
			es_xset vip_tmp_runden 0
			es_xset vip_tmp_kills 0
			
			es_keygetvalue vip_tmp_runden vipmod event_var(es_steamid) runden
			es_keygetvalue vip_tmp_kills vipmod event_var(es_steamid) kills
			
			ifx parse("(vip_tmp_runden >= vip_runden) or (vip_tmp_kills >= vip_kills)") do
			{
				es_xset vip_tmp_name 0
				es_xset vip_tmp_nameok 1
				
				es_format vip_tmp_name "%1%2" server_var(vip_prefix) event_var(es_username)
				es_cexec event_var(userid) name server_var(vip_tmp_name)
				
				ifx true(vip_chatwelcome) do
				{
					es_set vip_tmp_welcome server_var(vip_chatwelcometext)
					
					ifx true(vip_chatwelcomepublic) do
					{
						es_string vip_tmp_welcome replace "%1" event_var(es_username)
						es_msg #multi #lightgreen[VIP] server_var(vip_tmp_welcome)
					}
					else do
					{
						es_xstring vip_tmp_welcome replace "%1" "Du"
						es_tell event_var(userid) #multi #lightgreen[VIP] server_var(vip_tmp_welcome)
					}
				}
			}
		}
	}
	
	es_keysetvalue vipmod event_var(es_steamid) name event_var(es_username)
	es_keysetvalue vipmod event_var(es_steamid) model 0
	es_keysetvalue vipmod event_var(es_steamid) inaktiv 0
	
	if (server_var(vip_prefix) in event_var(es_username)) do
	{
		ifx false(vip_tmp_nameok) do
		{
			es_set vip_tmp_name event_var(es_username)
			es_string vip_tmp_name replace server_var(vip_prefix) ""
			es_cexec event_var(userid) name server_var(vip_tmp_name)
			
			es kickid event_var(userid) Du darfst den Stammspielertag server_var(vip_prefix) nicht benutzen!
		}
	}
}

event player_disconnect
{
	if (event_var(es_steamid) notin server_var(vip_members)) do
	{
		es_xset vip_tmp_runden 0
		es_xset vip_tmp_kills 0
		
		es_keygetvalue vip_tmp_runden vipmod event_var(es_steamid) runden
		es_keygetvalue vip_tmp_kills vipmod event_var(es_steamid) kills
		
		ifx parse("(vip_tmp_runden >= vip_runden) or (vip_tmp_kills >= vip_kills)") do
		{
			es_set vip_tmp_name event_var(es_username)
			es_string vip_tmp_name replace server_var(vip_tmp_name) ""
			es_cexec event_var(userid) name server_var(vip_tmp_name)
			ifx true(vip_chatwelcome) do
			{
				es_set vip_tmp_goodbye server_var(vip_chatgoodbyetext)
				
				es_string vip_tmp_goodbye replace "%1" server_var(vip_tmp_name)
				es_msg #multi #lightgreen[VIP] server_var(vip_tmp_goodbye)
			}
		}
	}
}

event player_changename
{
	es_xset vip_tmp_nameok 0
	
	if (event_var(es_steamid) notin server_var(vip_members)) do
	{
		es_xset vip_tmp_runden 0
		es_xset vip_tmp_kills 0
		
		es_keygetvalue vip_tmp_runden vipmod event_var(es_steamid) runden
		es_keygetvalue vip_tmp_kills vipmod event_var(es_steamid) kills
		
		ifx parse("(vip_tmp_runden >= vip_runden) or (vip_tmp_kills >= vip_kills)") do
		{
			es_xset vip_tmp_name 0
			es_xset vip_tmp_nameok 1
			
			if (server_var(vip_prefixposition) == "vorne") then es_format vip_tmp_name "%1%2" server_var(vip_prefix) event_var(newname)
			if (server_var(vip_prefixposition) == "hinten") then es_format vip_tmp_name "%1%2" event_var(newname) server_var(vip_prefix)
			es_cexec event_var(userid) name server_var(vip_tmp_name)
		}
	}
	
	if (server_var(vip_prefix) in event_var(newname)) do
	{
		ifx false(vip_tmp_nameok) do
		{
			es_set vip_tmp_name event_var(newname)
			es_string vip_tmp_name replace server_var(vip_prefix) ""
			es_cexec event_var(userid) name server_var(vip_tmp_name)
			
			es kickid event_var(userid) Du darfst den Stammspielertag server_var(vip_prefix) nicht benutzen!
		}
	}
}

event player_say
{
	if (event_var(text) == server_var(vip_chatrunden)) do
	{
		es_xset vip_tmp_username 0
		es_xset vip_tmp_steamid 0
		es_xset vip_tmp_runden 0
		
		es_getplayername vip_tmp_username event_var(userid)
		es_getplayersteamid vip_tmp_steamid event_var(userid)
		es_keygetvalue vip_tmp_runden vipmod event_var(es_steamid) runden
		
		ifx true(vip_chatrundenpublic) do
		{
			es_msg #multi #lightgreen[VIP] server_var(vip_tmp_username) #greenhat#lightgreen server_var(vip_tmp_runden) #greenRunden gespielt!
		}
		else do
		{
			es_tell event_var(userid) #multi #lightgreen[VIP]#green Du #greenhast#lightgreen server_var(vip_tmp_runden) #greenRunden gespielt!
		}
	}
	
	if (event_var(text) == server_var(vip_chatkills)) do
	{
		es_xset vip_tmp_username 0
		es_xset vip_tmp_steamid 0
		es_xset vip_tmp_kills 0
		
		es_getplayername vip_tmp_username event_var(userid)
		es_getplayersteamid vip_tmp_steamid event_var(userid)
		es_keygetvalue vip_tmp_kills vipmod event_var(es_steamid) kills
		
		ifx true(vip_chatkillspublic) do
		{
			es_msg #multi #lightgreen[VIP] server_var(vip_tmp_username) #greenhatlightgreen server_var(vip_tmp_kills) #greenKills gemacht!
		}
		else do
		{
			es_tell event_var(userid) #multi #lightgreen[VIP]#green Du #greenhast#lightgreen server_var(vip_tmp_kills) #greenKills gemacht!
		}
	}
	
	if (event_var(text) == server_var(vip_chatrank)) do
	{
		es_xset vip_tmp_username 0
		es_xset vip_tmp_steamid 0
		es_xset vip_tmp_runden 0
		es_xset vip_tmp_kills 0
		es_xset vip_tmp_rank 0
		
		es_xdoblock vipmod/kalkulieren
		
		es_getplayername vip_tmp_username event_var(userid)
		es_getplayersteamid vip_tmp_steamid event_var(userid)
		es_keygetvalue vip_tmp_runden vipmod event_var(es_steamid) runden
		es_keygetvalue vip_tmp_kills vipmod event_var(es_steamid) kills
		es_keygetvalue vip_tmp_rank vipmod event_var(es_steamid) rank
		
		ifx true(vip_chatrankpublic) do
		{
			if (server_var(vip_showrank) == "beide") then es_msg #multi #lightgreen[VIP]#green Spieler#lightgreen server_var(vip_tmp_username) #greenist auf Rank#lightgreen server_var(vip_tmp_rank) / server_var(vip_tmp_kalk_rank) #greenmit#lightgreen server_var(vip_tmp_runden) #greenRunden und#lightgreen server_var(vip_tmp_kills) #greenKills!
			if (server_var(vip_showrank) == "runden") then es_msg #multi #lightgreen[VIP]#green Spieler#lightgreen server_var(vip_tmp_username) #greenist auf Rank#lightgreen server_var(vip_tmp_rank) / server_var(vip_tmp_kalk_rank) #greenmit#lightgreen server_var(vip_tmp_runden) #greenRunden!
			if (server_var(vip_showrank) == "kills") then es_msg #multi #lightgreen[VIP]#green Spieler#lightgreen server_var(vip_tmp_username) #greenist auf Rank#lightgreen server_var(vip_tmp_rank) / server_var(vip_tmp_kalk_rank) #greenmit#lightgreen server_var(vip_tmp_kills) #greenKills!
		}
		else do
		{
			if (server_var(vip_showrank) == "beide") then es_tell event_var(userid) #multi #lightgreen[VIP]#green Du bist auf Rank#lightgreen server_var(vip_tmp_rank) / server_var(vip_tmp_kalk_rank) #greenmit#lightgreen server_var(vip_tmp_runden) #greenRunden und#lightgreen server_var(vip_tmp_kills) #greenKills!
			if (server_var(vip_showrank) == "runden") then es_msg event_var(userid) #multi #lightgreen[VIP]#green Du bist auf Rank#lightgreen server_var(vip_tmp_rank) / server_var(vip_tmp_kalk_rank) #greenmit#lightgreen server_var(vip_tmp_runden) #greenRunden!
			if (server_var(vip_showrank) == "kills") then es_msg event_var(userid) #multi #lightgreen[VIP]#green Du bist auf Rank#lightgreen server_var(vip_tmp_rank) / server_var(vip_tmp_kalk_rank) #greenmit#lightgreen server_var(vip_tmp_kills) #greenKills!
		}
	}
	
	if (event_var(text) == server_var(vip_modelchoicechattext)) do
	{
		ifx true(vip_modelchoicechat) do
		{
			es_xset vip_tmp_chatmodel_teamid 0
			es_getplayerteam vip_tmp_chatmodel_teamid event_var(userid)
			
			ifx parse("(vip_tmp_chatmodel_teamid == 2) or (vip_tmp_chatmodel_teamid == 3)") do
			{
				es vip_modelchoicepopup server_var(vip_tmp_chatmodel_teamid)
				es popup send VIPModel event_var(userid)
			}
		}
	}
	
	if (event_var(text) == server_var(vip_topchat)) do
	{
		ifx true(vip_top) do
		{
			es_xset vip_tmp_top_exist 0
			es_xset vip_tmp_top_userid 0
			es_xset vip_tmp_kalk_fortop 1
			
			es_xdoblock vipmod/kalkulieren
			
			es_xset vip_tmp_kalk_fortop 0
			
			keymenu exists vip_tmp_top_exist VIPTop
			
			ifx true(vip_tmp_top_exist) do
			{
				keymenu delete VIPTop
			}
			
			keymenu create VIPTop vip_tmp_top_userid vipmod/toppopup vipmod #keyvalue toptext #key  - VIP Top -
			
			es keymenu send VIPTop event_var(userid)
		}
	}
}

event player_death
{
	es_xset vip_tmp_kills 0
	
	es_keygetvalue vip_tmp_kills vipmod event_var(es_attackersteamid) kills
	es_xmath vip_tmp_kills + 1
	es_keysetvalue vipmod event_var(es_attackersteamid) kills server_var(vip_tmp_kills)
}

event player_spawn
{
	es_xset vip_tmp_runden 0
	es_xset vip_tmp_kills 0
	
	es_keygetvalue vip_tmp_runden vipmod event_var(es_steamid) runden
	es_keygetvalue vip_tmp_kills vipmod event_var(es_steamid) kills
	
	es_xmath vip_tmp_runden + 1
	es_keysetvalue vipmod event_var(es_steamid) runden server_var(vip_tmp_runden)
	
	ifx true(vip_models) do
	{
		ifx parse("(vip_tmp_runden >= vip_runden) or (vip_tmp_kills >= vip_kills)") do
		{
			es_xset vip_tmp_model 0
			
			ifx true(vip_modelchoice) do
			{
				es_keygetvalue vip_tmp_model vipmod event_var(es_steamid) model
			}
			
			ifx parse("vip_tmp_model == 0") do
			{
				if (event_var(es_userteam) == 2) then es_xrand vip_tmp_model 1 2
				if (event_var(es_userteam) == 3) then es_xrand vip_tmp_model 3 4
			}
			
			ifx parse("vip_tmp_model == 1") do
			{
				es_delayed 1 playerset model event_var(userid) "player/vip/t_guerilla_vip/t_guerilla"
			}
			
			ifx parse("vip_tmp_model == 2") do
			{
				es_delayed 1 playerset model event_var(userid) "player/vip/t_leet_vip/t_leet"
			}
			
			ifx parse("vip_tmp_model == 3") do
			{
				es_delayed 1 playerset model event_var(userid) "player/vip/ct_sas_vip/ct_sas"
			}
			
			ifx parse("vip_tmp_model == 4") do
			{
				es_delayed 1 playerset model event_var(userid) "player/vip/ct_gsg9_vip/ct_gsg9"
			}
		}
	}
}

event player_team
{
	es_keysetvalue vipmod event_var(es_steamid) model 0
	
	ifx true(vip_modelchoicestart) do
	{
		if (event_var(team) == 2) do
		{
			es vip_modelchoicepopup event_var(team)
			es popup send VIPModel event_var(userid)
		}
		
		if (event_var(team) == 3) do
		{
			es vip_modelchoicepopup event_var(team)
			es popup send VIPModel event_var(userid)
		}
	}
}

event round_end
{
	es_xkeygroupsave vipmod |vipmod
}