Код:
if(strcmp(cmd, "/levelup", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] != 0)
{
if(PlayerInfo[playerid][pLevel] >= 0)
{
new nxtlevel = PlayerInfo[playerid][pLevel]+1;
new costlevel = nxtlevel*levelcost;//10k for testing purposes
new expamount = nxtlevel*levelexp;
if(PlayerInfo[playerid][pCash] < costlevel)
{
format(string, sizeof(string), " You can't afford that ($%d) !",costlevel);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
else if(PlayerInfo[playerid][pExp] < expamount)
{
format(string, sizeof(string), " You need %d respect points, you curently have %d !",expamount,PlayerInfo[playerid][pExp]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
else
{
format(string, sizeof(string), "~r~Level up~n~~w~level %d", nxtlevel);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
PlayerInfo[playerid][pLevel]++;
PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+5;
PlayerInfo[playerid][pLevel]++;
format(string, sizeof(string), "You became level %d, type /upgrade.", nxtlevel);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You have %d upgrade points remaining.",PlayerInfo[playerid][gPupgrade]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
else
{
PlayerInfo[playerid][pExp] -= expamount;
new total = PlayerInfo[playerid][pExp];
if(total > 0) { PlayerInfo[playerid][pExp] = total; }
else { PlayerInfo[playerid][pExp] = 0; }
PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
GameTextForPlayer(playerid, string, 5000, 1);
format(string, sizeof(string), "You became level %d, type /upgrade.", nxtlevel);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You have %d upgrade points remaining.",PlayerInfo[playerid][gPupgrade]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " You are not Logged in !");
}
}
return 1;
}