probier mal dem hier
Code:
#include <adminlib>
#define ADMIN_BITS 17
new g_Version[] = "2.50.50";
public HandleSay(HLCommand,HLData,HLUserName,UserIndex) {
new Data[MAX_DATA_LENGTH];
new Name[MAX_NAME_LENGTH];
new Menutext[512];
new maxplayers = maxplayercount() + 1;
new Admins = 0;
new i;
convert_string(HLData,Data,MAX_DATA_LENGTH);
strstripquotes(Data);
if(strcasecmp(Data,"admin") == 0) {
strcpy(Menutext,"\yAdmins on Server:",512);
for(i=1;i<maxplayers;i++) {
if(playerinfo(i,Name,MAX_NAME_LENGTH) == 1) {
if(auth(Name)) {
get_accesslevel(Name,Data);
snprintf(Data,MAX_DATA_LENGTH,"^n\d----------^n\w%s^n\R%s",Name,Data);
strcat(Menutext,Data,512);
Admins++;
}
}
}
if(Admins) {
snprintf(Data,MAX_DATA_LENGTH,"^n^n\y%i Admins",Admins);
strcat(Menutext,Data,512);
} else {
strcpy(Menutext,"^n^n^n^n^n^n^n^n\yThere are no admins present at the moment.",512);
}
convert_string(HLUserName,Name,MAX_NAME_LENGTH);
menu(Name,Menutext,1023,0);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
get_accesslevel(UserName[MAX_NAME_LENGTH],Level[MAX_DATA_LENGTH]) {
new i,j = 1<<(ADMIN_BITS);
new color = 0;
for(i=0;i<ADMIN_BITS;i++) {
j >>= 1;
if(access(j,UserName)) {
if(!color) {
strcat(Level,"\y",MAX_DATA_LENGTH);
color = 1;
}
} else {
if(color) {
strcat(Level,"\d",MAX_DATA_LENGTH);
color = 0;
}
}
strcat(Level,"*",MAX_DATA_LENGTH);
}
}
public plugin_init() {
plugin_registerinfo("Rinde's Admin Plugin","Returns all admins on server",g_Version);
plugin_registercmd("say","HandleSay",ACCESS_ALL,"say admin: Prints all admins and their adminlevels.");
return PLUGIN_CONTINUE;
}