Originally Posted by Misiur
Why won't you try yourself OP? We are here to help, so the more you show your effort, the more help you will get.
The @BullseyeHawk script will be now more useful than mine. Here's what you need: One big string to hold the final result visible in dialog. In the second if, don't operate on Jstring, but on some other string - you'll have now two strings, JLstring with all admins, and some other string with all vips. Finally concatenate those two strings, and voila - you have list of admins and vips.
Here's your base code (@BullseyeHawk's with bracket placement fix)
pawn Код:
CMD:admins( playerid, params[] ) { new structCounter[2], bool:declared[MAX_PLAYERS]; strdel(JLstring, 0, 500); foreach(Player, i) { if(pInfo[i][pLevel] > 0 && !pInfo[i][aHide]) { switch(pInfo[i][pLevel]) { case 1: { LevelName = ADMIN_LEVEL_1; LevelColor = LEVEL_1_COLOR; } case 2: { LevelName = ADMIN_LEVEL_2; LevelColor = LEVEL_2_COLOR; } case 3: { LevelName = ADMIN_LEVEL_3; LevelColor = LEVEL_3_COLOR; } case 4: { LevelName = ADMIN_LEVEL_4; LevelColor = LEVEL_4_COLOR; } case 5: { LevelName = ADMIN_LEVEL_5; LevelColor = LEVEL_5_COLOR; } default: { LevelName = ADMIN_LEVEL_6; LevelColor = LEVEL_6_COLOR; } } if(IsPlayerAdmin(i)) format(Jstring, 128, "{FF0000}%s - Level: %d (RCON Administrator)\n", GetName(i), pInfo[i][pLevel]); else format(Jstring, 128, "%s%s - Level: %d (%s)\n", LevelColor, GetName(i), pInfo[i][pLevel], LevelName);
strcat(JLstring, Jstring, sizeof(JLstring)); ++structCounter[0]; declared[i] = true; } if(pInfo[i][Donator] > 0 && declared[i] == false) { switch(pInfo[i][Donator]) { case 1: { LevelName = VIP_LEVEL_1; LevelColor = VIP_1_COLOR; } case 2: { LevelName = VIP_LEVEL_2; LevelColor = VIP_2_COLOR; } default: { LevelName = VIP_LEVEL_3; LevelColor = VIP_3_COLOR; } } format(Jstring, 128, "%s%s - VIP Level: %d (%s)\n", LevelColor, GetName(i), pInfo[i][Donator], LevelName); strcat(JLstring, Jstring, sizeof(JLstring)); ++structCounter[1]; } } if(!(structCounter[0] + structCounter[1])) { ShowPlayerDialog(playerid,JDIALOGS+165,DIALOG_STYLE_MSGBOX,"{00FFE6}Online admins and vips","{FF0000}No admins nor VIPs online!" ,"OK",""); } else { format(Jstring, 128, "{00FFE6}%d admins online, %d vips online",structCounter[0], structCounter[1]), ShowPlayerDialog(playerid,JDIALOGS+165,DIALOG_STYLE_MSGBOX,Jstring,JLstring ,"OK",""); } strdel(JLstring,0,500); }
|