#include <amxmodx>
#include <amxmisc>

#define PLUGIN "HNS fun mode vote"
#define VERSION "1.0"
#define AUTHOR "Akitakarszvagyamitjonaklatsz" //Nem irok ide semmit || credits DMC - DeROiD, Kiki - szavazo menu keszites.

new iVotesg[2], sPrefixg, bool:bvotedg, cVotesming, bool:bRunnedg, iVotinGg;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_logevent("round_start", 2, "1=Round_Start"); //Kor eleje logevent, ez minden kor elejen lefuttatja a round_start() publicot.
	sPrefixg = register_cvar("server_prefix", "Szerver Prefix"); //Ide pedig a szerver prefixet ird ajanlom [] es tarsai nelkul, mert chatbe/menube [%] - kent hivatkozok ra.
	cVotesming = register_cvar("Vote_Min", "1"); // ha 1 az osszes jatekosnak kell szavaznia, ha 2 akkor a felenek es stb...(mindig osztod a fentlevo jatekosokkal, de ajanlom csak az 1 es 2 hasznalatat)
	
	register_cvar("Vote_Onoff","1")  //Ha 1 elindul a szavazas kor elejen es a kovetkezo korben indul a fun mode, szerintem igy jobb, megindoklom ha kéred. Ha 0 ki van kapcsolva!
	
}
public round_start()
{
	if(!get_cvar_num("Vote_Onoff"))
		return;
	
	new sPlayers[32], iNum
	get_players(sPlayers, iNum, "c");
	
	if(iNum == 1)//ha 1 player van fent nem fut le mivel felesleges.
	return;
	
	//de ha le szeretned futtatni 1 playernel is akkor lentebb vedd ki a // jelet, es a fenti ifet tuntesd el.
	
	if(bRunnedg)
	{
		iVotesg[0] = 0;
		bRunnedg = false;
		iVotinGg = 0;
	}
	
	//floatround(iVotesg, floatround_ceil);
	
	if(iVotesg[0] >= iNum/get_pcvar_num(cVotesming))
		bvotedg = true;
	else
		bvotedg = false;
	
	for(new i; i < iNum; i++) 
	{
		if(!is_user_connected(sPlayers[i]) || !is_user_alive(sPlayers[i]))
			return;
		
		if(!bvotedg)
		{
			client_print_color(sPlayers[i], print_team_default, "^4[%s]^1 Szavazz! Mi legyen a kovetkezo korben?", server_prefix());
			menu_vote_start(sPlayers[i]);
		}
		else
		{
			client_print_color(sPlayers[i], print_team_default, "^4[%s]^1 Teszt!", server_prefix());
			bRunnedg = true;
		}
	}
}
public menu_vote_start(iId)
{
	new iMenu, sString[64];
	formatex(sString, charsmax(sString), "\r%s \w| \dSzeretnel a kovetkezo korben fun modot?", server_prefix());
	iMenu = menu_create(sString, "menu_vote_start_h");
	
	menu_additem(iMenu, "Igen, szeretnek", "0", 0);
	menu_additem(iMenu, "Nem szeretnek^n", "1", 0);
	
	menu_additem(iMenu, "A fun mode jelenti a 2 ugrast, es ejtoernyot!", "2", 0);
	
	new players[32], pnum, tempid;
	get_players(players, pnum, "c");
	
	for(new i; i<pnum; i++){
		tempid = players[i];
		
		menu_display(tempid, iMenu, 0);
		iVotinGg++;
		
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	
}
public menu_vote_start_h(iId, iMenu, iItem)
{
	if(iItem == MENU_EXIT || !iVotinGg)
	{  
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new sData[6], sName[64], iAccess, iKey;
	menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName));
	iKey = str_to_num(sData);
	
	iVotesg[iKey]++;
	if(iKey == 0)
	{
		client_print_color(0, print_team_default, "^4[%s]^1 Azt szavaztad hogy legyen fun mode", server_prefix());
	}
	menu_destroy(iMenu);
	return PLUGIN_HANDLED;
	
}
public plugin_natives()
{
	register_native("get_votedbool","native_get_votedbool",1)
}

public bool:native_get_votedbool(iId)
{
	return bool:bvotedg;
}
server_prefix(){
	new sPrefix[64];
	get_pcvar_string(sPrefixg, sPrefix, charsmax(sPrefix));
	return sPrefix;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
