Care este problema?
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #define PLUGIN "ULTIMATE Who" #define VERSION "2.0" #define AUTHOR "Pr0keR" #define CharsMax(%1) sizeof %1 - 1 #define time_shower 1.0 #define GROUPS_NAME 9 #define GROUPS_ACCESS 9 #define RRR 255 #define GGG 255 #define BBB 255 #define time_hud 12.0 #define motd_msg "[HipNoz]Admini Online[HipNoz]" #define who_meniu_ad_group_msg "\y-=[Admini]=- \r-=[Online]=-^n" #define who_meniu_admin_msg "\y-=[Admini]=- \w-=[Online]=-^n^n" #define who_console_top "=========== Admini Online ===========" #define who_console_bottom "================================" new GroupNames[GROUPS_NAME][] = { "CS~Fondator", "CS~Owner", "CS~Co-Owner", "CS~GoD", "CS~Super-Mod", "CS~Moderator", "CS~Administrator", "CS~Helper", "CS~Slot" } new GroupFlags[GROUPS_ACCESS][] = { "abcdefghijklmnopqrstu", "bcdefghijklmnopqrsu", "abcdefijmnopqrs", "bcdefijmnopq", "bcdefijmnop", "bcdefijmno", "bceijmn", "beim", "b"" } new GroupFlagsValue[GROUPS_NAME] new who_type, who_typemeniu public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) for(new Pr0keR = 0 ; Pr0keR < GROUPS_NAME ; Pr0keR++) GroupFlagsValue[Pr0keR] = read_flags(GroupFlags[Pr0keR]) register_clcmd("say", "cmdSay") register_clcmd("say_team", "cmdSay") who_type = register_cvar("cmd_who","1") who_typemeniu = register_cvar("who_typemeniu","1") } public cmdSay(id) { new say[192] read_args(say,192) if(( containi(say, "who") != -1 || containi(say, "/admin") != -1 || containi(say, "/who") != -1)) set_task(time_shower,"cmdULTMWho",id) return PLUGIN_CONTINUE } public cmdULTMWho(id) { switch(get_pcvar_num(who_type)) { case 1: who_meniu(id) case 2: who_motd(id) case 3: who_table(id) case 4: who_hud(id) case 5: who_console(id) } return 0 } who_meniu(id) { switch(get_pcvar_num(who_typemeniu)) { case 1: who_meniu_admin_groups(id) case 2: who_meniu_admin(id) } return 0 } who_meniu_admin_groups(id) { new sPlayers[32], iNum, iPlayer new sName[32] new szMenu[256], nLen, keys nLen = format(szMenu[nLen], 255, who_meniu_ad_group_msg) get_players(sPlayers, iNum, "ch") for(new Pr0keR = 0; Pr0keR < GROUPS_NAME ; Pr0keR++) { nLen += format(szMenu[nLen], 255-nLen,"\r%s^n", GroupNames[Pr0keR]) for(new a = 0; a < iNum ; a++) { iPlayer = sPlayers[a] if(get_user_flags(iPlayer) == GroupFlagsValue[Pr0keR]) { get_user_name(iPlayer, sName, sizeof sName - 1) nLen += format(szMenu[nLen], 255-nLen,"\w%s^n", sName) } } } nLen += format(szMenu[nLen], 255-nLen,"^n\wPt a esi apasa \y0 \w sau \y5" ) keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9) show_menu(id,keys,szMenu,-1) return 0 } who_meniu_admin(id) { new sPlayers[32], iNum, iPlayer new sName[32] new szMenu[256], nLen, keys nLen = format(szMenu[nLen], 255, who_meniu_admin_msg) get_players(sPlayers, iNum, "ch") for(new Pr0keR = 0; Pr0keR < GROUPS_NAME ; Pr0keR++) { for(new a = 0; a < iNum ; a++) { iPlayer = sPlayers[a] if(get_user_flags(iPlayer) == GroupFlagsValue[Pr0keR]) { get_user_name(iPlayer, sName, sizeof sName - 1) nLen += format(szMenu[nLen], 255-nLen,"\r%s^n", sName) } } } nLen += format(szMenu[nLen], 255-nLen,"^n\wPt a esi apasa \y0 \w sau \y5" ) keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9) show_menu(id,keys,szMenu,-1) return 0 } who_motd(id) { new sPlayers[32], iNum, iPlayer new sName[32], sBuffer[1024] new iLen iLen = formatex(sBuffer, sizeof sBuffer - 1, "<body bgcolor=#000000><font color=#7b68ee><pre>") get_players(sPlayers, iNum, "ch") for(new Pr0keR = 0;Pr0keR < GROUPS_NAME ; Pr0keR++) { iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><h5><font color=^"red^">%s^n</font></h5></center>", GroupNames[Pr0keR]) for(new a = 0; a < iNum ; a++) { iPlayer = sPlayers[a] if(get_user_flags(iPlayer) == GroupFlagsValue[Pr0keR]) { get_user_name(iPlayer, sName, sizeof sName - 1) iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center>%s^n</center>", sName) } } } show_motd(id, sBuffer, motd_msg) return 0 } who_table(id) { new sPlayers[32], iNum, iPlayer new sName[32], sBuffer[1024] new iLen iLen = formatex(sBuffer, sizeof sBuffer - 1, "<body bgcolor=#000000><font color=#7b68ee><pre>") iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><h3><b><font color=^"red^">NUME - ACCES</font></h3></b></center>") get_players(sPlayers, iNum, "ch") for(new Pr0keR = 0; Pr0keR < GROUPS_NAME ; Pr0keR++) { for(new a = 0; a < iNum ; a++) { iPlayer = sPlayers[a] if(get_user_flags(iPlayer) == GroupFlagsValue[Pr0keR]) { get_user_name(iPlayer, sName, sizeof sName - 1) iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><h4><font color=^"white^">%s %s^n</font></h4></center>", sName, GroupNames[Pr0keR]) } } } show_motd(id, sBuffer, motd_msg) return 0 } who_hud(id) { new sPlayers[32], iNum, iPlayer new sName[32], sBuffer[1024] new iLen get_players(sPlayers, iNum, "ch") for(new Pr0keR = 0; Pr0keR < GROUPS_NAME ; Pr0keR++) { iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "=== %s ===^n", GroupNames[Pr0keR]) for(new a = 0; a < iNum ; a++) { iPlayer = sPlayers[a] if(get_user_flags(iPlayer) == GroupFlagsValue[Pr0keR]) { get_user_name(iPlayer, sName, sizeof sName - 1) iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "%s^n", sName) } } } set_hudmessage(RRR, GGG, BBB, 0.02, 0.24, 0, 6.0, time_hud) show_hudmessage(id, sBuffer) return 0 } who_console(id) { new sPlayers[32], iNum, iPlayer new sName[32] get_players(sPlayers, iNum) console_print(id, who_console_top) for(new Pr0keR= 0; Pr0keR < GROUPS_NAME; Pr0keR++) { for(new a = 0; a < iNum ; a++) { iPlayer = sPlayers[a] get_user_name(iPlayer, sName, sizeof sName - 1) if(get_user_flags(iPlayer) == GroupFlagsValue[Pr0keR]) console_print(id, "= %d = %s : %s", Pr0keR+1, GroupNames[Pr0keR], sName) } } console_print(id, who_console_bottom) return 0 }