Is this code any better?
Code:
for(new bit=1;bit<=ADMFLAG_CUSTOM6;bit*=2)
{
if(iFlags == 0)
{
Format(strFlags, sizeof(strFlags), "No flag registered");
break;
}
else if(iFlags & bit)
{
new cbit = GetLeftBitShifts(bit);
StrCat(strFlags, sizeof(strFlags), strFlagNames[cbit]);
}
}
strFlagNames
Code:
new String:strFlagNames[][] =
{
"ADMFLAG_RESERVATION ",
"ADMFLAG_GENERIC ",
"ADMFLAG_KICK ",
"ADMFLAG_BAN ",
"ADMFLAG_UNBAN ",
"ADMFLAG_SLAY ",
"ADMFLAG_CHANGEMAP ",
"ADMFLAG_CONVARS ",
"ADMFLAG_CONFIG ",
"ADMFLAG_CHAT ",
"ADMFLAG_VOTE ",
"ADMFLAG_PASSWORD ",
"ADMFLAG_RCON ",
"ADMFLAG_CHEATS ",
"ADMFLAG_ROOT ",
"ADMFLAG_CUSTOM1 ",
"ADMFLAG_CUSTOM2 ",
"ADMFLAG_CUSTOM3 ",
"ADMFLAG_CUSTOM4 ",
"ADMFLAG_CUSTOM5 ",
"ADMFLAG_CUSTOM6 "
};
Stock:
Code:
stock GetLeftBitShifts(bit)
{
new compressed;
while(bit > 1)
{
bit /= 2;
compressed++;
}
return compressed;
}
__________________