#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Regisztracios Rendszer"
#define VERSION "1.27"
#define AUTHOR "DeRoiD"

#define VilagHaboru 1914

#pragma semicolon 1

new Felhasznalo[3][33][32], Jelszo[3][33][32], MenuMod[33], bool:Bejelentkezve[33], BeviteliMod[33], Ellenorizve[33];
new FajlUt[] = "addons/amxmodx/configs/deroidrm/regmenuadatok.ini";
new FajlUtParancsok[] = "addons/amxmodx/configs/deroidrm/regmenuparancsok.ini";
new FajlUtConsoleParancsok[] = "addons/amxmodx/configs/deroidrm/regmenuconparancsok.ini";
new Prefix[] = "DRR";
new Menuk[5], Cvarok[5], String[100][512];

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar("Register System", "DeRoiD", FCVAR_SERVER);
	
	register_clcmd("REGFELHASZNALO", "Adatok");
	register_clcmd("REGJELSZO", "Adatok");
	register_clcmd("LOGFELHASZNALO", "Adatok");
	register_clcmd("LOGJELSZO", "Adatok");
	register_clcmd("UJ_JELSZO", "Adatok");
	register_clcmd("REGI_JELSZO", "Adatok");
	
	register_clcmd("say", "Parancsok");
	register_clcmd("say_team", "Parancsok");
	
	Menuk[0] = register_menuid("FoMenu");
	register_menucmd(Menuk[0], 1023, "FoMenu");
	Menuk[1] = register_menuid("RegMenu");
	register_menucmd(Menuk[1], 1023, "RegMenu");
	Menuk[2] = register_menuid("LogMenu");
	register_menucmd(Menuk[2], 1023, "LogMenu");
	Menuk[3] = register_menuid("KiMenu");
	register_menucmd(Menuk[3], 1023, "KiMenu");
	Menuk[4] = register_menuid("JVMenu");
	register_menucmd(Menuk[4], 1023, "JVMenu");
	
	Cvarok[0] = register_cvar("AdatHossz", "3");
	Cvarok[1] = register_cvar("SotetKepernyo", "0");
	Cvarok[2] = register_cvar("FelhasznaloMod", "0");
	Cvarok[3] = register_cvar("NincsNevValtas", "0");
	Cvarok[4] = register_cvar("Nyelv", "hu");
	
	set_task(random_float(80.0, 100.0), "Hirdetes", VilagHaboru, _, _, "b");
	register_forward(FM_ClientUserInfoChanged, "NevValtas");
	
	Ellenorzes();
	MenuBetoltes();
	ConsoleParancsok();
}
public Hirdetes()
{
	print_color(0, "!g[%s]!y %s", Prefix, String[23]);
}
public MenuBetoltes()
{
	new FajlUtString[64], Nyelv[32];
	get_pcvar_string(Cvarok[4], Nyelv, 31);
	if(equal(Nyelv, "hu") || equal(Nyelv, "en"))
	{
		format(FajlUtString, charsmax(FajlUtString), "addons/amxmodx/configs/deroidrm/regmenu_%s.ini", Nyelv);
	}
	else
	{
		format(FajlUtString, charsmax(FajlUtString), "addons/amxmodx/configs/deroidrm/regmenu_en.ini");
	}
	new OsszesSor, Sor, BString[512];
	OsszesSor = file_size(FajlUtString, 1);
	for(new Sorok; Sorok < OsszesSor; Sorok++)
	{
		read_file(FajlUtString, Sorok, BString, 511, Sor);
		format(String[Sorok], 511, "%s", BString);
	}
}
public ConsoleParancsok()
{
	new OsszesSor, Parancs[32], Sor;
	OsszesSor = file_size(FajlUtConsoleParancsok, 1);
	for(new Sorok; Sorok < OsszesSor; Sorok++)
	{
		read_file(FajlUtConsoleParancsok, Sorok, Parancs, 31, Sor);
		register_clcmd(Parancs, "ConsoleParancsTiltas");
	}
}
public ConsoleParancsTiltas(id)
{
	if(!Bejelentkezve[id])
	{
		print_color(id, "!g[%s]!y %s", Prefix, String[24]);
		Menu(id);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public Parancsok(id)
{
	new Parancs[32];
	read_args(Parancs, 31);
	remove_quotes(Parancs);
	if(equal(Parancs, "/reg") || equal(Parancs, "/register") || equal(Parancs, "/regisztralas"))
	{
		Menu(id);
	}
	new TiltottParancsok[128], Fajl, Sor, Lekeres[2][32];
	while((Fajl = read_file(FajlUtParancsok, Fajl, TiltottParancsok, 127, Sor)) != 0)
	parse(TiltottParancsok, Lekeres[0], 31, Lekeres[1], 31);
	if(equal(Parancs, Lekeres[0]) && !Bejelentkezve[id])
	{
		print_color(id, "!g[%s]!y %s", Prefix, String[24]);
		if(str_to_num(Lekeres[1]) == 1)
		{
			Menu(id);
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public Ellenorzes()
{
	if(!fopen(FajlUt, "r"))
	{
		write_file(FajlUt, "");
	}
	if(!fopen(FajlUtParancsok, "r"))
	{
		write_file(FajlUtParancsok, "");
	}
	if(!fopen(FajlUtConsoleParancsok, "r"))
	{
		write_file(FajlUtConsoleParancsok, "");
	}
}
public Menu(id)
{
	if(!Bejelentkezve[id] && get_pcvar_num(Cvarok[1]) == 1)
	{
		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0, 0, 0}, id);
		write_short(100000);
		write_short(100000);
		write_short(1<<2);
		write_byte(0);
		write_byte(0);
		write_byte(0);
		write_byte(255);
		message_end();
	}
	new MString[5][128], MenuString[512], Gomb;
	if(MenuMod[id] == 1 && !Bejelentkezve[id])
	{
		new Talalat;
		if(!equal(Felhasznalo[0][id], ""))
		{
			new Sor[256], Lekeres[32], Fajl;
			Fajl = fopen(FajlUt, "rt");
			while(!feof(Fajl))
			{
				fgets(Fajl, Sor, 255);
				if(Sor[0] == ';' || strlen(Sor) < 3)
					continue;
				parse(Sor, Lekeres, 31);
				if(equal(Lekeres, Felhasznalo[0][id]))
				{
					Talalat++;
				}
			}
			fclose(Fajl);
		}
		if(Talalat > 0)
		format(MString[0], 127, "\w%s^n%s^n^n", String[3], String[1]);
		else
		format(MString[0], 127, "\w%s^n%s^n^n", String[3], String[0][1]);
		format(MString[1], 127, "\y1. \r%s:\d %s^n", String[4], Felhasznalo[0][id]);
		format(MString[2], 127, "\y2. \r%s:\d %s^n^n", String[5], Jelszo[0][id]);
		format(MString[3], 127, "\y3. \r%s^n^n", String[6]);
		format(MString[4], 127, "\y0. \d%s", String[9]);
		add(MenuString, 511, MString[0]);
		add(MenuString, 511, MString[1]);
		add(MenuString, 511, MString[2]);
		add(MenuString, 511, MString[3]);
		add(MenuString, 511, MString[4]);
		Gomb = (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<9);
		show_menu(id, Gomb, MenuString, -1, "RegMenu");
	}
	else if(MenuMod[id] == 2 && !Bejelentkezve[id])
	{
		new Talalat;
		if(!equal(Felhasznalo[1][id], ""))
		{
			new Sor[256], Lekeres[32], Fajl;
			Fajl = fopen(FajlUt, "rt");
			while(!feof(Fajl))
			{
				fgets(Fajl, Sor, 255);
				if(Sor[0] == ';' || strlen(Sor) < 3)
					continue;
				parse(Sor, Lekeres, 31);
				if(equal(Lekeres, Felhasznalo[1][id]))
				{
					Talalat++;
				}
			}
			fclose(Fajl);
		}
		if(Talalat > 0)
		format(MString[0], 127, "\w%s^n%s^n^n", String[3], String[1]);
		else
		format(MString[0], 127, "\w%s^n%s^n^n", String[3], String[0][1]);
		format(MString[1], 127, "\y1. \r%s:\d %s^n", String[4], Felhasznalo[1][id]);
		format(MString[2], 127, "\y2. \r%s:\d %s^n^n", String[5], Jelszo[1][id]);
		format(MString[3], 127, "\y3. \r%s^n^n", String[7]);
		format(MString[4], 127, "\y0. \d%s", String[9]);
		add(MenuString, 511, MString[0]);
		add(MenuString, 511, MString[1]);
		add(MenuString, 511, MString[2]);
		add(MenuString, 511, MString[3]);
		add(MenuString, 511, MString[4]);
		Gomb = (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<9);
		show_menu(id, Gomb, MenuString, -1, "LogMenu");
	}
	else if(MenuMod[id] == 3 && Bejelentkezve[id])
	{
		format(MString[0], 127, "\w%s^n%s^n^n", String[3], String[2]);
		format(MString[1], 127, "\y1. \r%s:\d %s^n", String[12], Jelszo[1][id]);
		format(MString[2], 127, "\y2. \r%s:\d %s^n^n", String[13], Jelszo[0][id]);
		format(MString[3], 127, "\y3. \r%s^n^n", String[11]);
		format(MString[4], 127, "\y0. \d%s", String[9]);
		add(MenuString, 511, MString[0]);
		add(MenuString, 511, MString[1]);
		add(MenuString, 511, MString[2]);
		add(MenuString, 511, MString[3]);
		add(MenuString, 511, MString[4]);
		Gomb = (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<9);
		show_menu(id, Gomb, MenuString, -1, "JVMenu");
	}
	else if(!Bejelentkezve[id])
	{
		format(MString[0], 127, "\w%s^n^n", String[3]);
		format(MString[1], 127, "\y1. \r%s^n", String[6]);
		format(MString[2], 127, "\y2. \r%s^n^n", String[7]);
		format(MString[3], 127, "\y0. \d%s", String[10]);
		add(MenuString, 511, MString[0]);
		add(MenuString, 511, MString[1]);
		add(MenuString, 511, MString[2]);
		add(MenuString, 511, MString[3]);
		Gomb = (1<<0 | 1<<1 | 1<<2 | 1<<9);
		show_menu(id, Gomb, MenuString, -1, "FoMenu");
	}
	else
	{
		format(MString[0], 127, "\w%s^n%s^n^n", String[3], String[2]);
		format(MString[1], 127, "\y1. \r%s^n", String[8]);
		format(MString[2], 127, "\y2. \r%s^n^n", String[11]);
		format(MString[3], 127, "\y0. \d%s", String[10]);
		add(MenuString, 511, MString[0]);
		add(MenuString, 511, MString[1]);
		add(MenuString, 511, MString[2]);
		add(MenuString, 511, MString[3]);
		Gomb = (1<<0 | 1<<1 | 1<<2 | 1<<9);
		show_menu(id, Gomb, MenuString, -1, "KiMenu");
	}
}
public KiMenu(id, Gomb)
{
	Gomb++;
	switch(Gomb)
	{
		case 1:{
			Felhasznalo[2][id] = "";
			Jelszo[2][id] = "";
			JatekosNullazas(id);
			AlapFelhasznalo(id);
			Menu(id);
		}
		case 2:{
			MenuMod[id] = 3;
			Menu(id);
		}
		default:{
			show_menu(id, 0, "^n", 1);
		}
	}
}
public JVMenu(id, Gomb)
{
	Gomb++;
	switch(Gomb)
	{
		case 1:{
			MenuMod[id] = 3;
			BeviteliMod[id] = 5;
			client_cmd(id, "messagemode REGI_JELSZO");
			Menu(id);
		}
		case 2:{
			MenuMod[id] = 3;
			BeviteliMod[id] = 6;
			client_cmd(id, "messagemode UJ_JELSZO");
			Menu(id);
		}
		case 3:{
			if(strlen(Jelszo[0][id]) < get_pcvar_num(Cvarok[0]))
			{
				print_color(id, "!g[%s]!y %s", Prefix, String[14]);
				Menu(id);
				return PLUGIN_HANDLED;
			}
			else if(equal(Jelszo[2][id][id], Jelszo[1][id][id]))
			{
				Megvaltoztat(id);
			}
			else
			{
				Menu(id);
			}
		}
		default:{
			BeviteliMod[id] = 0;
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	return PLUGIN_HANDLED;
}
public Megvaltoztat(id)
{
	new Sor[256], Lekeres[32], Fajl, Szam;
	Fajl = fopen(FajlUt, "rt");
	while(!feof(Fajl))
	{
		fgets(Fajl, Sor, 255);
		if(Sor[0] == ';' || strlen(Sor) < 3)
			continue;
		parse(Sor, Lekeres, 31);
		if(equal(Lekeres, Felhasznalo[2][id]))
		{
			format(Sor, sizeof Sor - 1, "^"%s^" ^"%s^"", Felhasznalo[2][id], Jelszo[0][id]);
			write_file(FajlUt, Sor, Szam);
		}
		Szam++;
	}
	fclose(Fajl);
	print_color(id, "!g[%s]!y %s", Prefix, String[15]);
	Jelszo[2][id] = Jelszo[0][id];
	Jelszo[1][id] = "";
	Jelszo[0][id] = "";
}
public FoMenu(id, Gomb)
{
	Gomb++;
	switch(Gomb)
	{
		case 1:{
			Felhasznalo[2][id] = "";
			Jelszo[2][id] = "";
			JatekosNullazas(id);
			AlapFelhasznalo(id);
			MenuMod[id] = 1;
			Menu(id);
		}
		case 2:{
			Felhasznalo[1][id] = "";
			Jelszo[1][id] = "";
			JatekosNullazas(id);
			AlapFelhasznalo(id);
			MenuMod[id] = 2;
			Menu(id);
		}
		default:{
			BeviteliMod[id] = 0;
			MenuMod[id] = 0;
			show_menu(id, 0, "^n", 1);
		}
	}
}
public LogMenu(id, Gomb)
{
	Gomb++;
	switch(Gomb)
	{
		case 1:{
			if(get_pcvar_num(Cvarok[2]) == 0)
			{
				BeviteliMod[id] = 3;
				MenuMod[id] = 2;
				Menu(id);
				client_cmd(id, "messagemode LOGFELHASZNALO");
			}
			else
			{
				MenuMod[id] = 2;
				Menu(id);
			}
		}
		case 2:{
			BeviteliMod[id] = 4;
			MenuMod[id] = 2;
			Menu(id);
			client_cmd(id, "messagemode LOGJELSZO");
		}
		case 3:{
			if(get_pcvar_num(Cvarok[2]) == 0)
			{
				if(strlen(Felhasznalo[1][id]) < get_pcvar_num(Cvarok[0]) && strlen(Jelszo[1][id]) < get_pcvar_num(Cvarok[0]))
				{
					print_color(id, "!g[%s]!y %s", Prefix, String[16]);
					Menu(id);
					return PLUGIN_HANDLED;
				}
			}
			else
			{
				if(strlen(Jelszo[1][id]) < get_pcvar_num(Cvarok[0]))
				{
					print_color(id, "!g[%s]!y %s", Prefix, String[16]);
					Menu(id);
					return PLUGIN_HANDLED;
				}
			}
			if(equal(Felhasznalo[2][id][id], Felhasznalo[1][id][id]) && equal(Jelszo[2][id][id], Jelszo[1][id][id]))
			{
				Bejelentkezve[id] = true;
				Felhasznalo[1][id] = "";
				Jelszo[1][id] = "";
				Felhasznalo[0][id] = "";
				Jelszo[0][id] = "";
				print_color(id, "!g[%s]!y %s", Prefix, String[17]);
				if(get_pcvar_num(Cvarok[1]) == 1)
				{
					message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0, 0, 0}, id);
					write_short(0);
					write_short(0);
					write_short(1<<2);
					write_byte(0);
					write_byte(0);
					write_byte(0);
					write_byte(0);
					message_end();
				}
			}
			else
			{
				Menu(id);
				return PLUGIN_HANDLED;
			}
		}
		default:{
			BeviteliMod[id] = 0;
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	return PLUGIN_HANDLED;
}
public RegMenu(id, Gomb)
{
	Gomb++;
	switch(Gomb)
	{
		case 1:{
			if(get_pcvar_num(Cvarok[2]) == 0)
			{
				BeviteliMod[id] = 1;
				MenuMod[id] = 1;
				Menu(id);
				client_cmd(id, "messagemode REGFELHASZNALO");
			}
			else
			{
				MenuMod[id] = 1;
				Menu(id);
			}
		}
		case 2:{
			BeviteliMod[id] = 2;
			MenuMod[id] = 1;
			Menu(id);
			client_cmd(id, "messagemode REGJELSZO");
		}
		case 3:{
			if(get_pcvar_num(Cvarok[2]) == 0)
			{
				if(strlen(Felhasznalo[0][id]) < get_pcvar_num(Cvarok[0]) && strlen(Jelszo[0][id]) < get_pcvar_num(Cvarok[0]))
				{
					print_color(id, "!g[%s]!y %s", Prefix, String[18]);
					BeviteliMod[id] = 0;
					MenuMod[id] = 0;
					Menu(id);
					return PLUGIN_HANDLED;
				}
			}
			else
			{
				if(strlen(Jelszo[0][id]) < get_pcvar_num(Cvarok[0]))
				{
					print_color(id, "!g[%s]!y %s", Prefix, String[18]);
					BeviteliMod[id] = 0;
					MenuMod[id] = 0;
					Menu(id);
					return PLUGIN_HANDLED;
				}
			}
			new Sor[256], Lekeres[32], Fajl, Talalat;
			Fajl = fopen(FajlUt, "rt");
			while(!feof(Fajl))
			{
				fgets(Fajl, Sor, 255);
				if(Sor[0] == ';' || strlen(Sor) < 3)
					continue;
				parse(Sor, Lekeres, 31);
				if(equal(Lekeres, Felhasznalo[0][id]))
				{
					Talalat++;
				}
			}
			fclose(Fajl);
			if(Talalat > 0)
			{
				print_color(id, "!g[%s]!t %s!y %s", Prefix, Felhasznalo[0][id], String[20]);
				return PLUGIN_HANDLED;
			}
			else if(Talalat == 0)
			{
				new RString[128];
				format(RString, 127, "!g[!y%s:!t %s !g& !y%s:!t %s!g]", String[4], Felhasznalo[0][id], String[5], Jelszo[0][id]);
				print_color(id, "!g[%s]!y %s %s", Prefix, String[19], RString);
				MenuMod[id] = 0;
				Menu(id);
				Mentes(id);
				Felhasznalo[2][id] = Felhasznalo[0][id];
				Jelszo[2][id] = Jelszo[0][id];
			}
		}
		default:{
			BeviteliMod[id] = 0;
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	return PLUGIN_HANDLED;
}
public Adatok(id)
{
	if(BeviteliMod[id] == 0)
	return PLUGIN_HANDLED;
	
	new Adat[32];
	read_args(Adat, charsmax(Adat));
	remove_quotes(Adat);
	
	if(strlen(Adat[id]) < get_pcvar_num(Cvarok[0]))
	{
		if(BeviteliMod[id] == 1 || BeviteliMod[id] == 3)
		{
			print_color(id, "!g[%s]!y %s", Prefix, String[21]);
		}
		if(BeviteliMod[id] == 2 || BeviteliMod[id] >= 4)
		{
			print_color(id, "!g[%s]!y %s", Prefix, String[22]);
		}
		if(!equal("", Adat))
		SikertelenBevitel(id);
	}
	else
	{
		if(BeviteliMod[id] == 1)
		{
			new Sor[256], Lekeres[32], Fajl, Talalat;
			Fajl = fopen(FajlUt, "rt");
			while(!feof(Fajl))
			{
				fgets(Fajl, Sor, 255);
				if(Sor[0] == ';' || strlen(Sor) < 3)
					continue;
				parse(Sor, Lekeres, 31);
				if(equal(Lekeres, Adat))
				{
					Talalat++;
				}
			}
			fclose(Fajl);
			if(Talalat > 0)
			{
				print_color(id, "!g[%s]!t %s!y %s", Prefix, Adat, String[20]);
				SikertelenBevitel(id);
				return PLUGIN_HANDLED;
			}
			else if(Talalat == 0)
			{
				Felhasznalo[0][id] = Adat;
			}
		}
		else if(BeviteliMod[id] == 2)
		{
			Jelszo[0][id] = Adat;
		}
		else if(BeviteliMod[id] == 3)
		{
			Felhasznalo[1][id] = Adat;
			Betoltes(id);
		}
		else if(BeviteliMod[id] == 4)
		{
			Jelszo[1][id] = Adat;
			Betoltes(id);
		}
		else if(BeviteliMod[id] == 5)
		{
			Jelszo[1][id] = Adat;
		}
		else if(BeviteliMod[id] == 6)
		{
			Jelszo[0][id] = Adat;
		}
	}
	Menu(id);
	return PLUGIN_CONTINUE;
}
public SikertelenBevitel(id)
{
	if(BeviteliMod[id] == 1)
		client_cmd(id, "messagemode REGFELHASZNALO");
	else if(BeviteliMod[id] == 2)
		client_cmd(id, "messagemode REGJELSZO");
	else if(BeviteliMod[id] == 3)
		client_cmd(id, "messagemode LOGFELHASZNALO");
	else if(BeviteliMod[id] == 4)
		client_cmd(id, "messagemode LOGJELSZO");
	else if(BeviteliMod[id] == 5)
		client_cmd(id, "messagemode REGI_JELSZO");
	else if(BeviteliMod[id] == 6)
		client_cmd(id, "messagemode UJ_JELSZO");
}
public Mentes(id)
{
	new FajlMentes[128], Fajl;
	Fajl = fopen(FajlUt, "at+");
	format(FajlMentes, sizeof FajlMentes - 1, "^"%s^" ^"%s^"^n", Felhasznalo[0][id], Jelszo[0][id]);
	fprintf(Fajl, FajlMentes);
	fclose(Fajl);
}
public Betoltes(id)
{
	new Sor[256], Lekeres[2][32], Fajl;
	Fajl = fopen(FajlUt, "rt");
	while(!feof(Fajl))
	{
		fgets(Fajl, Sor, 255);
		if(Sor[0] == ';' || strlen(Sor) < 3)
			continue;
		parse(Sor, Lekeres[0], 31, Lekeres[1], 31);
		if(equal(Lekeres[0], Felhasznalo[1][id]))
		{
			Felhasznalo[2][id] = Lekeres[0];
			Jelszo[2][id] = Lekeres[1];
			break;
		}
	}
	fclose(Fajl);
}
public client_connect(id)
{
	JatekosNullazas(id);
}
public client_putinserver(id)
{
	AlapFelhasznalo(id);
}
public AlapFelhasznalo(id)
{
	if(get_pcvar_num(Cvarok[2]) == 1)
	{
		new Nev[32];
		get_user_name(id, Nev, 31);
		for(new Szam; Szam < 2; Szam++)
		{
			Felhasznalo[Szam][id] = Nev;
		}
	}
}
public client_disconnect(id)
{
	Felhasznalo[2][id] = "";
	Jelszo[2][id] = "";
	JatekosNullazas(id);
}
public JatekosNullazas(id)
{
	Ellenorizve[id] = 0;
	MenuMod[id] = 0;
	Bejelentkezve[id] = false;
	BeviteliMod[id] = 0;
	for(new Szam; Szam < 1; Szam++)
	{
		Felhasznalo[Szam][id] = "";
		Jelszo[Szam][id] = "";
	}
}
public NevValtas(id) 
{
	if(!is_user_connected(id) || get_pcvar_num(Cvarok[3]) == 0)
		return FMRES_IGNORED;
	new RegiNev[32], UjNev[32], Nev[32];
	get_user_name(id, Nev, 31);
	pev(id, pev_netname, RegiNev, charsmax(RegiNev));
	if(RegiNev[0])
	{
		get_user_info(id, "name", UjNev, charsmax(UjNev));
		if(!equal(RegiNev, UjNev))
		{
			set_user_info(id, "name", RegiNev);
			return FMRES_HANDLED;
		}
	}
	return FMRES_IGNORED;
}
stock print_color(const id, const input[], any:...)
{
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	 
	replace_all(msg, 190, "!g", "^4");
	replace_all(msg, 190, "!y", "^1");
	replace_all(msg, 190, "!t", "^3");
	 
	if(id) players[0] = id; else get_players(players, count, "ch");
	{
		for(new i = 0; i < count; i++)
		{
			if(is_user_connected(players[i]))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
	return PLUGIN_HANDLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
