#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <nvault>

#define MAX_MAP	250
#define VOTE_ACMA_VAKTI 0      		// 00:00
#define VOTE_KAPAMA_VAKTI   12      // 12:00 (öğlen)

new g_iTimerVote[33];
new g_iNumRTV;
new g_iPlayerProcc;
new bool:g_LastRound;
new b_HasRTV[33];
new Float:g_iLastSec[33];
new bool:g_Vote;
new bool:b_HasAlreadyVoted[33];
new iAllVoted;
// new sonuc;
new SmiLe[MAX_MAP][250],configsdir[250],komutdosyasi[250],CSmiLeFaCe[MAX_MAP][250],CSmiLeFaCee,FaCe[6],LeFa[6];
new REKLAMCVAR;
new REKLAM[32];
#define TimeVote 26
new haritacek[10][33];
new haritacekcevir[10];
new bitmeyibekle;
new oylama_durum,gv_vault;
new suankimap[64];
new bool:Engel

public plugin_init()
{
	register_plugin("CSM Harita Sistemi [RTV]", "2.0", "-CSmiLeFaCe");
	
	register_clcmd("say /RTVssssss", "RockTheVote")
	register_clcmd("say !RTVssssss", "RockTheVote")
	register_clcmd("say .RTVssssss", "RockTheVote")
	register_clcmd("say /haritalar", "oynanilanharitalarinsirasi")
	register_clcmd("say !haritalar", "oynanilanharitalarinsirasi")
	register_clcmd("say .haritalar", "oynanilanharitalarinsirasi")
	register_concmd("say nextmap", "Show_Nextmap")
	register_concmd("amx_cancelvote", "cancelvote")
	register_clcmd("db_haritaoylamabasla","oylamastart")
	register_clcmd("say timeleft","sontur")
	register_clcmd("amx_oylamadurum","oylamadurum")
	
	register_menucmd(register_menuid("VoteMenu"), 1023, "ActionVoteMenu");
	
	register_logevent("RoundEnd", 2, "1=Round_End")

	get_mapname(suankimap,charsmax(suankimap));
	bitmeyibekle = register_cvar("tim_bitmeyibekle","1");
	haritacekcevir[0] = register_cvar("tim_maplistsira1","YOK");get_pcvar_string(haritacekcevir[0],haritacek[0],31);set_cvar_string("tim_maplistsira1",suankimap);
	haritacekcevir[1] = register_cvar("tim_maplistsira2","YOK");get_pcvar_string(haritacekcevir[1],haritacek[1],31);set_cvar_string("tim_maplistsira2",haritacek[0]);
	haritacekcevir[2] = register_cvar("tim_maplistsira3","YOK");get_pcvar_string(haritacekcevir[2],haritacek[2],31);set_cvar_string("tim_maplistsira3",haritacek[1]);
	haritacekcevir[3] = register_cvar("tim_maplistsira4","YOK");get_pcvar_string(haritacekcevir[3],haritacek[3],31);set_cvar_string("tim_maplistsira4",haritacek[2]);
	haritacekcevir[4] = register_cvar("tim_maplistsira5","YOK");get_pcvar_string(haritacekcevir[4],haritacek[4],31);set_cvar_string("tim_maplistsira5",haritacek[3]);
	haritacekcevir[5] = register_cvar("tim_maplistsira6","YOK");get_pcvar_string(haritacekcevir[5],haritacek[5],31);set_cvar_string("tim_maplistsira6",haritacek[4]);
	haritacekcevir[6] = register_cvar("tim_maplistsira7","YOK");get_pcvar_string(haritacekcevir[6],haritacek[6],31);set_cvar_string("tim_maplistsira7",haritacek[5]);
	haritacekcevir[7] = register_cvar("tim_maplistsira8","YOK");get_pcvar_string(haritacekcevir[7],haritacek[7],31);set_cvar_string("tim_maplistsira8",haritacek[6]);
	haritacekcevir[8] = register_cvar("tim_maplistsira9","YOK");get_pcvar_string(haritacekcevir[8],haritacek[8],31);set_cvar_string("tim_maplistsira9",haritacek[7]);
	haritacekcevir[9] = register_cvar("tim_maplistsira10","YOK");get_pcvar_string(haritacekcevir[9],haritacek[9],31);set_cvar_string("tim_maplistsira10",haritacek[8]);
	
	/*set_cvar_string("csm_ensonmap",haritacek[2])
	set_cvar_string("csm_ondanbirbironcekiharita", haritacek[1]);
	set_cvar_string("csm_ondanbironcekiharita", haritacek[0]);
	set_cvar_string("csm_bironcekiharita", suankimap);*/
	set_task(45.0, "ClCmdVote", _, _, _, "d") //Buradaki 45 timeleft'in bitmesine kaç saniye kala çalýþacaðýný gösterir.
	
	register_cvar("amx_nextmap", "");
	oylama_durum = register_cvar("oylama_durum","1");
	set_cvar_string("amx_nextmap", "");
	REKLAMCVAR = register_cvar("csm_sayreklam"," gg.jetaimepro.com")
	get_pcvar_string(REKLAMCVAR,REKLAM,31)
	set_task(130.0,"vaultakaydet");
}

public Gungame_Grenade()
{
	// Grenade

	if(!Engel)
	{
		ClCmdVote()

		Engel = true
	}
}

public GunGame_Win()
{
	// Win
	if(g_Vote) {
		endvote()
	}

	set_task(1.0, "changelevel");
}

public vaultakaydet(){
	nvault_set(gv_vault, fmt("%s", suankimap), fmt("%s | %d", zaman(), get_playersnum()));
}
public oylamadurum(id){
	if(~get_user_flags(id) & ADMIN_RESERVATION){
		client_print_color(0,0,"^1[^3 gg.jetaimepro.com^1 ]^4 Yetkin Yok.");
		return;
	}
	
	if(get_pcvar_num(oylama_durum) == 1){
		set_pcvar_num(oylama_durum, 2);
		client_print_color(0,0,"^1[^3 gg.jetaimepro.com^1 ]^4 Oylamada Gelecek Haritalar^1 Kurali^3 Kati Hale^1 Getirildi^4.!");
	}else if(get_pcvar_num(oylama_durum) == 2){
		set_pcvar_num(oylama_durum, 1);
		client_print_color(0,0,"^1[^3 gg.jetaimepro.com^1 ]^4 Oylamada Gelecek Haritalar^1 Kurali^3 Esnek Hale^1 Getirildi^4.!");
	}
}

public plugin_cfg(){
	gv_vault = nvault_open( "MapVeZaman" );
	
	if(gv_vault == INVALID_HANDLE)
		set_fail_state( "gv_vault Acilamadi.!" );
	
	nvault_prune( gv_vault , 0 , get_systime() - 30000 );
}

public plugin_end(){
	nvault_close(gv_vault);
}

zaman(){
	new timex[64];
	get_time("%H:%M", timex, charsmax(timex));
	return timex;
}

public cancelvote(id){
	if(!get_user_flags(id) && ADMIN_RCON)
		return;
	
	remove_task();
	g_LastRound = false;
	set_cvar_float("mp_timelimit", 5.0);
	set_cvar_string("amx_nextmap", "");
	g_Vote = false;
	iAllVoted = 0;
	// sonuc = EOS;
	remove_task();
	client_print_color(0,0,"^1[^3 gg.jetaimepro.com^1 ]^4 %n^1 Oylamayi^3 Durdurdu.!!", id);
	client_cmd(0,"slot5");
}
public sontur(id){
	if(g_LastRound)
		client_print_color(id,id,"^1[^3 gg.jetaimepro.com^1 ]^4 Son Round.^3 Harita^1 oyun bitince degisecek.");
}
public oynanilanharitalarinsirasi(id) {
		new menu//,Menuz[512]
		
		//formatex(Menuz, charsmax(Menuz),"\r[%s] \yOynanan Haritalar^n\wSuanki >> \y%s\r %s",REKLAM,suankimap, zaman())
		menu = menu_create(fmt("\r[%s] \yOynanan Haritalar^n\wSuan \y%s\r %s",REKLAM,suankimap, zaman()), "menu_handler")
		
		for(new i = 0,nezaman[64]; i < 10; i++){
			nvault_get(gv_vault, fmt("%s", haritacek[i]), nezaman, charsmax(nezaman))
			menu_additem(menu, fmt("\y%s\w [\r%s\w]",haritacek[i], nezaman), fmt("%i",i+1))
		}
		
		/*formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[0], nvault_get(gv_vault, fmt("%s", haritacek[0])))
		menu_additem(menu, fmt(), "1")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[1], nvault_get(gv_vault, fmt("%s", haritacek[1])))
		menu_additem(menu, fmt(), "2")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[2], nvault_get(gv_vault, fmt("%s", haritacek[2])))
		menu_additem(menu, fmt(), "3")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[3], nvault_get(gv_vault, fmt("%s", haritacek[3])))
		menu_additem(menu, fmt(), "4")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[4], nvault_get(gv_vault, fmt("%s", haritacek[4])))
		menu_additem(menu, fmt(), "5")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[5], nvault_get(gv_vault, fmt("%s", haritacek[5])))
		menu_additem(menu, fmt(), "6")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[6], nvault_get(gv_vault, fmt("%s", haritacek[6])))
		menu_additem(menu, fmt(), "7")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[7], nvault_get(gv_vault, fmt("%s", haritacek[7])))
		menu_additem(menu, fmt(), "8")
		formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[8], nvault_get(gv_vault, fmt("%s", haritacek[8])))
		menu_additem(menu, fmt(), "9")
		//formatex(Menuz, charsmax(Menuz), "\w>> \y%s\r %s",haritacek[9], nvault_get(gv_vault, fmt("%s", haritacek[9])))
		menu_additem(menu, fmt("\w>> \y%s\r %s",haritacek[9], nvault_get(gv_vault, fmt("%s", haritacek[9]))), "10")*/

		menu_setprop(menu, MPROP_PERPAGE, 0);
		menu_display(id, menu, 0);
}

public menu_handler(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public plugin_natives()
{
	register_native("HaritaOyla", "ClCmdVote", 1)  //Baþka eklentiler ile birleþtirmek için native kullandým. 
}

public oylamastart(id)
{
	if(!get_user_flags(id) && ADMIN_RCON)
		return;
	
	client_print_color(0,0,"^1[^4%s^1] ^3%n^1 adli admin harita oylamasi baslatti.",REKLAM,id)
	ClCmdVote();
}

public Show_Nextmap(id)
{
	new harita[32]
	get_cvar_string("amx_nextmap",harita,sizeof(harita) - 1)
	

	if(harita[0])
	{
		client_print_color(id,id, "^1[^3 gg.jetaimepro.com^1 ] ^3Sonraki Harita: ^4%s", harita)
	}
	else client_print_color(id,id, "^1[^3 gg.jetaimepro.com^1 ] ^3Sonraki Harita daha oylanmadi.")
}

public RoundEnd()
	if(g_LastRound)
		set_task(1.0, "changelevel");

public RockTheVote(id)
{
	if(g_Vote)
	{
		client_print_color(id,id, "^1[^3 gg.jetaimepro.com^1 ] ^3Oylama basladi.")
		return PLUGIN_CONTINUE;
	}
	if(b_HasRTV[id])
	{
		client_print_color(id,id, "^1[^3 gg.jetaimepro.com^1 ] ^3Oylama icin hazirsiniz.")
		return PLUGIN_CONTINUE;
	}
	new iNum, szPlayers[32];
	get_players(szPlayers, iNum, "hc")

	g_iNumRTV++;

	b_HasRTV[id] = true;
	if(g_iNumRTV == iNum)
	{
		client_print_color(0,0, "^3Katilimci^4(%d) ^3gerekli sayiya ulasti. Harita oylamasi geliyor..", g_iNumRTV)
		set_task(5.0, "ClCmdVote");
	}
	else
		client_print_color(0,0, "^3Oylama icin ^4%d ^3kadar istege ihtiyacimiz var ^4say /RTV", iNum-g_iNumRTV)
		
	return PLUGIN_HANDLED;
}

public LoadMapsInVote()
{
	get_configsdir(configsdir,249);
	new satirsayisi,sonuc;
	
	format(komutdosyasi,249,"%s/maps.ini",configsdir);
	
	for(new i=0,deger;i<MAX_MAP;i++){
		sonuc = read_file(komutdosyasi,i,SmiLe[i],249,satirsayisi);
		if(sonuc != 0){
			CSmiLeFaCee++;
			CSmiLeFaCe[CSmiLeFaCee] = SmiLe[i];
			deger++;}
	}
}


public ClCmdVote(){
	if (!vote_zamani_geldi_mi())
	{
		client_print_color(0, 0, "^1[^3 gg.jetaimepro.com^1 ] ^3Harita oylamasi sadece ^4%02d:00 - %02d:00 ^3saatleri arasinda aktif.", VOTE_ACMA_VAKTI, VOTE_KAPAMA_VAKTI);
		return;
	}
	rg_send_audio(0, "Gman/gman_choose2")
	set_cvar_float("mp_timelimit", 0.0)
	set_task(1.0, "ValueVote", _, _, _, "a", 1);
}

public ValueVote()
{
	static timer = 1
	timer--
	switch(timer)
	{
		case 0: 
		{
			client_print_color(0,0, "^1[^3 gg.jetaimepro.com^1 ] ^3Harita oylamasi ^4AKTIF")
			g_Vote = true;
			FaCe[0] = 0;
			FaCe[1] = 0;
			FaCe[2] = 0;
			FaCe[3] = 0;
			FaCe[4] = 0;
			startvote()
			arrayset(FaCe, 0, sizeof(FaCe));
			arrayset(g_iTimerVote, TimeVote-10, 33);
			arrayset(b_HasAlreadyVoted, false, 33);
			set_task(float(TimeVote) - 2.0, "endvote");
			timer = 1;
			set_cvar_string("amx_nextmap", "[Oylamada]");
		}
		default: 
		{
			client_print_color(0,0, "^1[^3 gg.jetaimepro.com^1 ] ^3Harita oylamasinin baslamasina ^4%d saniye..", timer)
		}
	}
}

public startvote()
{
	if(!g_Vote)
		return PLUGIN_CONTINUE;
		
	CSmiLeFaCee = 0;
	LoadMapsInVote()
	if(CSmiLeFaCee >= 6){
		LeFa[0] = random_num(1,CSmiLeFaCee);
		LeFa[1] = random_num(1,CSmiLeFaCee);
		LeFa[2] = random_num(1,CSmiLeFaCee);
		LeFa[3] = random_num(1,CSmiLeFaCee);
		LeFa[4] = random_num(1,CSmiLeFaCee);
		for(new i = 0;i<5;i++){
			for(new j = 0;j<5;j++){
				if(i == j)
					continue;
				
				if(get_pcvar_num(oylama_durum) == 1){
					if(LeFa[i] == LeFa[j] 
					|| equali(CSmiLeFaCe[LeFa[i]],suankimap)
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[0])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[1])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[2])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[3])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[4])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[5]) 
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[6])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[7])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[8])
					|| equali(CSmiLeFaCe[LeFa[i]],haritacek[9])){
						/*if(equali(CSmiLeFaCe[LeFa[i]],suankimap))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",suankimap)
						}
						else if (equali(CSmiLeFaCe[LeFa[i]],haritacek[0]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[0])
						}
						else if (equali(CSmiLeFaCe[LeFa[i]],haritacek[1]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[1])
						}
						else if(equali(CSmiLeFaCe[LeFa[i]],haritacek[2]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[2])
						}
						else if(equali(CSmiLeFaCe[LeFa[i]],haritacek[3]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[3])
						}
						else if (equali(CSmiLeFaCe[LeFa[i]],haritacek[4]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[4])
						}
						else if (equali(CSmiLeFaCe[LeFa[i]],haritacek[5]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[5])
						}
						else if(equali(CSmiLeFaCe[LeFa[i]],haritacek[6]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[6])
						}
						else if(equali(CSmiLeFaCe[LeFa[i]],haritacek[7]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[7])
						}
						else if (equali(CSmiLeFaCe[LeFa[i]],haritacek[8]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[8])
						}
						else if (equali(CSmiLeFaCe[LeFa[i]],haritacek[9]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[9])
						}*/
						LeFa[i] = random_num(1,CSmiLeFaCee); // ||
						i = 0;
					}
				}else if(get_pcvar_num(oylama_durum) == 2){
					if(LeFa[i] == LeFa[j] 
					|| equal(CSmiLeFaCe[LeFa[i]],suankimap)
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[0])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[1])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[2])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[3])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[4])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[5]) 
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[6])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[7])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[8])
					|| equal(CSmiLeFaCe[LeFa[i]],haritacek[9])){
						/*if(equal(CSmiLeFaCe[LeFa[i]],suankimap))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",suankimap)
						}
						else if (equal(CSmiLeFaCe[LeFa[i]],haritacek[0]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[0])
						}
						else if (equal(CSmiLeFaCe[LeFa[i]],haritacek[1]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[1])
						}
						else if(equal(CSmiLeFaCe[LeFa[i]],haritacek[2]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[2])
						}
						else if(equal(CSmiLeFaCe[LeFa[i]],haritacek[3]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[3])
						}
						else if (equal(CSmiLeFaCe[LeFa[i]],haritacek[4]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[4])
						}
						else if (equal(CSmiLeFaCe[LeFa[i]],haritacek[5]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[5])
						}
						else if(equal(CSmiLeFaCe[LeFa[i]],haritacek[6]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[6])
						}
						else if(equal(CSmiLeFaCe[LeFa[i]],haritacek[7]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[7])
						}
						else if (equal(CSmiLeFaCe[LeFa[i]],haritacek[8]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[8])
						}
						else if (equal(CSmiLeFaCe[LeFa[i]],haritacek[9]))
						{
							client_print(0,print_chat,"%s oylamada yasakli oldugu icin cikartildi.",haritacek[9])
						}*/
						LeFa[i] = random_num(1,CSmiLeFaCee); // ||
						i = 0;
					}
				}
			}
		}
	}
	
	return PLUGIN_HANDLED;
}

public ChooseMap(id)
{
	if(!g_Vote)
		return PLUGIN_CONTINUE;

	if(b_HasAlreadyVoted[id])
		return PLUGIN_CONTINUE;
	
	new szMenu[512], iLen, iKey, szSec[32]
	// if(g_iTimerVote[id] < 16){
	iLen = format(szMenu[iLen], charsmax(szMenu)-iLen, "\yHarita Oylama Zamani^n\dOylamanin bitmesine \r%d \dSaniye^n", g_iTimerVote[id], szSec)
	for(new q; q < 3; q++) {
		iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n\r%d. \w%s \d[\y%d%%\d] [\r%d\wOy\d]",q+1, CSmiLeFaCe[LeFa[q]], FaCe[q] * g_iPlayerProcc, FaCe[q])
	}

	iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\r0. \wOylamaya Katilma")
	iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\yGecerli oy sayisi:\w [\r%d\w]", iAllVoted) 
	
	iKey |= MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
	// }
	
	// else{
	// 	iLen = format(szMenu[iLen], charsmax(szMenu)-iLen, " \rHarita Oylamasi Geliyor...^n\w Oylamada Gelecek\y Haritalar^n", szSec)
	// 	for(new q; q < 3; q++)
	// 	{
	// 		iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, " ^n\r%d. ~> \y%s",q+1, CSmiLeFaCe[LeFa[q]])
	// 	}
		
	// 	/*if(!b_HasAlreadyVoted[id])
	// 	{
	// 		iKey |= MENU_KEY_0;
	// 		iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\r0. \wOylamaya Katilma")
	// 	}*/
		
	// 	//iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\yGecerli oy sayisi: \r%d", iAllVoted) 
		
	// 	iKey |= MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
	// }
	
	/*if(b_HasAlreadyVoted[id])
		iKey &= ~(MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5);*/
	
	show_menu(id, iKey, szMenu, -1, "VoteMenu");
	return PLUGIN_HANDLED;
}

public ActionVoteMenu(id, iKey)
{
	if(!g_Vote)
		return PLUGIN_CONTINUE;
	
	// if(g_iTimerVote[id] < 16){
	switch(iKey){
		case 0:{
			client_cmd(id,"use weapon_m4a1;use weapon_ak47;use weapon_tmp;weapon_m3;weapon_m249;weapon_galil")
			client_cmd(id,"use weapon_sg550;use weapon_ump45;use weapon_mp5navy;weapon_g3sg1;weapon_sg552;weapon_p90")
			client_cmd(id,"use weapon_awp;use weapon_scout")
			if(b_HasAlreadyVoted[id])
				return PLUGIN_CONTINUE;
		}
		case 1:{
			client_cmd(id,"use weapon_deagle;use weapon_usp;use weapon_glock18")
			if(b_HasAlreadyVoted[id])
				return PLUGIN_CONTINUE;
		}
		case 2:{
			client_cmd(id,"use weapon_knife")
			if(b_HasAlreadyVoted[id])
				return PLUGIN_CONTINUE;
		}
		case 3:{
			client_cmd(id,"use weapon_hegrenade")
			client_cmd(id,"use weapon_smokegrenade")
			client_cmd(id,"use weapon_flashbang")
			if(b_HasAlreadyVoted[id])
				return PLUGIN_CONTINUE;
		}
		case 4:{
			client_cmd(id,"use weapon_c4")
			if(b_HasAlreadyVoted[id])
				return PLUGIN_CONTINUE;
		}
		case 9:{
			if(!b_HasAlreadyVoted[id])
				client_print_color(0,0, "^1[^3 gg.jetaimepro.com^1 ] ^4%n ^3oylamaya katilmadi.", id);
			b_HasAlreadyVoted[id] = true;
			return PLUGIN_CONTINUE;
		}
	}
	// }else{
	// 	switch(iKey){
	// 		case 0:{
	// 			client_cmd(id,"use weapon_m4a1;use weapon_ak47;use weapon_tmp;weapon_m3;weapon_m249;weapon_galil")
	// 			client_cmd(id,"use weapon_sg550;use weapon_ump45;use weapon_mp5navy;weapon_g3sg1;weapon_sg552;weapon_p90")
	// 			client_cmd(id,"use weapon_awp;use weapon_scout")
	// 			return PLUGIN_CONTINUE;
	// 		}
	// 		case 1:{
	// 			client_cmd(id,"use weapon_deagle;use weapon_usp;use weapon_glock18")
	// 			return PLUGIN_CONTINUE;
	// 		}
	// 		case 2:{
	// 			client_cmd(id,"use weapon_knife")
	// 			return PLUGIN_CONTINUE;
	// 		}
	// 		case 3:{
	// 			client_cmd(id,"use weapon_hegrenade")
	// 			client_cmd(id,"use weapon_smokegrenade")
	// 			client_cmd(id,"use weapon_flashbang")
	// 			return PLUGIN_CONTINUE;
	// 		}
	// 		case 4:{
	// 			client_cmd(id,"use weapon_c4")
	// 			return PLUGIN_CONTINUE;
	// 		}
	// 		case 9:{
	// 			return PLUGIN_CONTINUE;
	// 		}
	// 	}
	// }
	
	iAllVoted++;
	FaCe[iKey]++
	rg_send_audio(id, "Gman/gman_noreg")
	b_HasAlreadyVoted[id] = true;
	client_print_color(id,id, "^1[^3 gg.jetaimepro.com^1 ] ^4%n^3 sectigin harita^4 %s^1 #%d", id, CSmiLeFaCe[LeFa[iKey]], FaCe[iKey]);
	
	return PLUGIN_HANDLED;
}

public endvote()
{
	if(!g_Vote)
		return PLUGIN_CONTINUE;
	
	new kazanan = LeFa[0], eniyiharita = FaCe[0];
	for(new i = 0; i <5; i++){
		if(FaCe[i] > eniyiharita){
			kazanan = LeFa[i];
			eniyiharita = FaCe[i];}
	}
	
	g_Vote = false;
	if(!is_map_valid(CSmiLeFaCe[kazanan]))
	{
		FaCe[0] = 0;
		FaCe[1] = 0;
		FaCe[2] = 0;
		FaCe[3] = 0;
		FaCe[4] = 0;
		iAllVoted = 0; 
		rg_send_audio(0, "Gman/gman_nowork")
		set_task(5.0, "ClCmdVote");
		client_print_color(0,0, "^3Seciilen harita ^4%s ^"^1cstrike/maps^4^" ^3klasorunde ^4YOK.^3Oylama islemi yeniden yapilacak.", CSmiLeFaCe[kazanan])
		return PLUGIN_HANDLED;
	}
	
	client_print_color(0,0, "^1[^3 gg.jetaimepro.com^1 ] ^3Sonraki Harita: ^4%s ^1| Yuzde ^4%i ^3 Oyla Kazandi", CSmiLeFaCe[kazanan], kazanan)
	set_cvar_string("amx_nextmap", CSmiLeFaCe[kazanan]);
	// sonuc = kazanan;
	
	if(get_pcvar_num(bitmeyibekle) == 1){
		g_LastRound = true;
		set_dhudmessage( 149,68,0, -1.0, -0.70, 2, 4.0, 11.0, 0.01, 1.5 )
		show_dhudmessage(0, "Sonraki Harita: %s^nHarita oyun bitince degisecek",CSmiLeFaCe[kazanan])
	}
	else{
		set_task(1.0, "changelevel");
	}
	
	return PLUGIN_HANDLED;
}
public changelevel()
{
	new harita[32]
	get_cvar_string("amx_nextmap",harita,sizeof(harita) - 1)
	set_cvar_float("mp_timelimit", 0.0);
	set_dhudmessage( 0,255,0, -1.0, -0.40, 0, 11.0, 6.0, 0.1, 1.5 )
	show_dhudmessage(0, "^nHarita %s olarak degistiriliyor", harita) 
	rg_send_audio(0, "Gman/gman_noreg")
	new iNum, szPlayers[32];
	get_players(szPlayers, iNum)
	for(new i; i < iNum; i++)
	{
		client_cmd(szPlayers[i], "drop;wait;wait;wait;wait;wait;drop;wait;wait;wait;wait;wait;drop");
		set_entvar(szPlayers[i], var_flags, get_entvar(szPlayers[i], var_flags) | FL_FROZEN);
	}
	
	set_task(3.5, "changelevel1");
	set_task(6.0, "changelevel2");
	
	
}
public changelevel1()
{
	new _modName[10]
	get_modname(_modName, 9)
	if (!equal(_modName, "zp"))
	{
		message_begin(MSG_ALL, SVC_INTERMISSION)
		message_end()
	}
}
public changelevel2()
{
	new harita[32]
	get_cvar_string("amx_nextmap",harita,sizeof(harita) - 1)
	server_cmd("changelevel %s", harita);
}
public client_PreThink(id)
{
	if(!g_Vote)
		return;
		
	if(g_iTimerVote[id] <= -1)
		return;
	
	if(iAllVoted)
		g_iPlayerProcc = 100 / iAllVoted;
	else
		g_iPlayerProcc = 0;
	
	if((get_gametime() - g_iLastSec[id]) >= 1.0)
		if(g_iTimerVote[id] != 0)
			g_iTimerVote[id]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
		else
			show_menu(id, 0, "^n"), g_iTimerVote[id] = -1;
}

bool:vote_zamani_geldi_mi()
{
	new saat[3], dakika[3];
	get_time("%H", saat, charsmax(saat));
	get_time("%M", dakika, charsmax(dakika));

	new vakit = str_to_num(saat);
	// Gece 00:00 ile öğlen 12:00 arası aktif olacak
	return (vakit >= VOTE_ACMA_VAKTI && vakit < VOTE_KAPAMA_VAKTI);
}
