Kod:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Public Bot"
#define VERSION "2.0"
#define AUTHOR "Schwertle"

new const komutlar[][]= {
	"!weapon",
	".weapon",
	"/weapon",
	"!heal",
	".heal",
	"/heal",
	"!rev",
	".rev",
	"/rev",
	"!rocket",
	".rocket",
	"/rocket",
	"!ungag",
	".ungag",
	"/ungag",
	"!bury",
	".bury",
	"/bury",
	"!unbury",
	".unbury",
	"/unbury",
	"!godmode",
	".godmode",
	"/godmode",
	"!help",
	".help",
	"/help",
	"!unban",
	"/unban",
	".unban",
	"!ban",
	".ban",
	"/ban",
	"!kick",
	".kick",
	"/kick",
	"!slay",
	".slay",
	"/slay",
	"!slap",
	".slap",
	"/slap",
	"!quit",
	".quit",
	"/quit",
	"!map",
	".map",
	"/map",
	"!rcon",
	".rcon",
	"/rcon",
	"!cvar",
	".cvar",
	"/cvar",
	"!res",
	".res",
	"/res",
	"!d2",
	".d2",
	"/d2",
	"!inf",
	".inf",
	"/inf",
	"!ice",
	".ice",
	"/ice",
	".screen",
	"!screen",
	"/screen",
	".gag",
	"!gag",
	"/gag",
	".tsay",
	"!tsay",
	"/tsay",
	".csay",
	"!csay",
	"/csay",
	"!fxsay",
	".fxsay",
	"/fxsay"
}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say", "chatFilter", ADMIN_LEVEL_C);
	register_clcmd("say_team", "chatFilter", ADMIN_LEVEL_C);
	register_clcmd("say /pubbot", "MenuBilgi");
	register_clcmd("say !pubbot", "MenuBilgi");
	register_clcmd("say .pubbot", "MenuBilgi");
	set_task(300.0, "pubbotbilgi", _, _, _, "b")
}

public pubbotbilgi()
{
	renkli_yazi(0, "!g[~TuTaMixxCS~] !yBu Serverda !tPublic Bot v2 Surumu !yMevcuttur!")
}

public MenuBilgi(id) {
	
	new menu, Menuz[512]
	
	formatex(Menuz, charsmax(Menuz), "[TuTaMixxCS] Public Bot \yKomut Bilgileri")
	menu = menu_create(Menuz, "BilgiMenu")
	formatex(Menuz, charsmax(Menuz), "Admin Komutlari-1\y.")
	menu_additem(menu, Menuz, "1", 0)
	formatex(Menuz, charsmax(Menuz), "Admin Komutlari-2\y.")
	menu_additem(menu, Menuz, "2", 0)
	formatex(Menuz, charsmax(Menuz), "Admin Komutlari-3\y.")
	menu_additem(menu, Menuz, "3", 0)
	formatex(Menuz, charsmax(Menuz), "Public Bot Ozellikleri\y.")
	menu_additem(menu, Menuz, "4", 0)
	menu_setprop(menu,MPROP_EXIT, MEXIT_ALL)
	formatex(Menuz, charsmax(Menuz), "ileri\y.")
	menu_setprop(menu,MPROP_NEXTNAME ,Menuz)
	formatex(Menuz, charsmax(Menuz), "Geri\y.")
	menu_setprop(menu,MPROP_BACKNAME ,Menuz)
	formatex(Menuz, charsmax(Menuz), "Cikis\y.")
	menu_setprop(menu,MPROP_EXITNAME,Menuz)
	
	menu_display(id, menu, 0)
}
public BilgiMenu(id, menu, item) {
	
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		
		return PLUGIN_HANDLED
	}
	
	new data[6], iName[64]
	new access, callback
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
	
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1:
		{
			static motd[1501], len;
			
			len = format(motd, 1500,"<body bgcolor=#000000><font color=#87cefa><pre>");	
			len += format(motd[len], 1500-len,"<center><h4><font color=^"blue^">Admin Komutlari-1</font></h4></center>^n^n^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !weapon nick sayi : </color></left><font color=^"red^">Oyuncuya Silah Verme Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !heal nick sayi : </color></left><font color=^"red^">Oyuncuya Saglik Verme Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !rev nick : </color></left><font color=^"red^">Olu Oyuncuyu Canlandirma Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !rocket nick : </color></left><font color=^"red^">Oyuncuyu Roketleme Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !ungag nick : </color></left><font color=^"red^">Konusma Yasagi Kaldirma Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !bury nick sayi : </color></left><font color=^"red^">Oyuncuyu Yere Gomme Komutu.</color></right>^n");
			show_motd(id, motd, "Admin Komutlari-1");
			
			return 0;
		}
		case 2:
		{
			static motd[1501], len;
			
			len = format(motd, 1500,"<body bgcolor=#000000><font color=#87cefa><pre>");
			len += format(motd[len], 1500-len,"<center><h4><font color=^"blue^">Admin Komutlari-2</font></h4></center>^n^n^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !unbury nick : </color></left><font color=^"red^">Oyuncuyu Yerden Cikartma Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !godmode nick sayi : </color></left><font color=^"red^">Oyuncuya Olumsuzluk Verme Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !help : </color></left><font color=^"red^">Yardim Menusunu Konsolda Acma Komutu.(amx_help)</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !unban nick : </color></left><font color=^"red^">Oyuncunun Banini Kaldirma Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !ban nick sayi : </color></left><font color=^"red^">Oyuncuyu Banlama Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !kick nick : </color></left><font color=^"red^">Oyuncuyu Kickleme Komutu.</color></right>^n");
			
			show_motd(id, motd, "Admin Komutlari-2");
			
			return 0;
		}
		case 3:
		{
			static motd[1501], len;
			
			len = format(motd, 1500,"<body bgcolor=#000000><font color=#87cefa><pre>");
			len += format(motd[len], 1500-len,"<center><h4><font color=^"blue^">Admin Komutlari-3</font></h4></center>^n^n^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !slay nick : </color></left><font color=^"red^">Oyuncuyu Slaylama Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !slap nick sayi : </color></left><font color=^"red^">Oyuncuyu Slaplama Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !quit nick : </color></left><font color=^"red^">Oyuncuyu Masaustune Atma Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !map isim : </color></left><font color=^"red^">Map Degistirme Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !rcon nick sayi : </color></left><font color=^"red^">Rcon Kullanma Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !cvar nick sayi : </color></left><font color=^"red^">Cvar Kullanma Verme Komutu.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !res sayi : </color></left><font color=^"red^">Oyunda Belirtilen Surede Restart Atar.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !d2 : </color></left><font color=^"red^">De_Dust2 Mapini Acar.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !inf : </color></left><font color=^"red^">De_Inferno Mapini Acar.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !ice : </color></left><font color=^"red^">fy_Iceworld16 Mapini Acar.</color></right>^n");
			len += format(motd[len], 1500-len,"<left><font color=^"green^">*<font color=^"white^"> !screen : </color></left><font color=^"red^">Oyuncudan ScreenShot Alır.</color></right>^n");	
			
			show_motd(id, motd, "Admin Komutlari-3");
			
			return 0;
		}
		case 4:
		{
			static motd[1536], len;
			
			len = format(motd, 1535,"<body bgcolor=#000000><font color=#87cefa><pre>");	
			len += format(motd[len], 1535-len,"<center><h4><font color=^"blue^"></font></h4></center>^n^n^n","Pub-Bot Ozellikleri");
			len += format(motd[len], 1535-len,"<left><font color=^"green^">*<font color=^"white^"> Tum Komutlarin Basina [<font color=^"red^">!<font color=^"white^">] [<font color=^"red^">.<font color=^"white^">] [<font color=^"red^">/<font color=^"white^">] Koyarak Calistirabilirsiniz.</color>^n");
			len += format(motd[len], 1535-len,"<left><font color=^"green^">*<font color=^"white^"> Tum Komutlari C Yetkisine Sahip Adminler Erisebilir Ve Komuta Ozgu Yetkiye Sahipse Basirili Olur.</color>^n");
			len += format(motd[len], 1535-len,"<left><font color=^"green^">*<font color=^"white^"> Menuye Tum Herkes Erisebilir!</color>^n");
			len += format(motd[len], 1535-len,"<left><font color=^"green^">*<font color=^"white^"> Tum Komutlar Uygulandiktan Sonra Kullanan Kisiye Basari Mesajini Sayden Renkli Olarak Bildirmektedir.</color>^n");
			len += format(motd[len], 1535-len,"<left><font color=^"green^">*<font color=^"white^"> Basarili Mesaji alinmayan komutlar basarisiz olmustur.</color>^n");

			show_motd(id, motd, "Pub-Bot Ozellikleri");
			
			return 0;
		}
	}
	return PLUGIN_HANDLED 
}

public chatFilter(id) {
	new message[128];
	read_argv(1, message, 127);
	
	for(new i=0;i<sizeof(komutlar);i++) {
		
		new cmd[33];
		formatex(cmd,32,"%s",komutlar[i])
		if(containi(message,cmd) == 0) {
			
			//admin level required
			switch(i) {
				case 0,1,2,3,4,5,6,7,8: {
					if(!(get_user_flags(id) & ADMIN_CVAR))
						return PLUGIN_CONTINUE;
				}
			}
			yonlenenler(id, i);
			return PLUGIN_HANDLED;
		}
	}
	return PLUGIN_CONTINUE;
}

public yonlenenler(id, cID) {
	new message[128], cmd[33], arg[65], arg2[65];
	read_argv (1, message, 128);
	parse(message,cmd,32,arg,64,arg2,64);
	replace(cmd,32,"ghsfg","");
	
	switch(cID) {
		case 0: { // weapon
			new weapon=str_to_num(arg2);
			
			if(weapon==0)
				weapon=1;
			console_cmd(id,"amx_weapon %s %d", arg, weapon);
		}
		case 1: { // weapon
			new weapon=str_to_num(arg2);
			
			if(weapon==0)
				weapon=1;
			console_cmd(id,"amx_weapon %s %d", arg, weapon);
		}
		case 2: { // weapon
			new weapon=str_to_num(arg2);
			
			if(weapon==0)
				weapon=1;
			console_cmd(id,"amx_weapon %s %d", arg, weapon);
		}
		case 3: { // heal
			new heal=str_to_num(arg2);
			
			if(heal==0)
				heal=1;
			console_cmd(id,"amx_heal %s %d", arg, heal);
			
		}
		case 4: { // heal
			new heal=str_to_num(arg2);
			
			if(heal==0)
				heal=1;
			console_cmd(id,"amx_heal %s %d", arg, heal);
		}
		case 5: { // heal
			new heal=str_to_num(arg2);
			
			if(heal==0)
				heal=1;
			console_cmd(id,"amx_heal %s %d", arg, heal);
		}
		case 6: { // revive
			console_cmd(id,"amx_revive %s", arg);
			
		}
		case 7: { // revive
			console_cmd(id,"amx_revive %s", arg);
		}
		case 8: { // revive
			console_cmd(id,"amx_revive %s", arg);
		}
		case 9: { // rocket
			console_cmd(id,"amx_rocket %s", arg);
		}
		case 10: { // rocket
			console_cmd(id,"amx_rocket %s", arg);
		}
		case 11: { // rocket
			console_cmd(id,"amx_rocket %s", arg);
		}	
		case 12: { // ungag
			console_cmd(id,"amx_ungag %s", arg);
		}
		case 13: { // ungag
			console_cmd(id,"amx_ungag %s", arg);

		}
		case 14: { // ungag
			console_cmd(id,"amx_ungag %s", arg);
		}
		case 15: { // Bury
			new bury=str_to_num(arg2);
			
			if(bury==0)
				bury=1;
			console_cmd(id,"amx_bury %s %d", arg, bury);
		}
		case 16: { // Bury
			new bury=str_to_num(arg2);
			
			if(bury==0)
				bury=1;
			console_cmd(id,"amx_bury %s %d", arg, bury);
		}
		case 17: { // Bury
			new bury=str_to_num(arg2);
			
			if(bury==0)
				bury=1;
			console_cmd(id,"amx_bury %s %d", arg, bury);
		}
		case 18: { // Unbury
			new unbury=str_to_num(arg2);
			
			if(unbury==0)
				unbury=1;
			console_cmd(id,"amx_unbury %s %d", arg, unbury);
		}
		case 19: { // Unbury
			new unbury=str_to_num(arg2);
			
			if(unbury==0)
				unbury=1;
			console_cmd(id,"amx_unbury %s %d", arg, unbury);
		}
		case 20: { // Unbury
			new unbury=str_to_num(arg2);
			
			if(unbury==0)
				unbury=1;
			console_cmd(id,"amx_unbury %s %d", arg, unbury);
		}
		case 21: { // God-Mode
			new godmode=str_to_num(arg2);
			
			if(godmode==0)
				godmode=1;
			console_cmd(id,"amx_godmode %s %d", arg, godmode);
		}
		case 22: { // God-Mode
			new godmode=str_to_num(arg2);
			
			if(godmode==0)
				godmode=1;
			console_cmd(id,"amx_godmode %s %d", arg, godmode);
		}
		case 23: { // God-Mode
			new godmode=str_to_num(arg2);
			
			if(godmode==0)
				godmode=1;
			console_cmd(id,"amx_godmode %s %d", arg, godmode);
		}
		case 24: { // Help
			console_cmd(id,"amx_help");
		}
		case 25: { // Help
			console_cmd(id,"amx_help");
		}
		case 26: { // Help
			console_cmd(id,"amx_help");
		}
		case 27: { // Unban
			console_cmd(id,"amx_unban %s", arg);
		}
		case 28: { // Unban
			console_cmd(id,"amx_unban %s", arg);
		}
		case 29: { // Unban
			console_cmd(id,"amx_unban %s", arg);
		}
		case 30: { // Banip
			new banip=str_to_num(arg2);
			
			if(banip==0)
				banip=1;
			console_cmd(id,"amx_banip %s %d", arg, banip);
		}
		case 31: { // Banip
			new banip=str_to_num(arg2);
			
			if(banip==0)
				banip=1;
			console_cmd(id,"amx_banip %s %d", arg, banip);
		}
		case 32: { // Banip
			new banip=str_to_num(arg2);
			
			if(banip==0)
				banip=1;
			console_cmd(id,"amx_banip %s %d", arg, banip);
		}
		case 33: { // Kick
			console_cmd(id,"amx_kick %s", arg);
		}
		case 34: { // Kick
			console_cmd(id,"amx_kick %s", arg);
		}
		case 35: { // Kick
			console_cmd(id,"amx_kick %s", arg);
		}
		case 36: { // Slay
			new slay=str_to_num(arg2);
			
			if(slay==0)
				slay=1;
			console_cmd(id,"amx_slay %s", arg);
		}
		case 37: { // Slay
			new slay=str_to_num(arg2);
			
			if(slay==0)
				slay=1;
			console_cmd(id,"amx_slay %s", arg);
		}
		case 38: { // Slay
			new slay=str_to_num(arg2);
			
			if(slay==0)
				slay=1;
			console_cmd(id,"amx_slay %s %d", arg, slay);
		}
		case 39: { // Slap
			new slap=str_to_num(arg2);
			
			if(slap==0)
				slap=1;
			console_cmd(id,"amx_slap %s %d", arg, slap);
		}
		case 40: { // Slap
			new slap=str_to_num(arg2);
			
			if(slap==0)
				slap=1;
			console_cmd(id,"amx_slap %s %d", arg, slap);
		}
		case 41: { // slap
			new slap=str_to_num(arg2);
			
			if(slap==0)
				slap=1;
			console_cmd(id,"amx_slap %s %d", arg, slap);
		}
		case 42: { // Kick
			console_cmd(id,"amx_quit %s", arg);
		}
		case 43: { // Kick
			console_cmd(id,"amx_quit %s", arg);
		}
		case 44: { // Kick
			console_cmd(id,"amx_quit %s", arg);
		}
		case 45: { // Map
			console_cmd(id,"amx_map %s", arg);
		}
		case 46: { // Map
			console_cmd(id,"amx_map %s", arg);
		}
		case 47: { // Map
			console_cmd(id,"amx_map %s", arg);
		}
		case 48: { // Rcon
			new rcon=str_to_num(arg2);
			if(rcon==0)
				rcon=1;
			console_cmd(id,"amx_rcon %s %d", arg, rcon);
		}
		case 49: { // Rcon
			new rcon=str_to_num(arg2);
			if(rcon==0)
				rcon=1;
			console_cmd(id,"amx_rcon %s %d", arg, rcon);
		}
		case 50: { // Rcon
			new rcon=str_to_num(arg2);
			if(rcon==0)
				rcon=1;
			console_cmd(id,"amx_rcon %s %d", arg, rcon);
		}
		
		case 51: { // Cvar
			new cvar=str_to_num(arg2);
			if(cvar==0)
				cvar=1;
			console_cmd(id,"amx_cvar %s %d", arg, cvar);
		}
		case 52: { // Cvar
			new cvar=str_to_num(arg2);
			if(cvar==0)
				cvar=1;
			console_cmd(id,"amx_cvar %s %d", arg, cvar);
		}
		case 53: { // Cvar
			new cvar=str_to_num(arg2);
			if(cvar==0)
				cvar=1;
			console_cmd(id,"amx_cvar %s %d", arg, cvar);
		}
		case 54: { // Rcon
			new rcon=str_to_num(arg2);
			if(rcon==0)
				rcon=1;
			console_cmd(id,"amx_rcon sv_restart %s", arg, rcon);
		}
		case 55: { // Rcon
			new rcon=str_to_num(arg2);
			if(rcon==0)
				rcon=1;
			console_cmd(id,"amx_rcon sv_restart %s", arg, rcon);
		}
		case 56: { // Rcon
			new rcon=str_to_num(arg2);
			if(rcon==0)
				rcon=1;
			console_cmd(id,"amx_rcon sv_restart %s", arg, rcon);
		}
		case 57: { // Map d2
			console_cmd(id,"amx_map de_dust2", arg);
		}
		case 58: { // Map d2
			console_cmd(id,"amx_map de_dust2", arg);
		}
		case 59: { // Map d2
			console_cmd(id,"amx_map de_dust2", arg);
		}
		case 60: { // Map inferno
			console_cmd(id,"amx_map de_inferno", arg);
		}
		case 61: { // Map inferno
			console_cmd(id,"amx_map de_inferno", arg);
		}
		case 62: { // Map inferno
			console_cmd(id,"amx_map de_inferno", arg);
		}
		case 63: { // Map iceworld16
			console_cmd(id,"amx_map fy_iceworld16", arg);
		}
		case 64: { // Map iceworld16
			console_cmd(id,"amx_map fy_iceworld16", arg);
		}
		case 65: { // Map iceworld16
			console_cmd(id,"amx_map fy_iceworld16", arg);
		}
		case 66: { // Screen Shot
			console_cmd(id,"amx_sxe_screen %s", arg);
		}
		case 67: { // Screen Shot
			console_cmd(id,"amx_sxe_screen %s", arg);
		}
		case 68: { // Screen Shot
			console_cmd(id,"amx_sxe_screen %s", arg);
		}
		case 69: { // gagged
			console_cmd(id,"amx_gag %s ", arg);
		}
		case 70: { // gagged
			console_cmd(id,"amx_gag %s ", arg);
		}
		case 71: { // gagged
			console_cmd(id,"amx_gag %s ", arg);
		}
		case 72: { // tsay
			console_cmd(id,"amx_tsay beyaz %s ", arg);
		}

		case 73: { // tsay
			console_cmd(id,"amx_tsay beyaz %s ", arg);
		}

		case 74: { // tsay
			console_cmd(id,"amx_tsay beyaz %s ", arg);
		}

		case 75: { // csay
			console_cmd(id,"amx_csay beyaz %s ", arg);
		}

		case 76: { // csay
			console_cmd(id,"amx_csay beyaz %s ", arg);
		}

		case 77: { // csay
			console_cmd(id,"amx_csay beyaz %s ", arg);
		}
		case 78: { // fxsay
			console_cmd(id,"amx_fxsayy GREEN %s ", arg);
		}

		case 79: { // fxsay
			console_cmd(id,"amx_fxsayy GREEN %s ", arg);
		}

		case 80: { // fxsay
			console_cmd(id,"amx_fxsayy GREEN %s ", arg);
		}


	}
	return PLUGIN_HANDLED;
}
/////////////////////////////////////////
/*      Renkli Yazı                    */
/////////////////////////////////////////
stock renkli_yazi(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")
	replace_all(msg, 190, "!team2", "^0")
	
	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();
			}
		}
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
kodlar bu şekilde yardımcı olabilirsen sevinirim.