/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new Nyelv[33];
// 1- ENGLISH | 2-HUNGARY

new Gold[33];

new const SZERVERPREFIX[] = "#EUROPE";


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_impulse(201, "FoMenu")
	register_clcmd("say /menu", "FoMenu")
}

public FoMenu(id)
{
	new Temp[900];
	
	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\r%s \wMain Menu^n\yGold: \r%i", SZERVERPREFIX, Gold[id])
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\r%s \wFőmenü^nyArany: \r%i", SZERVERPREFIX, Gold[id])
	}
	new menu = menu_create(Temp, "fomenu_handler");

	
	menu_additem(menu, "\wSkinek\d[Nem elérhető]", "0", 0); // case 0
	if(Nyelv[id] == 1) {
		formatex(Temp, 191, "\wShop")
	}
	else if(Nyelv[id] == 2) {
		formatex(Temp, 191, "\wBolt")
	}
	menu_additem(menu, Temp, "1", 0); // case 1
	
	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\wSettings")
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\wBeállítások")
	}
	menu_additem(menu, Temp, "2", 0); // case 2
	
	menu_additem(menu, "\rINFO", "3", 0); // case 3

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public fomenu_handler(id, menu, item)
{
	new command[6], name[64], access, callback;

	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

	switch(item)
	{
		case 0: FoMenu(id);
		case 1: shopmenu(id);
		case 2: settingsmenu(id);
		case 3: infomenu(id)
	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;
}

public infomenu(id) 
{
	if(Nyelv[id] == 1) {
		print_color(id, "!g%s !yNo information available", SZERVERPREFIX)
	}
	else if(Nyelv[id] == 2) {
		print_color(id, "!g%s !yNincs elérhető információ!", SZERVERPREFIX)
	}
}

public shopmenu(id)
{
	new Temp[900];
	
	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\r%s \wShop", SZERVERPREFIX)
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\r%s \wBolt", SZERVERPREFIX)
	}
	new menu = menu_create(Temp, "shopmenu_handler");

	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\r+50 Health\d[Price: 30 Gold]")
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\r+50 Élet\d[Ára: 30 Arany]")
	}
	menu_additem(menu, Temp, "0", 0); // case 0
	
	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\r+100 Health\d[Price: 50 Gold]")
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\r+100 Élet\d[Ára: 50 Arany]")
	}
	menu_additem(menu, Temp, "1", 0); // case 1
	
	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\r1x Respawn\d[Price: 60 Gold]")
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\r1x Ujraéledés\d[Ára: 60 Arany]")
	}
	menu_additem(menu, Temp, "2", 0); // case 2
	
	if(Nyelv[id] == 1) {
	formatex(Temp, 191, "\r+50 Speed\d[Price: 150 Gold]")
	}
	else if(Nyelv[id] == 2) {
	formatex(Temp, 191, "\r+50 Gyorsaság\d[Ára: 150 Arany]")
	}
	menu_additem(menu, Temp, "3", 0); // case 3

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public shopmenu_handler(id, menu, item)
{
	new command[6], name[64], access, callback;

	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

	switch(item)
	{
		case 0: 
		{
		if(is_user_alive(id)) 
		{
			if(Gold[id] >= 30) {
				new Health = get_user_health(id)
				set_user_health(id, Health+50)
				Gold[id] -= 30
				if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yYou have successfully taken this:!t+50 Health", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !ySikeresen vettél ezt:!t+50 Élet", SZERVERPREFIX)
				}
			}
			else 
			{
				if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yYou do not have enough money for this: !t+50 Health", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !yNincs elég pénzed erre: !t+50 Élet", SZERVERPREFIX)
				}
			}
		else 
		{
			if(Nyelv[id] == 1) {
			print_color(id, "!g%s !yDead you can not buy this one", SZERVERPREFIX)
			}
			else if(Nyelv[id] == 2) {
			print_color(id, "!g%s !yHalottan nem vehetsz életet!", SZERVERPREFIX)
			}
		}
		}
		}
		case 1: 
		{
		if(is_user_alive(id)) {
			if(Gold[id] >= 50) {
				new Health = get_user_health(id)
				set_user_health(id, Health+100)
				Gold[id] -= 50
				if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yYou have successfully taken this:!t+100 Health", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !ySikeresen vettél ezt:!t+100 Élet", SZERVERPREFIX)
				}
			}
			else 
			{
				if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yYou do not have enough money for this: !t+100 Health", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !yNincs elég pénzed erre: !t+100 Élet", SZERVERPREFIX)
				}
			}
			else {
				if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yDead you can not buy this one", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !yHalottan nem vehetsz életet!", SZERVERPREFIX)
				}
			}
		}
		}
		case 2: 
		{
		if(!is_user_alive(id)) {
			if(Gold[id] >= 60) {
				ExecuteHamB(Ham_CS_RoundRespawn, id)
				Gold[id] -= 60
				if(Nyelv[id] == 1) {
					print_color(id, "!g%s !yYou have successfully taken this:!t1x Respawn", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
					print_color(id, "!g%s !ySikeresen vettél ezt:!t1x Ujraéledés", SZERVERPREFIX)
				}
			}
			else 
			{
			if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yYou do not have enough money for this: !t1x Respawn", SZERVERPREFIX)
			}
			else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !yNincs elég pénzed erre: !t1x Ujraéledés", SZERVERPREFIX)
			}
			}
		else {
			if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yBecause you live, you can not afford it", SZERVERPREFIX)
			}
			else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !yMivel te élsz, ezért nem veheted meg!", SZERVERPREFIX)
			}
		}
		}
		}
		case 3: 
		if(is_user_alive(id)) {
			if(Gold[id] >= 150) {
				new Speed = get_user_maxspeed(id)
				set_user_maxspeed(id, Speed+50)
				Gold[id] -= 150
				if(Nyelv[id] == 1) {
					print_color(id, "!g%s !yYou have successfully taken this:!t+50 Speed", SZERVERPREFIX)
				}
				else if(Nyelv[id] == 2) {
					print_color(id, "!g%s !ySikeresen vettél ezt:!t+50 Gyorsaság", SZERVERPREFIX)
				}
			}
			else 
			{
			if(Nyelv[id] == 1) {
				print_color(id, "!g%s !yYou do not have enough money for this: !t+50 Speed", SZERVERPREFIX)
			}
			else if(Nyelv[id] == 2) {
				print_color(id, "!g%s !yNincs elég pénzed erre: !t+50 Gyorsaság", SZERVERPREFIX)
			}
			}
		else {
			if(Nyelv[id] == 1) {
			print_color(id, "!g%s !yDead you can not buy this one", SZERVERPREFIX)
			}
			else if(Nyelv[id] == 2) {
			print_color(id, "!g%s !yHalottan nem vehetsz életet!", SZERVERPREFIX)
			}
		}
		}
		}

	menu_destroy(menu);

	return PLUGIN_HANDLED;
}

public settingsmenu(id)
{
	new Temp[300];
	
	new menu = menu_create(Temp, "settingmenu_handler");

	if(Nyelv[id] == 1) {
		formatex(Temp, 191, "\yLanguage: \rEnglish \d| \wMagyar")
	}
	else if(Nyelv[id] == 2) {
		formatex(Temp, 191, "\yNyelv: \wEnglish \d| \rMagyar")
	}
	menu_additem(menu, Temp, "0", 0); // case 0

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public settingmenu_handler(id, menu, item)
{
	new command[6], name[64], access, callback;

	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

	switch(item)
	{
		case 0: 
		{
		if(Nyelv[id] == 1) {
			print_color(id, "!g%s !ySikeresen átálítottad a nyelvet !tMagyarra!", SZERVERPREFIX)
			Nyelv[id] = 2;
		}
		else if(Nyelv[id] == 2) {
			print_color(id, "!g%s !yYou have successfully translated the language into !tEnglish", SZERVERPREFIX)
			Nyelv[id] = 1;
		}
		}
	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;
}

public client_connect(id) Nyelv[id] = 1


stock print_color(const id, const input[], any:...)
{
        new count = 1, players[32]
        static msg[191]
        vformat(msg, 190, input, 3)
 
        replace_all(msg, 190, "!g", "^4")
        replace_all(msg, 190, "!y", "^1")
        replace_all(msg, 190, "!t", "^3")    
 
        if (id) players[0] = id; else get_players(players, count, "ch")
        {
                for (new i = 0; i < count; i++)
                {
                        if (is_user_connected(players[i]))
                        {
                                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                                write_byte(players[i])
                                write_string(msg)
                                message_end()
                        }
                }
        }
        return PLUGIN_HANDLED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
