SA-MP Forums Archive
Leaderboard [help?] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Leaderboard [help?] (/showthread.php?tid=635669)

Pages: 1 2


Re: Leaderboard [help?] - Thanks - 14.06.2017

Nice.. but how did the textdraws updating? you didn\'t put my textdraws...

Textdraw19
Textdraw20
Textdraw21
Textdraw22
Textdraw23

You must put thiss right?


Re: Leaderboard [help?] - Thanks - 14.06.2017

like this?

Code:
public OnPlayerSpawn(playerid) // you can also do onplayerconnect...
{
    new first, second, third, fourth, fifth;
    //make a loop
    for(new i=0;i<MAX_PLAYERS;i++) // This loop will check for the player that has the most kills
    {
        if(kills[i] > kills[first])
        {
            first = i;
            TextDrawSetString(Textdraw19, kills[first]);
        }
    }
    for(new d=0;d<MAX_PLAYERS;d++) // This loop will check for the player that has the second most kills
    {
        if(first == d) continue;
        if(kills[d] > kills[second])
        {
            second = d;
            TextDrawSetString(Textdraw20, kills[second]);
        }
    }
    for(new s=0;s<MAX_PLAYERS;s++) // This loop will check for the player that has the third most kills
    {
        if(first == s || second == s) continue;
        if(kills[s] > kills[third])
        {
            third = s;
            TextDrawSetString(Textdraw21, kills[third]);
        }
    }
    for(new a=0;a<MAX_PLAYERS;a++) // This loop will check for the player that has the fourth most kills
    {
        if(first == a || second == a || third == a) continue;
        if(kills[a] > kills[fourth])
        {
            fourth = a;
            TextDrawSetString(Textdraw22, kills[fourth]);
        }
    }
    for(new c=0;c<MAX_PLAYERS;c++) // This loop will check for the player that has the fifth most kills
    {
        if(first == c || second == c || third == c || fourth == c) continue;
        if(kills[c] > kills[fifth])
        {
            fifth = c;
            TextDrawSetString(Textdraw23, kills[fifth]);
        }
    }



Re: Leaderboard [help?] - andrejc999 - 14.06.2017

Code:
new Name[5][MAX_PLAYER_NAME], string[5][64];

GetPlayerName(first, Name[0], MAX_PLAYER_NAME);
GetPlayerName(second, Name[1], MAX_PLAYER_NAME);
GetPlayerName(third, Name[2], MAX_PLAYER_NAME);
GetPlayerName(fourth, Name[3], MAX_PLAYER_NAME);
GetPlayerName(fifth, Name[4], MAX_PLAYER_NAME);

format(string[0], sizeof(string[0]), "~R~#1 - ~W~%s", Name[0],);
format(string[1], sizeof(string[1]), "~R~#2 - ~W~%s", Name[1],);
format(string[2], sizeof(string[2]), "~R~#3 - ~W~%s", Name[2],);
format(string[3], sizeof(string[3]), "~R~#4 - ~W~%s", Name[3],);
format(string[4], sizeof(string[4]), "~R~#5 - ~W~%s", Name[4],);

TextDrawSetString(Textdraw19, string[0]);
TextDrawSetString(Textdraw20, string[1]);
TextDrawSetString(Textdraw21, string[2]);
TextDrawSetString(Textdraw22, string[3]);
TextDrawSetString(Textdraw23, string[4]);

TextDrawShowForPlayer(playerid, Textdraw19);
TextDrawShowForPlayer(playerid, Textdraw20);
TextDrawShowForPlayer(playerid, Textdraw21);
TextDrawShowForPlayer(playerid, Textdraw22);
TextDrawShowForPlayer(playerid, Textdraw23);

SetTimerEx("TextdrawHide", 5000, false, "uiiiii", playerid, Textdraw19, Textdraw20, Textdraw21, Textdraw22, Textdraw23); //A timer which will hide the textdraw, it\'s set to 5 seconds and you can change that if you want to...

//Now put this under the new kills...

forward TextdrawHide(playerid, textdraw1, textdraw2, textdraw3, textdraw4, textdraw5);

//And put this down where other public functions are...

public TextdrawHide(playerid, textdraw1, textdraw2, textdraw3, textdraw4, textdraw5)
{
    TextDrawHideForPlayer(playerid, textdraw1);
    TextDrawHideForPlayer(playerid, textdraw2);
    TextDrawHideForPlayer(playerid, textdraw3);
    TextDrawHideForPlayer(playerid, textdraw4);
    TextDrawHideForPlayer(playerid, textdraw5);
    return 1;
}
And read my last comment I changed it a bit


Please, if you get any errors send them to me and I\'ll fix them...


EDIT:I changed the code just coppy it...


Re: Leaderboard [help?] - andrejc999 - 14.06.2017

EDIT: Deleted


Re: Leaderboard [help?] - Thanks - 14.06.2017

Sorry but where should i put this?

Code:
new Name[5][MAX_PLAYER_NAME], string[5][64];

GetPlayerName(first, Name[0], MAX_PLAYER_NAME);
GetPlayerName(second, Name[1], MAX_PLAYER_NAME);
GetPlayerName(third, Name[2], MAX_PLAYER_NAME);
GetPlayerName(fourth, Name[3], MAX_PLAYER_NAME);
GetPlayerName(fifth, Name[4], MAX_PLAYER_NAME);

format(string[0], sizeof(string[0]), "~R~#1 - ~W~%s", Name[0],);
format(string[1], sizeof(string[1]), "~R~#2 - ~W~%s", Name[1],);
format(string[2], sizeof(string[2]), "~R~#3 - ~W~%s", Name[2],);
format(string[3], sizeof(string[3]), "~R~#4 - ~W~%s", Name[3],);
format(string[4], sizeof(string[4]), "~R~#5 - ~W~%s", Name[4],);

TextDrawSetString(Textdraw19, string[0]);
TextDrawSetString(Textdraw20, string[1]);
TextDrawSetString(Textdraw21, string[2]);
TextDrawSetString(Textdraw22, string[3]);
TextDrawSetString(Textdraw23, string[4]);

TextDrawShowForPlayer(playerid, Textdraw19);
TextDrawShowForPlayer(playerid, Textdraw20);
TextDrawShowForPlayer(playerid, Textdraw21);
TextDrawShowForPlayer(playerid, Textdraw22);
TextDrawShowForPlayer(playerid, Textdraw23);



Re: Leaderboard [help?] - Sew_Sumi - 15.06.2017

This is why copying and pasting rarely teaches anything.

You need to learn how to use code before simply putting in a feature, especially when the next feature you want to add, will simply be the next thing you ask on the forum.


Re: Leaderboard [help?] - Thanks - 15.06.2017

Hello again... im trying to use it but i got errors


My Code
Code:
 if(kills[i] > kills[first])
        {
            GetPlayerName(first, Name[0], MAX_PLAYER_NAME);
            format(string[0], sizeof(string[0]), "~R~#1 - ~W~%s", Name[0],);
            TextDrawSetString(Textdraw19, string[0]);
            TextDrawShowForPlayer(playerid, Textdraw19);

            first = i;
        }
    }


ERRORS
Code:
C:\Users\---\Desktop\MoG\gamemodes\Warehouse.pwn(585) : error 001: expected token: "]", but found "-integer value-"
C:\Users\---\Desktop\MoG\gamemodes\Warehouse.pwn(585) : warning 215: expression has no effect
C:\Users\---\Desktop\MoG\gamemodes\Warehouse.pwn(585) : error 001: expected token: ";", but found "]"
C:\Users\---\Desktop\MoG\gamemodes\Warehouse.pwn(585) : error 029: invalid expression, assumed zero
C:\Users\---\Desktop\MoG\gamemodes\Warehouse.pwn(585) : fatal error 107: too many error messages on one line



Re: Leaderboard [help?] - Thanks - 16.06.2017

Errors? help


Re: Leaderboard [help?] - CheezIt - 16.06.2017

I\'m just going to quote this here since you ignored me, it\'s the most viable way.

Quote:
Originally Posted by CheezIt
View Post
Store the players\' score in an array, use a sorting algorithm (http://forum.sa-mp.com/showpost.php?...postcount=1737) then take the last 5 values.


An example is provided beyond the provided link.


If you have any questions or need help, then I can\'t help you. Bye.



Re: Leaderboard [help?] - Thanks - 16.06.2017

Quote:
Originally Posted by CheezIt
View Post
I\'m just going to quote this here since you ignored me, it\'s the most viable way.
Dude.. you have to follow the code.. and i dont know how to learn about quickSort..


Re: Leaderboard [help?] - CheezIt - 16.06.2017

Quote:
Originally Posted by Thanks
View Post
Dude.. you have to follow the code.. and i dont know how to learn about quickSort..
If you want my help, then follow my guidelines (you didn\'t even bother to try anything related to them, there\'s another step you haven\'t reached yet; which is sorting the IDs accordingly alongside the scores). If you want rubbish code that just "works", then I cannot help you.


As I said, there\'s an example beyond the link. If you are clueless to an extent that you are ACTUALLY completely clueless, then learn scripting before proceeding.


If you don\'t like my teaching process (which is free and I have freedom to do it how I want), then there\'s always hiring someone with the knowledge (expect to pay) or waiting for someone else to feed the code to you.