PDA

Просмотр полной версии : [Вопрос] Список администрации онлайн



Albert
14.01.2015, 10:20
вот так выглядит диалог, вызывающий список администрации


ShowPlayerDialog(playerid,500,DIALOG_STYLE_LIST,"Администраторы","5. Разработчик\n4. Дебаггер\n3. Менеджер группировок\n2. Модератор\n1. Помощник","Команды","Отмена");

Переменная, отвечающая за уровень администратора:


pAdm

Пример использования


pInfo[playerid][pAdm]

Подскажите пожалуйста как сделать чтобы под уровнем администрации показывались администраторы онлайн относящиеся к своему уровню.

Mazzilla
14.01.2015, 12:08
Зачем такие сложности? Почему нельзя просто вывести поочередно список админов с их званиями? Ну а по теме, я думаю, что одним циклом не обойтись, могу ошибаться.

Shayba
14.01.2015, 12:49
вот так выглядит диалог, вызывающий список администрации


ShowPlayerDialog(playerid,500,DIALOG_STYLE_LIST,"Администраторы","5. Разработчик\n4. Дебаггер\n3. Менеджер группировок\n2. Модератор\n1. Помощник","Команды","Отмена");

Переменная, отвечающая за уровень администратора:


pAdm

Пример использования


pInfo[playerid][pAdm]

Подскажите пожалуйста как сделать чтобы под уровнем администрации показывались администраторы онлайн относящиеся к своему уровню.

Попробуй просто вставить команду.


if(strcmp(cmd, "/admins", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new alllstring[2000], ttext[50], AdminName[MAX_PLAYER_NAME];
for(new i, j = GetMaxPlayers(); i != j; i++)
{
ttext[0] = 0;
if(!IsPlayerConnected(i) || IsPlayerNPC(i) || PlayerInfo[i][pAdmin] <= 0) continue;
new Admin = PlayerInfo[i][pAdmin];
switch(Admin)
{
case 1: ttext = "{36D352}(Ученик Модератора)";
case 2: ttext = "{36D352}(Модератор)";
case 3: ttext = "{36D352}(Ст.Модератор)";
case 4: ttext = "{33CCFF}(Мл.Администратор)";
case 5: ttext = "{33CCFF}(Ст.Администратор)";
case 6: ttext = "{33CCFF}(Гл.Администратор)";
case 7: ttext = "{33CCFF}(Основатель Проекта)";
default: ttext = "---";
}
GetPlayerName(i, AdminName, sizeof(AdminName));
format(alllstring,sizeof(alllstring),"%s%s {FFFFFF}%s- (%d lvl) ID-{22FF22}%d\n", alllstring, ttext, AdminName,PlayerInfo[i][pAdmin],i);
}
if(strlen(alllstring) < 1) strcat(alllstring, "{FFFFFF}Сейчас все админы онлайн {FF6347}Offline");
ShowPlayerDialog(playerid, 666, DIALOG_STYLE_MSGBOX, "{FFFFFF}Название вашего проекта: {FFFFFF}Admins {22FF22}Online", alllstring, "??", "");
return true;
}
}

gangzone.ini
14.01.2015, 15:40
#include <foreach>


case 500:
{
if(!response) return true;
new string[MAX_PLAYER_NAME+1+4];
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, 0x00CC00AA, "Помощники в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 1) continue;
new string[65];
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
}
case 1:
{
SendClientMessage(playerid, 0x00CC00AA, "Модераторы в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 2) continue;
new string[65];
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
}
case 2:
{
SendClientMessage(playerid, 0x00CC00AA, "Менеджеры группировок в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 3) continue;
new string[65];
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
}
case 3:
{
SendClientMessage(playerid, 0x00CC00AA, "Дебаггеры в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 4) continue;
new string[65];
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
}
case 4:
{
SendClientMessage(playerid, COLOR_GREEN, "Разработчики в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 5) continue;
new string[65];
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
}
}
}
}

Mazzilla
14.01.2015, 17:04
Чуть подправил.

case 500:
{
if(!response) return true;
new string[MAX_PLAYER_NAME+1+4];
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, 0x00CC00AA, "Разработчики в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 5) continue;
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
return true;
}
case 1:
{
SendClientMessage(playerid, 0x00CC00AA, "Дебаггеры в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 4) continue;
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
return true;
}
case 2:
{
SendClientMessage(playerid, 0x00CC00AA, "Менеджеры группировок в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 3) continue;
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
return true;
}
case 3:
{
SendClientMessage(playerid, 0x00CC00AA, "Модераторы в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 2) continue;
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
return true;
}
case 4:
{
SendClientMessage(playerid, 0x00CC00AA, "Помощники в сети:");
foreach(new i:Player)
{
if(pInfo[i][pAdm] != 1) continue;
format(string, sizeof(string), "%s[%d]", pInfo[i][pName], i); //pName переменную изменяй на свою
SendClientMessage(playerid, 0xFFFF00AA, string);
}
return true;
}
}
}