04.06.2013, 20:42
Здравствуйте, умельцы. Не могли бы показать на примере, как сделать проверку на наличие хотя бы одного администратора онлайн?
if (strcmp(cmd, "/admins", true) == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, " Админы в онлайне:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pAdmin] == 1 && PlayerInfo[i][pAdmin] < 1338)
{
format(string, 256, "Moderator: %s", PlayerInfo[i][Nick]);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pAdmin] == 2 && PlayerInfo[i][pAdmin] < 1338)
{
format(string, 256, "Helper: %s", PlayerInfo[i][Nick]);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pAdmin] == 3 && PlayerInfo[i][pAdmin] < 1338)
{
format(string, 256, "GameMaster: %s", PlayerInfo[i][Nick]);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pAdmin] == 1337 && PlayerInfo[i][pAdmin] < 1338)
{
format(string, 256, "Admin: %s", PlayerInfo[i][Nick]);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
}
return 1;
}
new admins; // Создаем переменную где будем подсчитывать количество админов.
for(new a = 0; a <= GetMaxPlayers(); a++) // Создаем цикл, с максимальным количеством игроков ( которое указанное в server.cfg )
{
if(IsPlayerConnected(a) == 0 && admin[a] == 0) continue; // если игрок не присоединился или у него переменная admin равна 0, продолжаем дальше цикл ( то есть с начала )
printf("Админ, ид %d, уровень %d", a, admin[a]); // Выводим в консоль ид админа и лвл
admins++; // Добавляем +1 в переменную
}
printf("Всего администраторов: %d", admins);// Выводим в консоль сколько админов всего
new admin[MAX_PLAYERS]; // или вместо MAX_PLAYERS - свое количество игроков.
stock IsOnlineAdmins() {
for(new i = 0; i <= GetMaxPlayers; i++)
{
if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= 1)
{
break;
return 1;
}
}
return 0;
}
If(IsOnlineAdmins())//Вернет 1 если есть хоть 1 администратор онлайн, вернет 0 если нет администраторов онлайн
PHP код:
PHP код:
|
IsOnlineAdmins() {
for (new i; i < GetMaxPlayers(); i++) {
if (IsPlayerConnected(i) && PlayerInfo[i][pAdmin] > 0) return 1;
}
return 0;
}