15.05.2015, 17:55
Maybe not best sorting method but should works ok
pawn Code:
BubbleSort(array[], ids[], a_size = sizeof(array))
{
new temp[2];
for(new i=0,j; i < a_size; i++)
for(j=0; j < (a_size-i); j++)
if(array[j] < array[j+1])
{
temp[0] = array[j];
temp[1] = ids[j];
array[j] = array[j+1];
ids[j] = ids[j+1];
array[j+1] = temp[0];
ids[j+1] = temp[1];
}
}
CMD:admins(playerid, params[])
{
if(!IsLogged[playerid]) SendClientMessage(playerid, COLOR_RED, "[SERVER]: "COL_WHITE"Moras biti ulogiran kako bi mogao koristiti komande!");
else
{
new AdmRank[MAX_ADMINS], AdmID[MAX_ADMINS], adm;
foreach(Player, i)
{
if(PlayerInfo[i][pAdmin] > 0 && adm < MAX_AMINS)
{
AdmRank[adm] = PlayerInfo[i][pAdmin];
AdmID[adm++] = i;
}
}
if(adm == 0) SCM(playerid, COLOR_ORANGE, "[SERVER]: "COL_WHITE"Trenutno nema Admina/Gamemastera online!");
else
{
BubbleSort(AdmRank, AdmID, adm); // sorting lvls & ids
static TempStr[80],descStr[80 char],szStr[(80 * MAX_ADMINS) char];
szStr[0] = EOS;
for(new i=0; i < adm; i++)
{
// if(IsPlayerConnected(AdmID[i])) no needed but?
// {
format(TempStr, sizeof(TempStr),""COL_ORANGE"%s"COL_GREY" [ID: %d] [Admin Level: %d]\n", GetName(AdmID[i]), AdmID[i], PlayerInfo[AdmID[i]][pAdmin]);
strpack(descStr,TempStr);
strcat(szStr,descStr);
// }
}
ShowPlayerDialog(playerid,DIALOG_ADMINSLISTP,DIALOG_STYLE_MSGBOX,""COL_ORANGE"ONLINE ADMINS",szStr,"ZATVORI","");
}
}
return 1;
}