#include <amxmodx>
#include <amxmisc>

#include <codmod>
#tryinclude <colorchat>

#define PLUGIN	"[COD] Hello exp"
#define AUTHOR	"Nomaf"
#define VERSION	"1.0"

new gcvarMode, gcvarWho, gcvarInfo, gcvarExp

new iExp[33], szPass[64]

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	gcvarMode = register_cvar("cod_hello_mode", "1") // 0 - wylaczony, 1 - co x osoba, 2 - jedna osoba
	gcvarWho = register_cvar("cod_hello_who", "4") // kto ma dostac?
	gcvarInfo = register_cvar("cod_hello_info", "1") // wyswietlac info? 0 - nie, 1 - zwykly chat, 2 - kolorowy chat
	gcvarExp = register_cvar("cod_hello_exp", "5") // ile expa ma dodawac?
}

public plugin_cfg()
{
	new szCFGLoc[33]
	get_configsdir(szCFGLoc, charsmax(szCFGLoc))
	server_cmd("exec %s/codmod.cfg", szCFGLoc)
	server_exec()
}

public client_connect(id)
{
	new szName[64]
	get_user_name(id, szName, sizeof szName - 1)
	
	if (equal(szName, szPass))
		return
	
	new iMode = get_pcvar_num(gcvarMode)
	new iValue = get_pcvar_num(gcvarExp)
	new iInfo = get_pcvar_num(gcvarInfo)
	
	iExp[id] = 0
	
	switch(iMode)
	{
		case 1:
		{
			new iTurn = get_pcvar_num(gcvarWho)
			
			for(new i = 1; i <= get_maxplayers();)
			{
				if (i == id)
				{
					iExp[id] = iValue
					switch(iInfo)
					{
						case 1: client_print(id, print_chat, "Jestes szczesciarzem! Dostaniesz %i expa, jak wybierzesz klase!", iExp[id])
						case 2: ColorChat(id, TEAM_COLOR, "Jestes szczesciarzem! Dostaniesz %i expa, jak wybierzesz klase!", iExp[id])
					}
				}
				
				i += iTurn
			}
		}
		case 2:
		{
			new iWho = get_pcvar_num(gcvarWho)
			
			if (iWho == id)
			{
				iExp[id] = iValue
				switch(iInfo)
				{
					case 1: client_print(id, print_chat, "Jestes szczesciarzem! Dostaniesz %i expa, jak wybierzesz klase!", iExp[id])
					case 2: ColorChat(id, TEAM_COLOR, "Jestes szczesciarzem! Dostaniesz %i expa, jak wybierzesz klase!", iExp[id])
				}
			}
		}
	}
}

public client_disconnect(id)
	get_user_name(id, szPass, sizeof szPass - 1)

public cod_class_changed(id)
{
	if (iExp[id] > 0)
		cod_set_user_xp(id, cod_get_user_xp(id) + iExp[id])
	
	iExp[id] = 0
}