- /* 
- Alap:  			Kezdõ hp: a = 200 
- 			+ hp:  b = 100 
- 			törlés: Halálkor 
- 			vissza töltõdés: vki meghal, kör elején 
- 			+ adotság: Korlátozás: Max = 1200 HP 
-   
- Kapzsi: 		Kezdõ hp: 3b = 300 
- 			+ hp: c = 10 
- 			törlés: Soha 
- 			vissza töltõdés: vki meghal, kör elején 
- 			+ adotság: Nincs 
-   
- 1x fent, 1x lent:	Kezdõ hp: b =100 
- 			+ hp: 2a = 400 
- 			törlés: Kör elején 
- 			vissza töltõdés: vki meghal, kör elején 
- 			+ adotság: Korlátozás: Max = 1200 HP 
-   
- Láma:			Kezdõ hp: 3a = 600 
- 			+ hp: 0 
- 			törlés: Kör elején 
- 			vissza töltõdés: vki meghal, kör elején 
- 			+ adotság: Nincs 
-   
- Pro:			Kezdõ hp: 1 
- 			+ hp: 5a = 1000 
- 			törlés: Halálkor 
- 			vissza töltõdés: vki meghal, kör elején 
- 			+ adotság: Korlátozás: Max = 2001 HP 
-   
- Kemény:			Kezdõ hp: 5a + 5b = 1500 
- 			+ hp: 0 
- 			törlés: Kör elején 
- 			vissza töltõdés: csak kör elején 
- 			+ adotság: Nincs 
-   
- Gránátos: 		Kezdõ hp: 3b = 300 
- 			+ hp: c = 10 
- 			törlés: Halálkor 
- 			vissza töltõdés: vki meghal, kör elején 
- 			+ adotság: Kap 1 HE, 1 SG és 1 Flas gránátot, ha meghal valaki, vagy kör eleje van. 
-   
- Leállíthatatlan		Kezdõ hp: 25a = 5000 
- 			+ hp: 2b = 200 
- 			törlés: Kör elején 
- 			vissza töltõdés: 10 mp-ként, kör elején 
- 			+ adotság: 10 mp-ként b = 100 Hp-t veszít 
- */ 
-   
- #include <amxmodx> 
- #include <amxmisc> 
- #include <fun> 
-   
- #define PLUGIN "HP mod" 
- #define VERSION "1.0" 
- #define AUTHOR "VP" // Vagy: Itep 
-   
- new players[32], pnum, hp, pl[32], pclass[32], pci[32] 
-   
- new a_elet, b_elet, be_ki, vote_ido, c_elet 
-   
- new HPVoteMenu, HPVotes[2], HPVoting 
-   
- new const CLASSES[8][] = { 
-     "Alap",  // 0 
-     "Kapzsi", // 1 
-     "1x fent, 1x lent",  // 2 
-     "La'ma",  // 3 
-     "Pro",  // 4 
-     "Keme'ny",  // 5 
-     "Gra'na'tos",  // 6 
-     "Lea'lli'thatatlan" // 7 
- } 
-   
- public plugin_init() { 
- 	register_plugin(PLUGIN, VERSION, AUTHOR) 
-   
- 	set_task(0.5,"elet",0,"param",1,"b") 
- 	set_task(10.0,"lea",1,"param",1,"b") 
-   
- 	register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")  
- 	register_event("DeathMsg","halal","a") 
-   
- 	register_concmd("hp_vote", "StartVote") 
- 	register_concmd("hp_jatekosok", "cmd_jatekosok") 
- 	register_clcmd("say /faj", "ChangeClass")  
- 	register_clcmd("say_team /faj", "ChangeClass") 
- 	register_clcmd("hp_faj", "cmd_faj", ADMIN_SLAY,"<Id> <Faj (0-8)>") 
-   
- 	a_elet = register_cvar("hp_a_elet","200") 
- 	b_elet = register_cvar("hp_b_elet","100") 
- 	c_elet = register_cvar("hp_c_elet", "10") 
- 	be_ki = register_cvar("hp_mod","0") 
- 	vote_ido = register_cvar("hp_vote_ido", "15.0") 
-   
- 	set_task(15.0, "StartVote") 
-   
- } 
-   
- public cmd_faj(id,level,cid) 
- { 
- 	if(!get_pcvar_num(be_ki)) return PLUGIN_HANDLED; 
- 	if (!cmd_access(id,level,cid,3)) return PLUGIN_HANDLED; 
-   
- 	new arg1[3] 
- 	new arg2[3] 
-   
- 	read_argv(1,arg1,2) 
- 	read_argv(2,arg2,2) 
-   
- 	new player = str_to_num(arg1) 
- 	new fajid = str_to_num(arg2) 
- 	if ((player<33) && (player>0) && (fajid<9) && (fajid>-1)) {  
- 		pci[player]=fajid 
- 		client_print(player,print_chat,"Kovetkezo kortol a te uj fajod: %s",CLASSES[fajid])  
- 		new nev[32] 
- 		get_user_name(player,nev,31) 
- 		client_print(id,print_console,"Kovetkezo kortol %s-nek az uj faja: %s",nev,CLASSES[fajid]) 
- 	} else { 
- 	 	console_print(id," Nem lehet! ") 
- 		return PLUGIN_HANDLED 
- 		} 
-   
- 	return PLUGIN_HANDLED	 
- } 
-   
-   
- public ChangeClass(id)  
- { 
- 	if(!get_pcvar_num(be_ki)) return PLUGIN_HANDLED; 
- 	new menu = menu_create("Faj Menu" , "Class_Handle") 
- 	menu_additem(menu ,"Alap", "0" , 0) 
- 	menu_additem(menu ,"Kapzsi", "1" , 0)  
- 	menu_additem(menu ,"1x fent, 1x lent", "2" , 0) 
- 	menu_additem(menu ,"La'ma", "3" , 0) 
- 	menu_additem(menu ,"Pro", "4" , 0) 
- 	menu_additem(menu ,"Keme'ny", "5" , 0) 
- 	menu_additem(menu ,"Gra'na'tos", "6" , 0) 
- 	menu_additem(menu ,"Lea'li'thatatlan", "7" , 0) 
- 	menu_setprop(menu , MPROP_EXIT , MEXIT_ALL) 
- 	menu_display(id , menu , 0)  
- 	return PLUGIN_CONTINUE;  
- }  
-   
- public Class_Handle(id , menu , item)  
- {  
- 	if(item == MENU_EXIT) menu_destroy(menu) 
- 	new data[6], szName[64] 
- 	new aces, callback 
- 	menu_item_getinfo(menu, item, aces, data,charsmax(data), szName,charsmax(szName), callback) 
- 	new i = str_to_num(data) 
- 	pci[id] = i 
- 	client_print(id,print_chat,"Kovetkezo kortol a te uj fajod: %s",CLASSES[i])  
- 	menu_destroy(menu)  
- 	return PLUGIN_CONTINUE; 
- }  
-   
- public vp_hp(elet) 
- { 
- 	get_players(players, pnum, "ah") 
- 	for(new i=0; i<pnum; i++) { 
-   
- 		switch(pclass[players[i]]) { 
- 		case 0:	{ 
- 			if (pl[players[i]]>10) pl[players[i]]=10 // Korlátozás: Max = 1200 HP 
- 			set_user_health(players[i],elet + pl[players[i]]*get_pcvar_num(b_elet))  //Alap 
- 			} 
- 		case 1:	{ 
- 			set_user_health(players[i],3*get_pcvar_num(b_elet) + pl[players[i]]*get_pcvar_num(c_elet)) //Kapzsi 
- 			} 
- 		case 2:	{ 
- 			if (pl[players[i]]>3) pl[players[i]]=3 // Korlátozás: Max = 1500 HP 
- 			set_user_health(players[i],get_pcvar_num(b_elet) + pl[players[i]]*get_pcvar_num(a_elet)*2) //1xFent1xLent 
- 			} 
- 		case 3:	{ 
- 			set_user_health(players[i],3*elet) // Láma 
- 			} 
- 		case 4:	{ 
- 			if (pl[players[i]]>2) pl[players[i]]=2 // Korlátozás: Max = 2001 HP 
- 			set_user_health(players[i],1 + pl[players[i]]*get_pcvar_num(a_elet)*5) //Pro 
- 			} 
- 		/* case 5:	{ 
- 			Csak kör elején kap Hp-t! //Kemény 
- 			} */ 
- 		case 6:	{ 
- 			set_user_health(players[i],3*get_pcvar_num(b_elet) + pl[players[i]]*get_pcvar_num(c_elet) ) //Gránátos 
- 			give_item(players[i],"weapon_hegrenade") 
- 			give_item(players[i],"weapon_smokegrenade") 
- 			give_item(players[i],"weapon_flashbang") 
- 			} 
- 		/* case 7: { 
- 			Csak kör elején kap Hp-t! //Leállíthatatlan 
- 			} */ 
- 	} 
-   
-   
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public StartVote(id) 
- { 
- 	if( HPVoting ) 
- 	{ 
- 		client_print(id, print_chat, "Sajnalom, a szavazas mar folyamatban van!") 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	HPVoteMenu = menu_create("\rLegyen HP mod?", "mh") 
-   
- 	menu_additem(HPVoteMenu, "Legyen!", "0", 0) 
- 	menu_additem(HPVoteMenu, "Ne legyen.", "1", 0) 
-   
- 	new tempid 
-   
- 	get_players(players, pnum) 
- 	for( new i; i<pnum; i++ ) 
- 	{ 
- 		tempid = players[i] 
- 		menu_display(tempid, HPVoteMenu, 0) 
- 		HPVoting++; 
- 	} 
- 	new Float:ido = get_pcvar_float(vote_ido) 
- 	set_task(ido, "EndVote") 
-   
- 	return PLUGIN_CONTINUE; 
-  } 
-   
- public mh(id, menu, item) 
- { 
- 	if( item == MENU_EXIT || !HPVoting ) 
- 	{ 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	new data[6], szName[64] 
- 	new aces, callback 
- 	menu_item_getinfo(menu, item, aces, data,charsmax(data), szName,charsmax(szName), callback) 
- 	new voteid = str_to_num(data) 
- 	HPVotes[voteid]++ 
-   
- 	return PLUGIN_CONTINUE; 
-  } 
- public EndVote() 
- { 
-   
- 	client_print(0, print_chat, "%d ember szeretne HP mod-ozni!", HPVotes[0] ) 
- 	client_print(0, print_chat, "%d ember nem szerten HP mod-ozni!", HPVotes[1] ) 
-   
- 	if( HPVotes[0] > HPVotes[1] ) { 
- 		set_pcvar_num(be_ki, 1)  
- 		vp_hp(get_pcvar_num(a_elet))	 
- 	} else  if( HPVotes[0] < HPVotes[1] ) set_pcvar_num(be_ki, 0)  
- 		else client_print(0, print_chat, "A szavazas sikertelen!") 
-   
- 	menu_destroy(HPVoteMenu) 
- 	HPVoting = 0; 
-   
- } 
-   
- public elet(param) 
- { 
-     get_players(players, pnum, "ah") 
-     for(new i=0; i<pnum; i++) { 
-     	hp = get_user_health(players[i]) 
- 	new b  
- 	if (hp>255) { 
- 		set_hudmessage(85, 255, 85, 0.035, 0.9) 
- 		show_hudmessage(players[i], "%d HP", hp) 
- 		b = 1 
- 	} else if (b==1) {  
- 		set_hudmessage(85, 255, 85, 0.035, 0.9) 
- 		show_hudmessage(players[i], "       ")	 
- 		b = 0 
- 		} 
- 	} 
- } 
-   
- public lea(param) 
- { 
- 	get_players(players, pnum, "ah")  
- 	for(new i=0; i<pnum; i++)   
- 	if (pclass[players[i]] == 7) {  
- 	if (get_user_health(players[i]) > 100)  
- 	set_user_health(players[i],get_user_health(players[i])-get_pcvar_num(b_elet)+get_pcvar_num(b_elet)*2*pl[players[i]]) 
- 	pl[players[i]] = 0 
- 	} 
- } 
-   
-   
- public round_start() 
- { 
- 	if(!get_pcvar_num(be_ki)) return PLUGIN_HANDLED; 
-   
- 	get_players(players, pnum, "ah")  
- 	for(new i=0; i<pnum; i++)  { 
- 		if (pclass[players[i]] != pci[players[i]]) { 
- 			pclass[players[i]] = pci[players[i]] 
- 			pl[players[i]]=0 
- 			} 
-   
- 		switch(pclass[players[i]]) { 
- 			/* case 0:	{ 
- 				 Halálkor törlõdik //Alap 
- 				} */ 
- 			/* case 1:	{ 
- 				 Soha nem törlõdik. //Kapzsi 
- 				} */ 
- 			case 2:	{ 
- 				 pl[players[i]] = 0 //1xFent1xLent 
- 				} 
- 			case 3:	{ 
- 				 pl[players[i]] = 0 // Láma 
- 				}  
- 			/* case 4:	{ 
- 				 Halálkor törlõdik //Pro 
- 				} */ 
- 			case 5:	{ 
- 				 pl[players[i]] = 0 //Kemény 
- 				}  
- 			/* case 6:	{ 
- 				 Halálkor törlõdik //Gránátos 
- 				} */ 
- 			case 7:	{ 
- 				 pl[players[i]] = 0 //Leállíthatatlan 
- 				}  
- 		}  
-   
- 		client_print(players[i], print_chat, "A fajod: %s", CLASSES[pclass[players[i]]]) 
- 		client_print(players[i], print_chat, "/faj parancsal tudod meváltoztatni.") 
-   
- 		if (pclass[players[i]] == 5) set_user_health(players[i],5*get_pcvar_num(a_elet) + 5*get_pcvar_num(b_elet)) 
- 		if (pclass[players[i]] == 7) set_user_health(players[i],get_pcvar_num(a_elet)*25 - pl[players[i]]*get_pcvar_num(b_elet)) 
- 	}	 
- 	vp_hp(get_pcvar_num(a_elet)) 
- 	return PLUGIN_CONTINUE; 
- } 
-   
-   
- public halal() 
- { 
- 	if(!get_pcvar_num(be_ki)) return PLUGIN_HANDLED;  
-   
- 	new tamado = read_data( 1 )  
- 	new halott = read_data( 2 ) 
- 	new headshot = read_data( 3 ) 
-   
- 	client_print(halott, print_chat, "A tamadod a %d HP-javal a %s fajba tartozik.", get_user_health(tamado), CLASSES[pclass[tamado]]) 
- 	if (tamado != 0) client_print(tamado, print_chat, "Akit megoltel az a(z) %s fajba tartozik.", CLASSES[pclass[halott]]) 
-   
- 	if(get_user_team(tamado) != get_user_team(halott)) { 
- 		pl[tamado]++ 
- 		if (headshot) pl[tamado]++ 
- 		} 
-   
- 	vp_hp(get_pcvar_num(a_elet)) 
-   
- 	switch(pclass[halott]) { 
- 			case 0:	{ 
- 				 pl[halott] = 0 //Alap 
- 				}  
- 			/* case 1:	{ 
- 				 Soha nem törlõdik. //Kapzsi 
- 				} */ 
- 			/* case 2:	{ 
- 				 Kör elején törlõdik //1xFent1xLent 
- 				} */ 
- 			/* case 3:	{ 
- 				 Kör elején törlõdik  // Láma 
- 				} */ 
- 			case 4:	{ 
- 				 pl[halott] = 0  //Pro 
- 				}  
- 			/* case 5:	{ 
- 				 Kör elején törlõdik  //Kemény 
- 				} */ 
- 			case 6:	{ 
- 				 pl[halott] = 0  //Gránátos 
- 				}  
- 			/* case 7:	{ 
- 				 Kör elején törlõdik // Leállíthatatlan 
- 				} */ 
- 	} 
-   
- 	return PLUGIN_CONTINUE; 
- } 
-   
- public cmd_jatekosok(id,level,cid) 
- { 
- 	if(!get_pcvar_num(be_ki)) return PLUGIN_HANDLED; 
- 	get_players(players, pnum, "h")  
- 	for(new i=0; i<pnum; i++)  { 
- 		new nev[32] 
- 		get_user_name(players[i],nev,31) 
- 		client_print(id,print_console,"%d: %s-nak/nek a faja: %s.",players[i], nev,CLASSES[pclass[players[i]]]) 
- 	} 
- 	return PLUGIN_CONTINUE; 
- } 
-