Return the 3 top scoring
#4

Use md-sort = Sort multi-dimensional arrays (enums supported)

You need to sort your array descending by score and than you can extract the first three
pawn Code:
GetHighScorePlayers(array[MAX_PLAYERS][2]) {
    // and we store the playerid and the score in the array
    foreach(new i : Player) {
        array[i][0] = i;
        array[i][1] = PlayerInfo[i][pScore];
    }
    // now we just sort the whole array descending by the value stored in [1] (the score)
    SortDeepArray(array, 1, .order = SORT_DESC);
}
Because you want to return more than one result we need to pass an array to it
pawn Code:
// example
    new
        tPlayer[MAX_PLAYERS][2]
    ;
    GetHighScorePlayers(tPlayer);

    printf("1. %d Score: %d", tPlayer[0][0], tPlayer[0][1]);
    printf("2. %d Score: %d", tPlayer[1][0], tPlayer[1][1]);
    printf("3. %d Score: %d", tPlayer[2][0], tPlayer[2][1]);
    printf("4. %d Score: %d", tPlayer[3][0], tPlayer[3][1]);
    printf("5. %d Score: %d", tPlayer[4][0], tPlayer[4][1]);
    // and so on
Reply


Messages In This Thread
Return the 3 top scoring - by Kontrol - 04.05.2014, 01:10
Re: Return the 3 top scoring - by superrobot48 - 04.05.2014, 03:29
Re: Return the 3 top scoring - by Kontrol - 04.05.2014, 10:25
AW: Return the 3 top scoring - by Nero_3D - 04.05.2014, 10:39
Re: AW: Return the 3 top scoring - by Kontrol - 04.05.2014, 11:26
Re: Return the 3 top scoring - by XK - 04.05.2014, 11:40
Re: Return the 3 top scoring - by Kontrol - 04.05.2014, 12:32
AW: Re: Return the 3 top scoring - by Nero_3D - 04.05.2014, 13:33

Forum Jump:


Users browsing this thread: 1 Guest(s)