Score Ranks Help
#1

uuh my problem is for example like..
*Killer Kills Player* he had 24score and at 25 u get a new rank he gets the one point and the clientmessage sends to everyone that the killer id gets the rank but the actually rank goes to player id..
How do i do that killerid , gets the rank? not the playerid...
Heres my code..
pawn Код:
new Text:Recruit;
new Text:Corporal;
new Text:Sergeant;
new Text:Lieutenant;
new Text:Captian;
new Text:General;

new gPlayerLogged[MAX_PLAYERS];
new pRank[MAX_PLAYERS];

    Recruit = TextDrawCreate(500, 100, "Rank: Recruit");
    TextDrawAlignment(Recruit, 1);
    TextDrawFont(Recruit, 2);
    TextDrawLetterSize(Recruit, 0.400, 1.000);
    TextDrawColor(Recruit, COLOR_WHITE);
    TextDrawSetOutline(Recruit, 1);

    Corporal = TextDrawCreate(486, 100, "Rank: Corporal'");
    TextDrawAlignment(Corporal, 1);
    TextDrawFont(Corporal, 2);
    TextDrawLetterSize(Corporal, 0.400, 1.000);
    TextDrawColor(Corporal, COLOR_YELLOW);
    TextDrawSetOutline(Corporal, 1);

    Sergeant = TextDrawCreate(500, 100, "Rank: Sergeant");
    TextDrawAlignment(Sergeant, 1);
    TextDrawFont(Sergeant, 2);
    TextDrawLetterSize(Sergeant, 0.400, 1.000);
    TextDrawColor(Sergeant, COLOR_GREEN);
    TextDrawSetOutline(Sergeant, 1);

    Lieutenant = TextDrawCreate(500, 100, "Rank: Lieutenant'");
    TextDrawAlignment(Lieutenant, 1);
    TextDrawFont(Lieutenant, 2);
    TextDrawLetterSize(Lieutenant, 0.400, 1.000);
    TextDrawColor(Lieutenant, COLOR_ROYAL);
    TextDrawSetOutline(Lieutenant, 1);

    Captian = TextDrawCreate(483, 100, "Rank: Captian");
    TextDrawAlignment(Captian, 1);
    TextDrawFont(Captian, 2);
    TextDrawLetterSize(Captian, 0.400, 1.000);
    TextDrawColor(Captian, COLOR_PURPLE);
    TextDrawSetOutline(Captian, 1);

    General = TextDrawCreate(490, 100, "Rank: General");
    TextDrawAlignment(General, 1);
    TextDrawFont(General, 2);
    TextDrawLetterSize(General, 0.400, 1.000);
    TextDrawColor(General, COLOR_TUT);
    TextDrawSetOutline(General, 1);

    TextDrawShowForPlayer(playerid, Recruit);
    TextDrawShowForPlayer(playerid, Corporal);
    TextDrawShowForPlayer(playerid, Sergeant);
    TextDrawShowForPlayer(playerid, Lieutenant);
    TextDrawShowForPlayer(playerid, Captian);
    TextDrawShowForPlayer(playerid, General);

    if(gPlayerLogged[playerid] == 0) { // If not logged in
    TextDrawHideForPlayer(playerid, Recruit);
    TextDrawHideForPlayer(playerid, Corporal);
    TextDrawHideForPlayer(playerid, Sergeant);
    TextDrawHideForPlayer(playerid, Lieutenant);
    TextDrawHideForPlayer(playerid, Captian);
    TextDrawHideForPlayer(playerid, General);
    }

    if(pRank[playerid] == 0) { // Recruit
    GivePlayerWeapon(playerid, 22, 300);
    GivePlayerWeapon(playerid, 17, 500);
    TextDrawHideForPlayer(playerid, Corporal);
    TextDrawHideForPlayer(playerid, Sergeant);
    TextDrawHideForPlayer(playerid, Lieutenant);
    TextDrawHideForPlayer(playerid, Captian);
    TextDrawHideForPlayer(playerid, General);
    }

    else if(pRank[playerid] == 1) { // Corporal
    SetPlayerArmour(playerid, 15.0);
    GivePlayerWeapon(playerid, 23, 300);
    GivePlayerWeapon(playerid, 17, 500);
    GivePlayerWeapon(playerid, 5, 1);
    TextDrawHideForPlayer(playerid, Recruit);
    TextDrawHideForPlayer(playerid, Sergeant);
    TextDrawHideForPlayer(playerid, Lieutenant);
    TextDrawHideForPlayer(playerid, Captian);
    TextDrawHideForPlayer(playerid, General);
    }

    else if(pRank[playerid] == 2) { // Sergeant
    SetPlayerArmour(playerid, 25.0);
    GivePlayerWeapon(playerid, 24, 150);
    GivePlayerWeapon(playerid, 5, 1);
    TextDrawHideForPlayer(playerid, Corporal);
    TextDrawHideForPlayer(playerid, Recruit);
    TextDrawHideForPlayer(playerid, Lieutenant);
    TextDrawHideForPlayer(playerid, Captian);
    TextDrawHideForPlayer(playerid, General);
    }

    else if(pRank[playerid] == 3) { // Lieutenant
    SetPlayerArmour(playerid, 50.0);
    GivePlayerWeapon(playerid, 29, 200);
    GivePlayerWeapon(playerid, 24, 150);
    TextDrawHideForPlayer(playerid, Corporal);
    TextDrawHideForPlayer(playerid, Sergeant);
    TextDrawHideForPlayer(playerid, Recruit);
    TextDrawHideForPlayer(playerid, Captian);
    TextDrawHideForPlayer(playerid, General);
    }

    else if(pRank[playerid] == 4) { // Captian
    SetPlayerArmour(playerid, 75.0);
    GivePlayerWeapon(playerid, 34, 100);
    GivePlayerWeapon(playerid, 24, 300);
    TextDrawHideForPlayer(playerid, Corporal);
    TextDrawHideForPlayer(playerid, Sergeant);
    TextDrawHideForPlayer(playerid, Lieutenant);
    TextDrawHideForPlayer(playerid, Recruit);
    TextDrawHideForPlayer(playerid, General);
    }

    else if(pRank[playerid] == 5) { // General
    SetPlayerArmour(playerid, 100);
    GivePlayerWeapon(playerid, 27, 100);
    GivePlayerWeapon(playerid, 24, 500);
    GivePlayerWeapon(playerid, 31, 500);
    TextDrawHideForPlayer(playerid, Corporal);
    TextDrawHideForPlayer(playerid, Sergeant);
    TextDrawHideForPlayer(playerid, Lieutenant);
    TextDrawHideForPlayer(playerid, Captian);
    TextDrawHideForPlayer(playerid, Recruit);
    }

    new string[256];

    if(GetPlayerScore(killerid) == 25) // Amount of required kills to get rank 1 *Corporal'*
    {
        GetPlayerName(killerid, string, sizeof(string) );
        format(string, sizeof(string), ">> %s advanced to rank *Corporal'* by killing %d players", string, GetPlayerScore(killerid) );
        SendClientMessageToAll(COLOR_LIGHTBLUE, string);
        pRank[killerid] = 1;
        TextDrawHideForPlayer(playerid, Recruit);
        Corporal = TextDrawCreate(486, 100, "Rank: Corporal'");
        TextDrawAlignment(Corporal, 1);
        TextDrawFont(Corporal, 2);
        TextDrawLetterSize(Corporal, 0.400, 1.000);
        TextDrawColor(Corporal, COLOR_YELLOW);
        TextDrawSetOutline(Corporal, 1);
    }
    else if(GetPlayerScore(killerid) == 50) // Amount of required kills to get rank 2 *Sergeant*
    {
        GetPlayerName(killerid, string, sizeof(string) );
        format(string, sizeof(string), ">> %s advanced to rank *Sergeant* by killing %d players", string, GetPlayerScore(killerid));
        SendClientMessageToAll(COLOR_LIGHTBLUE, string);
        pRank[killerid] = 2;
        Sergeant = TextDrawCreate(500, 100, "Rank: Sergeant");
        TextDrawAlignment(Sergeant, 1);
        TextDrawFont(Sergeant, 2);
        TextDrawLetterSize(Sergeant, 0.400, 1.000);
        TextDrawColor(Sergeant, COLOR_GREEN);
        TextDrawSetOutline(Sergeant, 1);
        TextDrawHideForPlayer(playerid, Corporal);
    }
    else if(GetPlayerScore(killerid) == 75) // Amount of required kills to get rank 3 *Lieutenant'*
    {
        GetPlayerName(killerid, string, sizeof(string) );
        format(string, sizeof(string), ">> %s advanced to rank *Lieutenant'* by killing %d players", string, GetPlayerScore(killerid));
        SendClientMessageToAll(COLOR_LIGHTBLUE, string);
        pRank[killerid] = 3;
        Lieutenant = TextDrawCreate(500, 100, "Rank: Lieutenant'");
        TextDrawAlignment(Lieutenant, 1);
        TextDrawFont(Lieutenant, 2);
        TextDrawLetterSize(Lieutenant, 0.400, 1.000);
        TextDrawColor(Lieutenant, COLOR_ROYAL);
        TextDrawSetOutline(Lieutenant, 1);
        TextDrawHideForPlayer(playerid, Sergeant);
    }
    else if(GetPlayerScore(killerid) == 100) // Amount of required kills to get rank 4 *Captian*
    {
        GetPlayerName(killerid, string, sizeof(string) );
        format(string, sizeof(string), ">> %s advanced to rank *Captian* by killing %d players", string, GetPlayerScore(killerid));
        SendClientMessageToAll(COLOR_LIGHTBLUE, string);
        pRank[killerid] = 4;
        Captian = TextDrawCreate(483, 100, "Rank: Captian");
        TextDrawAlignment(Captian, 1);
        TextDrawFont(Captian, 2);
        TextDrawLetterSize(Captian, 0.400, 1.000);
        TextDrawColor(Captian, COLOR_PURPLE);
        TextDrawSetOutline(Captian, 1);
        TextDrawHideForPlayer(playerid, Lieutenant);
    }
    else if(GetPlayerScore(killerid) == 125) // Amount of required kills to get rank 5 *General*
    {
        GetPlayerName(killerid, string, sizeof(string) );
        format(string, sizeof(string), ">> %s advanced to rank *The General* by killing %d players", string, GetPlayerScore(killerid));
        SendClientMessageToAll(COLOR_LIGHTBLUE, string);
        pRank[killerid] = 5;
        General = TextDrawCreate(490, 100, "Rank: General");
        TextDrawAlignment(General, 1);
        TextDrawFont(General, 2);
        TextDrawLetterSize(General, 0.400, 1.000);
        TextDrawColor(General, COLOR_TUT);
        TextDrawSetOutline(General, 1);
        TextDrawHideForPlayer(playerid, Captian);
    }
Ps: I Extracted parts..
Reply
#2

Change "playerid" to "killerid"?
I'm assuming you're changing the ranks via OnPlayerDeath.
pawn Код:
pRank[playerid] = int; to: pRank[killerid] = int;
Reply
#3

i dont understand..? :S
Reply
#4

Where inside the script, are you changing/upgrading the ranks?
Reply
#5

ON Top
new Text:Recruit;
new Text:Corporal;
new Text:Sergeant;
new Text:Lieutenant;
new Text:Captian;
new Text:General;

new gPlayerLogged[MAX_PLAYERS];
new pRank[MAX_PLAYERS];

OnGameModeInIt
Recruit = TextDrawCreate(500, 100, "Rank: Recruit");
TextDrawAlignment(Recruit, 1);
TextDrawFont(Recruit, 2);
TextDrawLetterSize(Recruit, 0.400, 1.000);
TextDrawColor(Recruit, COLOR_WHITE);
TextDrawSetOutline(Recruit, 1);

Corporal = TextDrawCreate(486, 100, "Rank: Corporal'");
TextDrawAlignment(Corporal, 1);
TextDrawFont(Corporal, 2);
TextDrawLetterSize(Corporal, 0.400, 1.000);
TextDrawColor(Corporal, COLOR_YELLOW);
TextDrawSetOutline(Corporal, 1);

Sergeant = TextDrawCreate(500, 100, "Rank: Sergeant");
TextDrawAlignment(Sergeant, 1);
TextDrawFont(Sergeant, 2);
TextDrawLetterSize(Sergeant, 0.400, 1.000);
TextDrawColor(Sergeant, COLOR_GREEN);
TextDrawSetOutline(Sergeant, 1);

Lieutenant = TextDrawCreate(500, 100, "Rank: Lieutenant'");
TextDrawAlignment(Lieutenant, 1);
TextDrawFont(Lieutenant, 2);
TextDrawLetterSize(Lieutenant, 0.400, 1.000);
TextDrawColor(Lieutenant, COLOR_ROYAL);
TextDrawSetOutline(Lieutenant, 1);

Captian = TextDrawCreate(483, 100, "Rank: Captian");
TextDrawAlignment(Captian, 1);
TextDrawFont(Captian, 2);
TextDrawLetterSize(Captian, 0.400, 1.000);
TextDrawColor(Captian, COLOR_PURPLE);
TextDrawSetOutline(Captian, 1);

General = TextDrawCreate(490, 100, "Rank: General");
TextDrawAlignment(General, 1);
TextDrawFont(General, 2);
TextDrawLetterSize(General, 0.400, 1.000);
TextDrawColor(General, COLOR_TUT);
TextDrawSetOutline(General, 1);

OnPlayerSpawn
TextDrawShowForPlayer(playerid, Recruit);
TextDrawShowForPlayer(playerid, Corporal);
TextDrawShowForPlayer(playerid, Sergeant);
TextDrawShowForPlayer(playerid, Lieutenant);
TextDrawShowForPlayer(playerid, Captian);
TextDrawShowForPlayer(playerid, General);

if(gPlayerLogged[playerid] == 0) { // If not logged in
TextDrawHideForPlayer(playerid, Recruit);
TextDrawHideForPlayer(playerid, Corporal);
TextDrawHideForPlayer(playerid, Sergeant);
TextDrawHideForPlayer(playerid, Lieutenant);
TextDrawHideForPlayer(playerid, Captian);
TextDrawHideForPlayer(playerid, General);
}

if(pRank[playerid] == 0) { // Recruit
GivePlayerWeapon(playerid, 22, 300);
GivePlayerWeapon(playerid, 17, 500);
TextDrawHideForPlayer(playerid, Corporal);
TextDrawHideForPlayer(playerid, Sergeant);
TextDrawHideForPlayer(playerid, Lieutenant);
TextDrawHideForPlayer(playerid, Captian);
TextDrawHideForPlayer(playerid, General);
}

else if(pRank[playerid] == 1) { // Corporal
SetPlayerArmour(playerid, 15.0);
GivePlayerWeapon(playerid, 23, 300);
GivePlayerWeapon(playerid, 17, 500);
GivePlayerWeapon(playerid, 5, 1);
TextDrawHideForPlayer(playerid, Recruit);
TextDrawHideForPlayer(playerid, Sergeant);
TextDrawHideForPlayer(playerid, Lieutenant);
TextDrawHideForPlayer(playerid, Captian);
TextDrawHideForPlayer(playerid, General);
}

else if(pRank[playerid] == 2) { // Sergeant
SetPlayerArmour(playerid, 25.0);
GivePlayerWeapon(playerid, 24, 150);
GivePlayerWeapon(playerid, 5, 1);
TextDrawHideForPlayer(playerid, Corporal);
TextDrawHideForPlayer(playerid, Recruit);
TextDrawHideForPlayer(playerid, Lieutenant);
TextDrawHideForPlayer(playerid, Captian);
TextDrawHideForPlayer(playerid, General);
}

else if(pRank[playerid] == 3) { // Lieutenant
SetPlayerArmour(playerid, 50.0);
GivePlayerWeapon(playerid, 29, 200);
GivePlayerWeapon(playerid, 24, 150);
TextDrawHideForPlayer(playerid, Corporal);
TextDrawHideForPlayer(playerid, Sergeant);
TextDrawHideForPlayer(playerid, Recruit);
TextDrawHideForPlayer(playerid, Captian);
TextDrawHideForPlayer(playerid, General);
}

else if(pRank[playerid] == 4) { // Captian
SetPlayerArmour(playerid, 75.0);
GivePlayerWeapon(playerid, 34, 100);
GivePlayerWeapon(playerid, 24, 300);
TextDrawHideForPlayer(playerid, Corporal);
TextDrawHideForPlayer(playerid, Sergeant);
TextDrawHideForPlayer(playerid, Lieutenant);
TextDrawHideForPlayer(playerid, Recruit);
TextDrawHideForPlayer(playerid, General);
}

else if(pRank[playerid] == 5) { // General
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid, 27, 100);
GivePlayerWeapon(playerid, 24, 500);
GivePlayerWeapon(playerid, 31, 500);
TextDrawHideForPlayer(playerid, Corporal);
TextDrawHideForPlayer(playerid, Sergeant);
TextDrawHideForPlayer(playerid, Lieutenant);
TextDrawHideForPlayer(playerid, Captian);
TextDrawHideForPlayer(playerid, Recruit);
}

OnPlayerDeath
new string[256];

if(GetPlayerScore(killerid) == 25) // Amount of required kills to get rank 1 *Corporal'*
{
GetPlayerName(killerid, string, sizeof(string) );
format(string, sizeof(string), ">> %s advanced to rank *Corporal'* by killing %d players", string, GetPlayerScore(killerid) );
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
pRank[killerid] = 1;
TextDrawHideForPlayer(playerid, Recruit);
Corporal = TextDrawCreate(486, 100, "Rank: Corporal'");
TextDrawAlignment(Corporal, 1);
TextDrawFont(Corporal, 2);
TextDrawLetterSize(Corporal, 0.400, 1.000);
TextDrawColor(Corporal, COLOR_YELLOW);
TextDrawSetOutline(Corporal, 1);
}
else if(GetPlayerScore(killerid) == 50) // Amount of required kills to get rank 2 *Sergeant*
{
GetPlayerName(killerid, string, sizeof(string) );
format(string, sizeof(string), ">> %s advanced to rank *Sergeant* by killing %d players", string, GetPlayerScore(killerid));
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
pRank[killerid] = 2;
Sergeant = TextDrawCreate(500, 100, "Rank: Sergeant");
TextDrawAlignment(Sergeant, 1);
TextDrawFont(Sergeant, 2);
TextDrawLetterSize(Sergeant, 0.400, 1.000);
TextDrawColor(Sergeant, COLOR_GREEN);
TextDrawSetOutline(Sergeant, 1);
TextDrawHideForPlayer(playerid, Corporal);
}
else if(GetPlayerScore(killerid) == 75) // Amount of required kills to get rank 3 *Lieutenant'*
{
GetPlayerName(killerid, string, sizeof(string) );
format(string, sizeof(string), ">> %s advanced to rank *Lieutenant'* by killing %d players", string, GetPlayerScore(killerid));
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
pRank[killerid] = 3;
Lieutenant = TextDrawCreate(500, 100, "Rank: Lieutenant'");
TextDrawAlignment(Lieutenant, 1);
TextDrawFont(Lieutenant, 2);
TextDrawLetterSize(Lieutenant, 0.400, 1.000);
TextDrawColor(Lieutenant, COLOR_ROYAL);
TextDrawSetOutline(Lieutenant, 1);
TextDrawHideForPlayer(playerid, Sergeant);
}
else if(GetPlayerScore(killerid) == 100) // Amount of required kills to get rank 4 *Captian*
{
GetPlayerName(killerid, string, sizeof(string) );
format(string, sizeof(string), ">> %s advanced to rank *Captian* by killing %d players", string, GetPlayerScore(killerid));
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
pRank[killerid] = 4;
Captian = TextDrawCreate(483, 100, "Rank: Captian");
TextDrawAlignment(Captian, 1);
TextDrawFont(Captian, 2);
TextDrawLetterSize(Captian, 0.400, 1.000);
TextDrawColor(Captian, COLOR_PURPLE);
TextDrawSetOutline(Captian, 1);
TextDrawHideForPlayer(playerid, Lieutenant);
}
else if(GetPlayerScore(killerid) == 125) // Amount of required kills to get rank 5 *General*
{
GetPlayerName(killerid, string, sizeof(string) );
format(string, sizeof(string), ">> %s advanced to rank *The General* by killing %d players", string, GetPlayerScore(killerid));
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
pRank[killerid] = 5;
General = TextDrawCreate(490, 100, "Rank: General");
TextDrawAlignment(General, 1);
TextDrawFont(General, 2);
TextDrawLetterSize(General, 0.400, 1.000);
TextDrawColor(General, COLOR_TUT);
TextDrawSetOutline(General, 1);
TextDrawHideForPlayer(playerid, Captian);
}
Reply
#6

anyone can help me?? HELLLLO
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)