/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <ColorChat>


#define PLUGIN "Oddaj Perk"
#define VERSION "1.0"
#define AUTHOR "Play"

new bool:dostal_przedmiot[33];
new oddaj_id[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /oddaj", "OddajPerk");
	register_clcmd("say /daj", "OddajPerk");
	
	register_event("ResetHUD", "cod_perk_changed", "abe");
}

public OddajPerk(id)
{
	new menu = menu_create("Przekazywanie Perku", "OddajPerk_Handle");
	new cb = menu_makecallback("OddajPerk_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_id[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_setprop(menu,MPROP_NUMBER_COLOR,"\y");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
}

public cod_perk_changed(id)
	dostal_przedmiot[id] = false;

public OddajPerk_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_connected(oddaj_id[item]))
	{
		ColorChat(id, TEAM_COLOR, "[COD Elite]^x01 Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiot[id])
	{
		ColorChat(id, TEAM_COLOR, "[COD Elite]^x01 Musisz odczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	new wartosc_perku_dajacego;
	new perk_dajacego = cod_get_user_perk(id, wartosc_perku_dajacego);
	
	if(!perk_dajacego)
	{
		ColorChat(id, TEAM_COLOR, "[COD Elite]^x01 Nie masz zadnego perku.");
		return PLUGIN_CONTINUE;
	}
	
	new nazwa_dajacego[64];
	new nazwa_otrzymujacego[64];
	
	get_user_name(id, nazwa_dajacego, 63)
	get_user_name(oddaj_id[item], nazwa_otrzymujacego, 63)
	
	dostal_przedmiot[oddaj_id[item]] = true;
	cod_set_user_perk(oddaj_id[item], perk_dajacego, wartosc_perku_dajacego, 0);
	ColorChat(id, TEAM_COLOR, "[COD Elite]^x01 Przekazales perk graczowi^x04 %s", nazwa_otrzymujacego);
	ColorChat(oddaj_id[item], TEAM_COLOR, "[COD Elite]^x01 Otrzymales perk od gracza^x04 %s", nazwa_dajacego);
	cod_set_user_perk(id, 0);
	return PLUGIN_CONTINUE;
}

public OddajPerk_Callback(id, menu, item)
{
	if(oddaj_id[item] == id || !cod_get_user_class(oddaj_id[item]) || cod_get_user_perk(oddaj_id[item]))
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
