How to pass this to a dialog
#10

lol..

Just this part, like this:

pawn Код:
enum rankingEnum
{
    player_Score,
    player_ID
}

//COMMANDS
CMD:tops(playerid, params[])
{
    new playerScores[MAX_PLAYERS][rankingEnum], index;
    for(new i; i != MAX_PLAYERS; ++i)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
                 playerScores[index][player_Score] = GetPlayerScore(i);
                 playerScores[index++][player_ID] = i;
        }
    }
    GetPlayerHighestScores(playerScores, 0, index);
    new score_Text[256] = "~n~", player_Name[20];
    for(new i; i < 5; ++i)
    {
            if(i < index)
            {
                GetPlayerName(playerScores[i][player_ID], player_Name, sizeof(player_Name));
                format(score_Text, sizeof(score_Text), "%s~n~~b~%d. ~w~%s - ~r~%d", score_Text, i + 1, player_Name, playerScores[i][player_Score]);
            }
            else
            {
                format(score_Text, sizeof(score_Text), "%s~n~~b~%d. ~r~N/A", score_Text, i + 1);
            }
    }
    ShowPlayerDialog(playerid, ID DIALOG, DIALOG_STYLE_MSGBOX, "Top Players", score_Text, "OK", "");
    return 1;
}

//STOCK
stock GetPlayerHighestScores(array[][rankingEnum], left, right)
{
    new
        tempLeft = left,
        tempRight = right,
        pivot = array[(left + right) / 2][player_Score],
        tempVar
    ;
    while(tempLeft <= tempRight)
    {
        while(array[tempLeft][player_Score] > pivot) tempLeft++;
        while(array[tempRight][player_Score] < pivot) tempRight--;

        if(tempLeft <= tempRight)
        {
            tempVar = array[tempLeft][player_Score], array[tempLeft][player_Score] = array[tempRight][player_Score], array[tempRight][player_Score] = tempVar;
            tempVar = array[tempLeft][player_ID], array[tempLeft][player_ID] = array[tempRight][player_ID], array[tempRight][player_ID] = tempVar;
            tempLeft++, tempRight--;
        }
    }
    if(left < tempRight) GetPlayerHighestScores(array, left, tempRight);
    if(tempLeft < right) GetPlayerHighestScores(array, tempLeft, right);
}
Reply


Messages In This Thread
How to pass this to a dialog - by RiChArD_A - 27.05.2013, 02:01
Re: How to pass this to a dialog - by RiChArD_A - 27.05.2013, 14:39
Re: How to pass this to a dialog - by Vince - 27.05.2013, 15:05
Re: How to pass this to a dialog - by RiChArD_A - 27.05.2013, 17:30
Re: How to pass this to a dialog - by Pottus - 27.05.2013, 17:33
Re: How to pass this to a dialog - by RiChArD_A - 27.05.2013, 17:40
Re: How to pass this to a dialog - by Hernando - 27.05.2013, 17:56
Respuesta: How to pass this to a dialog - by Loox - 27.05.2013, 18:08
Re: Respuesta: How to pass this to a dialog - by RiChArD_A - 27.05.2013, 21:24
Respuesta: How to pass this to a dialog - by Loox - 28.05.2013, 13:05

Forum Jump:


Users browsing this thread: 6 Guest(s)