#include <amxmodx>
#include <amxmisc>
#include <fun>
 
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Demon"
 
#define ADMIN_JOG ADMIN_KICK
 
new g_menuPozicio[33]
new g_menuJatekosok[33][32]
new g_menuJatekosSzam[33]
new g_menuBeallitas[33]
new g_menuBeallitas2[33]
 
#define FRAGSZAM 6
#define HPSZAM 6
 
new const fragadas[FRAGSZAM] = {
	0,
	1,
	2,
	5,
	10,
	15
}
new const hpadas[HPSZAM] = {
	0,
	5,
	10,
	15,
	50,
	100
}
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
 
	register_menucmd(register_menuid("HP, Frag Adas"), 1023, "muveletHpFragAdas")
 
	register_clcmd("say /menu", "HpFragAdas")
	register_clcmd("team_say /menu", "HpFragAdas")
}
 
public HpFragAdas(id)
{
	if(!(get_user_flags(id) & ADMIN_JOG))
		return PLUGIN_HANDLED
 
	g_menuBeallitas[id] = 0
	g_menuBeallitas2[id] = 0
 
	kijelzoHpFragAdas(id, g_menuPozicio[id] = 0)
 
	return PLUGIN_HANDLED
}
 
public kijelzoHpFragAdas(id, poz)
{
	if (poz < 0)
		return
 
	get_players(g_menuJatekosok[id], g_menuJatekosSzam[id], "c")
 
	new menuBody[768]
	new b = 0
	new jatekos_id
	new nev[32]
	new start = poz * 6
 
	if (start >= g_menuJatekosSzam[id])
		start = poz = g_menuPozicio[id] = 0
 
	new len = format(menuBody, 767, "\yHP, Frag Adas \r%d/%d^n\w^n", poz + 1, (g_menuJatekosSzam[id] / 6 + ((g_menuJatekosSzam[id] % 6) ? 1 : 0)))
	new end = start + 6
	new keys = MENU_KEY_0|MENU_KEY_8|MENU_KEY_7
 
	if (end > g_menuJatekosSzam[id])
		end = g_menuJatekosSzam[id]
 
	for (new a = start; a < end; ++a)
	{
		jatekos_id = g_menuJatekosok[id][a]
		get_user_name(jatekos_id, nev, 31)
 
		keys |= (1<<b)
 
		len += format(menuBody[len], 767-len, "%d. %s^n", ++b, nev)
	}
	len += format(menuBody[len], 767-len, "^n7. %s^n", g_menuBeallitas[id] ? "Frag adas" : "HP adas")
	len += format(menuBody[len], 767-len, "^n8. %d^n", g_menuBeallitas[id] ? fragadas[g_menuBeallitas2[id]] : hpadas[g_menuBeallitas2[id]])
 
	if (end != g_menuJatekosSzam[id])
	{
		format(menuBody[len], 767-len, "^n9. Tovabb...^n0. %s", poz ? "Vissza" : "Kilepes")
		keys |= MENU_KEY_9
	}
	else
		format(menuBody[len], 767-len, "^n0. %s", poz ? "Vissza" : "Kilepes")
 
	show_menu(id, keys, menuBody, -1, "HP, Frag Adas")
}
 
public muveletHpFragAdas(id, bill)
{
	switch (bill)
	{
		case 6:
		{
			if(g_menuBeallitas[id]==0)
				g_menuBeallitas[id]=1
			else
				g_menuBeallitas[id]=0
			g_menuBeallitas2[id]=0
 
			kijelzoHpFragAdas(id, g_menuPozicio[id])
		}
		case 7:
		{
			g_menuBeallitas2[id]++;
			if(g_menuBeallitas[id]==0)
			{
				if(g_menuBeallitas[id]>HPSZAM-1)
					g_menuBeallitas[id]=0
			}
			else
			{
				if(g_menuBeallitas2[id]>FRAGSZAM-1)
					g_menuBeallitas2[id]=0
			}
 
			kijelzoHpFragAdas(id, g_menuPozicio[id])
		}
		case 8: kijelzoHpFragAdas(id, ++g_menuPozicio[id])
		case 9: kijelzoHpFragAdas(id, --g_menuPozicio[id])
		default:
		{
			new jatekos = g_menuJatekosok[id][g_menuPozicio[id] * 6 + bill]
			new nev[32]
			get_user_name(id, nev, 31)
 
			if(g_menuBeallitas2[id]>0)
			{
				if(g_menuBeallitas[id]==0)
				{
					set_user_health(jatekos, get_user_health(jatekos) + hpadas[g_menuBeallitas2[id]])
					client_print(jatekos, print_chat, "ADMIN: %s megajandekozott teged %d HP-val.", nev, hpadas[g_menuBeallitas2[id]])
				}
				else
				{
					set_user_frags(jatekos, get_user_frags(jatekos) + fragadas[g_menuBeallitas2[id]])
					client_print(jatekos, print_chat, "ADMIN: %s megajandekozott teged %d Fraggel.", nev, fragadas[g_menuBeallitas2[id]])
				}
			}
 
			kijelzoHpFragAdas(id, g_menuPozicio[id])
		}
	}
 
	return PLUGIN_HANDLED
}