#include <amxmodx>
#include <nvault>
#include <colorchat>

#define PLUGIN	"Czas Gracza"
#define VERSION	"1.0"
#define AUTHOR	"Play"

new czas_gry[33];
new g_vault;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /czasgry","pokaz_czas_gry");
	register_clcmd("say /czas","pokaz_czas_gry");
	
	g_vault = nvault_open("SPPT");
	
	if (g_vault == INVALID_HANDLE)
		set_fail_state( "Nie udalo sie otworzyc pliku nvault!");
}

public client_connect(id)
{
	wczytaj_czas_gry(id);
	set_task(250.0, "pokaz_czas_gry", id,_,_,"b");
}
public client_disconnect(id)
{
	zapisz_czas_gry(id);
	czas_gry[id] = 0;

	if(task_exists(id))
		remove_task(id);
}

public wczytaj_czas_gry(id)
{
	new name[35],vaultkey[64],vaultdata[256];
	
	get_user_name(id,name,34);
	format(vaultkey,63,"%s-gametime",name);
	
	nvault_get(g_vault,vaultkey,vaultdata,255);
	
	czas_gry[id] = str_to_num(vaultdata);
	
	return PLUGIN_CONTINUE;
}


public zapisz_czas_gry(id)
{
	new name[35],vaultkey[64],vaultdata[256];
	
	get_user_name(id,name,34);
	czas_gry[id] += get_user_time(id, 1);
	
	format(vaultkey,63,"%s-gametime",name);
	format(vaultdata, 255, "%d", czas_gry[id]);
	
	nvault_set(g_vault,vaultkey,vaultdata)
	
	czas_gry[id] = str_to_num(vaultdata);
	
	return PLUGIN_CONTINUE;
}

public pokaz_czas_gry(id)
{
	new sekundy = (czas_gry[id] + get_user_time(id, 1)), minuty, godziny;
	
	while(sekundy >= 60)
	{
		sekundy -= 60;
		minuty++;
		
	}
	while(minuty >= 60)
	{
		minuty -= 60;
		godziny++;
		
	}
	ColorChat(id, TEAM_COLOR, "[Czas]^x01 Grasz juz^x04 %i^x01 h^x04 %i^x01 min^x04 %i^x01 s na tym serwerze!", godziny, minuty, sekundy);
	
	return PLUGIN_HANDLED;
}

public plugin_end()
        nvault_close(g_vault);
