22.05.2014, 17:08
Help me, how to make list 10 top players ?
new Text: text_Top5[2];
SetTimer("Top5", 1000, true);
text_Top5[0] = TextDrawCreate(79.000000, 135.000000, "Leaderboard (Top 5)");
TextDrawAlignment(text_Top5[0], 2);
TextDrawBackgroundColor(text_Top5[0], 255);
TextDrawFont(text_Top5[0], 1);
TextDrawLetterSize(text_Top5[0], 0.280000, 1.499999);
TextDrawColor(text_Top5[0], -1);
TextDrawSetOutline(text_Top5[0], 0);
TextDrawSetProportional(text_Top5[0], 1);
TextDrawSetShadow(text_Top5[0], 0);
text_Top5[1] = TextDrawCreate(16.000000, 135.000000, " ");
TextDrawBackgroundColor(text_Top5[1], 255);
TextDrawFont(text_Top5[1], 1);
TextDrawLetterSize(text_Top5[1], 0.200000, 0.999999);
TextDrawColor(text_Top5[1], -1);
TextDrawSetOutline(text_Top5[1], 0);
TextDrawSetProportional(text_Top5[1], 1);
TextDrawSetShadow(text_Top5[1], 0);
TextDrawUseBox(text_Top5[1], 1);
TextDrawBoxColor(text_Top5[1], 150);
TextDrawTextSize(text_Top5[1], 143.000000, 20.000000);
TextDrawDestroy(text_Top5[0]);
TextDrawDestroy(text_Top5[1]);
forward Top5(playerid);
public Top5(playerid)
{
new playerMoney[MAX_PLAYERS][rankingEnum], index;
for(new i; i != MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
playerMoney[index][player_Money] = GetPlayerMoney(i);
playerMoney[index++][player_ID] = i;
}
}
GetPlayerHighestMoney(playerMoney, 0, index);
new Money_Text[256] = "~n~",
player_Name[20];
for(new i; i < 5; ++i)
{
if(i < index)
{
GetPlayerName(playerMoney[i][player_ID], player_Name, sizeof(player_Name));
format(Money_Text, sizeof(Money_Text), "%s~n~~b~%d. ~w~%s - ~r~%d", Money_Text, i + 1, player_Name, playerMoney[i][player_Money]);
}
else
format(Money_Text, sizeof(Money_Text), "%s~n~~b~%d. ~r~N/A", Money_Text, i + 1);
}
TextDrawSetString(text_Top5[1], Money_Text);
TextDrawShowForAll(text_Top5[0]);
TextDrawShowForAll(text_Top5[1]);
return 1;
}
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]);
}