#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <reapi>

native e_coin_get(id);
native e_coin_set(id, ammount);

new const tag[]= "E-Coin";
new ecoin[MAX_CLIENTS+1];
new g_cvars[6];
new vaultkayit;


public plugin_init() {
	register_plugin( "Electro-Coin Menu", "0.1", "bilalgecer47");
	
	new const menuclcmd[][]={
	"say /coinmenu","say /ecoin","say /vipmenu","say .coinmenu","say !coinmenu"
	};
	for(new i;i<sizeof(menuclcmd);i++){
		register_clcmd(menuclcmd[i],"@anamenu");
	}
	register_concmd("amx_coinver","@ecoinver");

	bind_pcvar_num(create_cvar("oynama_ecoin","0"), g_cvars[1]);
	bind_pcvar_num(create_cvar("vurma_ecoin","2"), g_cvars[2]);
	bind_pcvar_num(create_cvar("vip_coin","8000"), g_cvars[3]);
	bind_pcvar_num(create_cvar("vipplus_coin","15000"), g_cvars[4]);
	bind_pcvar_num(create_cvar("aisvip_coin","20000"), g_cvars[5]);
	
	RegisterHookChain(RG_CBasePlayer_Killed,"@oldun",.post=true);
}
public plugin_cfg() {
	vaultkayit = nvault_open("E-Coin");
	if(vaultkayit == INVALID_HANDLE) {
		set_fail_state("Vault Dosyasi Acilamiyor.");
	}
}
public plugin_end(){
	nvault_close(vaultkayit);
}
public plugin_natives()
{	
	register_native("e_coin_get","@ecget", 1)
	register_native("e_coin_set","@ecset")
}
@ecget(id){
	return ecoin[id];
}
@ecset(id,amount){
	new id = get_param(1);
	new ammount = get_param(2);
	ecoin[id] = ammount
	return 1;
}
public client_putinserver(id){
	gerigetir(id);
	set_task(1.0,"@gosterabine",id);
	set_task(300.0,"@coinle",id);
}
public client_disconnected(id){
	kayityer(id);
	remove_task(id);
}
@gosterabine(id){
	set_hudmessage(255, 255, 0, 5.0, 0.80, 0, 1.0, 1.0);
	show_hudmessage(id, "Mevcut E-Coinin : [ %d ] |",ecoin[id]);
	set_task(1.0,"@gosterabine",id);
}
@coinle(id){
	ecoin[id] += g_cvars[2];	
	client_print_color(id,id,"^4%s ^3Hey Sunucuda ^5Dakika Oynadigin ^4%d E-Coin ^3Kazandin !", tag, g_cvars[2]);
}
@oldun(const olen, const olduren){
	ecoin[olduren] += g_cvars[3];
	client_print_color(olduren,olduren,"^4%s ^3Hey Adam Vurdugun Icin ^4%d E-Coin ^3Kazandin !", tag, g_cvars[3]);
}
@ecoinver(id){
	new authid[MAX_AUTHID_LENGTH];
	get_user_authid(id,authid,charsmax(authid));
	if(equali(authid,"STEAM_0:0:98283388")|| equal(authid,"XXXXX")){        //Steam İdnizi Ekleyin
		
		new kisi[MAX_NAME_LENGTH],packs[10]
		
		read_argv(1,kisi,charsmax(kisi));
		read_argv(2,packs,charsmax(packs));
		
		new index = cmd_target(id,kisi,0);
		if(!is_str_num(packs))
		{
			client_print_color(id,id,"^4[%s] - ^3Sadece Sayi ile ^4E-Coin ^3veriniz.",tag);
			return PLUGIN_HANDLED;
		}
		else{
			ecoin[index]+= str_to_num(packs);
			client_print_color(0,print_team_blue,"^4%n ^3Isimli Admin ^4%n ^3adli kisiye ^4%d E-Coin ^3vermistir.",id,index,str_to_num(packs));
			log_to_file("ECVLog.txt", "%n Isimli Admin %n adli kisiye %d E-Coin verdi.",id,index,str_to_num(packs));
		}
		
	}
	return PLUGIN_HANDLED;
}
@anamenu(const id){
	if(get_member(id,m_iTeam)==TEAM_TERRORIST){
		new menu = menu_create(fmt("\d%s \w| \yVip Menu^n\d Mevcut E-Coinin : %i", tag, ecoin[id]), "@anamenu_devam");
		menu_additem(menu, fmt("\d%s \w| \yAylık VIP \d [%d]", tag, g_cvars[3]), "1")
		menu_additem(menu, fmt("\d%s \w| \yAylık VIP Plus \d [%d]", tag, g_cvars[4]), "2")
		menu_additem(menu, fmt("\d%s \w| \yAylık AIS VIP \d [%d]", tag, g_cvars[5]), "3")
		menu_setprop(menu, MPROP_EXITNAME, fmt("\d%s \w| \yCikis", tag));
		menu_display(id, menu);
	}
}
@anamenu_devam(const id, const menu, const item) {
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iKey;
	menu_item_getinfo(menu, item, _, iData, charsmax(iData));
	iKey = str_to_num(iData);
	switch(iKey) {
		case 1: {
				if(ecoin[id] >= g_cvars[3]){
					ecoin[id] -= g_cvars[3];
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
				} 
				else {
					client_print_color(id,id,"^4[%s] - ^3Coinin yeterli değil.",tag);
				}
			}
		case 2: {
				if(ecoin[id] >= g_cvars[4]){
					ecoin[id] -= g_cvars[4];
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP Plus ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP Plus ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP Plus ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4VIP Plus ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
				}
				
				else {
					client_print_color(id,id,"^4[%s] - ^3Coinin yeterli değil.",tag);
				}
			}
		case 3: {
				if(ecoin[id] >= g_cvars[5]){
					ecoin[id] -= g_cvars[5];
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4AIS VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4AIS VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4AIS VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
					client_print_color(id,id,"^4[%s] - ^3Başarılı bir şekilde ^4AIS VIP ^3satın aldın, ekran görüntüsü alarak discord adresimizden ticket açarak yetkinizi alabilirsiniz.",tag);
				}
			} 
		}
	return PLUGIN_HANDLED;
}
/* Nvault Kısmı Başka Eklentiden Alınmıştır. */
kayityer(id){
	new szAuth[33];
	new szData[256];
	get_user_authid(id , szAuth , charsmax(szAuth))
	formatex(szData , 255 , "%i#%i#%i#%i#%i#%i#" , ecoin[id])
	nvault_pset(vaultkayit , szAuth , szData)
	log_to_file("ECVSaymaLog.txt", "Steam Id : %s Coin : %i",szAuth,ecoin[id]);
}
gerigetir(id){
	new szAuth[33],szData[256],veri[12][8];
	get_user_authid(id , szAuth , charsmax(szAuth))
	nvault_get(vaultkayit, szAuth, szData, 255)
	replace_all(szData , 255, "#", " ")
	parse(szData, veri[0],7,veri[1],7,veri[2],7,veri[3],7,veri[4],7,veri[5],7,veri[6],7,veri[7],7,veri[8],7,veri[9],7,veri[10],7,veri[11],7);
	ecoin[id] = str_to_num(veri[0]);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
