Код
CMD:amembers(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] < 2) return true;
if(sscanf(params, "d",params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /amembers [1-26]");
if(params[0] > 26 || params[0] < 0) return SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1 или больше 26");
new string[128];
SendClientMessage(playerid, 0x059BD3FF, "Члены организации Online:");
foreach(Player,i)
{
format(string, sizeof(string), "");
if(PlayerInfo[i][pLeader] == params[0]) format(string, sizeof(string), " [%d] %s ранг: Лидер",i,PlayerInfo[i][pName]);
else if(PlayerInfo[i][pMember] == params[0]) format(string, sizeof(string), " [%d] %s ранг: %d",i,PlayerInfo[i][pName], PlayerInfo[i][pRank]);
if(strlen(string) > 1) SendClientMessage(playerid, 0x059BD3FF, string);
}
return true;
}
А теперь объяснения что к чему.
Администратор может посмотреть онлайн во фракции НЕ находясь в ней. автор команды я.
PlayerInfo[playerid][pAdmin] - Как правило тут устанавливается лвл админки ( можете заменить на свое, лично я в своем моде использую GetPVar )
1-26
1 - это минимальный ид фракции, 26 максимальные ( можете изменить под себя )
PlayerInfo[i][pLeader] - проверка на лидерство фракции которой мы ввели в params[0] ( 1-26 ), если 0 то идем дальше.
PlayerInfo[i][pMember] - проверка на нахождение во фракции которой мы ввели в params[0] ( 1-26 )
PlayerInfo[i][pName] - Ник игрока. ( во многих модах это есть ) Если нету то используйте GetPlayerName
PlayerInfo[i][pRank] - числовое значение ранга игрока.