[Help] Rank System (progress bar)
#1

Hi, I'm making a rank system using Toribio's progress bar include, but it's not working properly, here's the current code I have...
pawn Код:
public OnPlayerSpawn(playerid)
{
    ranks[playerid] = CreateProgressBar(3.00, 442.00, 634.50, 3.20, 12989183, 5.0);
    ShowProgressBarForPlayer(playerid, ranks[playerid]);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
Puntos[killerid]++;
SetProgressBarValue(ranks[killerid], Puntos[killerid]);
UpdateProgressBar(ranks[killerid], killerid);
SubirRank(killerid);
return 1;
}

stock SubirRank(killerid)
{
    if(Puntos[killerid] == 5) { AccountInfo[killerid][Rank] = 1,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 10),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 10) { AccountInfo[killerid][Rank] = 2,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 15),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 15) { AccountInfo[killerid][Rank] = 3,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 20),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 20) { AccountInfo[killerid][Rank] = 4,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 25),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 25) { AccountInfo[killerid][Rank] = 5,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 50),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 50) { AccountInfo[killerid][Rank] = 6,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 100),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 100) { AccountInfo[killerid][Rank] = 7,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 150),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 150) { AccountInfo[killerid][Rank] = 8,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 200),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 200) { AccountInfo[killerid][Rank] = 9,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 250),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 250) { AccountInfo[killerid][Rank] = 10,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 500),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 500) { AccountInfo[killerid][Rank] = 11,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 550),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 550) { AccountInfo[killerid][Rank] = 12,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 600),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 600) { AccountInfo[killerid][Rank] = 13,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 650),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 650) { AccountInfo[killerid][Rank] = 14,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 800),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 800) { AccountInfo[killerid][Rank] = 15,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 880),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 880) { AccountInfo[killerid][Rank] = 16,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 950),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 950) { AccountInfo[killerid][Rank] = 17,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 1000),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 1000) { AccountInfo[killerid][Rank] = 18,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 1050),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 1050) { AccountInfo[killerid][Rank] = 19,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 1890),UpdateProgressBar(ranks[killerid], killerid); }
    if(Puntos[killerid] == 1890) { AccountInfo[killerid][Rank] = 20,SetProgressBarValue(ranks[killerid],0),SetProgressBarMaxValue(ranks[killerid], 1890),UpdateProgressBar(ranks[killerid], killerid); }
    return 1;
}
The main problem is that when you rank up it stills keep the EXP(Puntos) you already had. And it should remove them and start a new progress bar but with the MaxValue expended.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)