Код:
dcmd_aadmins(playerid,params[]) {
#pragma unused params
new Count[2], i, string[128];
for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
if(PlayerInfo[i][Level] > 0) Count[0]++;
if(IsPlayerAdmin(i)) Count[1]++;
new count=0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(logged[i] == 1)
{
if(PlayerInfo[i][pAdmin] >= 1)
{
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(str, 256, "Administrator %s [Level %d] ", pname, PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, COLOR_YELLOW, str);
count++;
}
}
}
}
}
#if defined HIDE_ADMINS
if(PlayerInfo[playerid][Level] == 0) {
if(Count[0] >= 1) {
format(string, sizeof(string), "There are %d Administrators online. Use /areport <id> <reason> if you suspect a player of cheating", Count[0]);
return SendClientMessage(playerid, blue, string);
} else return SendClientMessage(playerid, blue, "No Administrators online");
}
#endif
if( (Count[0] == 0 && Count[1] == 0) || (Count[0] == 0 && Count[1] >= 1 && PlayerInfo[playerid][Level] == 0) ) return SendClientMessage(playerid, blue, "No Administrators online");
if(Count[0] == 1) {
for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] > 0) {
format(string, sizeof(string), "Admin: (%d)%s [%d]", i, PlayerName2(i), PlayerInfo[i][Level] ); SendClientMessage(playerid, blue, string);
}
}
if(Count[0] > 1) {
new x; format(string, sizeof(string), "Admins: ");
for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] > 0)
{
format(string,sizeof(string),"%s(%d)%s [%d]",string,i,PlayerName2(i),PlayerInfo[i][Level]);
x++;
if(x >= 5) {
SendClientMessage(playerid, blue, string); format(string, sizeof(string), "Admins: "); x = 0;
}
else format(string, sizeof(string), "%s, ", string);
}
if(x <= 4 && x > 0) {
string[strlen(string)-3] = '.';
SendClientMessage(playerid, blue, string);
}
}
if( (Count[1] == 1) && (PlayerInfo[playerid][Level] > 0) ) {
for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) {
format(string, sizeof(string), "RCON Admin: (%d)%s", i, PlayerName2(i)); SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(Count[1] > 1) {
new x; format(string, sizeof(string), "RCON Admins: ");
for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i))
{
format(string,sizeof(string),"%s(%d)%s",string,i,PlayerName2(i));
x++;
if(x >= 5) {
SendClientMessage(playerid, COLOR_WHITE, string); format(string, sizeof(string), "RCON Admins: "); x = 0;
}
else format(string, sizeof(string), "%s, ", string);
}
if(x <= 4 && x > 0) {
string[strlen(string)-3] = '.';
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
return 1;
}
Код:
// === [Admins] ===
if(!strcmp(cmdtext, "/admins", true))
{
SendClientMessage(playerid, COLOR_WHITE, "Checking for administrators online...");
new count=0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(logged[i] == 1)
{
if(PlayerInfo[i][pAdmin] >= 1)
{
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(str, 256, "Administrator %s [Level %d] ", pname, PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, COLOR_YELLOW, str);
count++;
}
}
}
}
if(count == 0)
{
SendClientMessage(playerid, COLOR_RED, "There aren't any administrators online on the server!");
}
return 1;
}