Xp help
#1

Код:
#include a_samp
#include sscanf

#define BasicXp 100

new PlayerXp[150];
new PlayerLevel[150] = 1;
new MaxLevelUp[150] = 2;

public OnPlayerConnect(playerid)
{
    PlayerLevel[playerid] = 1;
    MaxLevelUp[playerid] = 2;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(!strcmp(cmdtext, "/xp", true))
	{
	    new str[64];
	    format(str, sizeof str, "XP: %d/%d; Level: %d", PlayerXp[playerid], (MaxLevelUp[playerid] * BasicXp), PlayerLevel[playerid]);
	    SendClientMessage(playerid, -1, str);
	    return 1;
	}
	
	if(!strcmp(cmdtext, "/givexp", true, 5))
	{
	    new xp;
	    if(sscanf(cmdtext[7], "d", xp)) return SendClientMessage(playerid, -1, "/givexp [XP]");
	    
	    LevelUp(playerid, xp);
	    
	    return 1;
	}

	return 0;
}

LevelUp(playerid, xp)
{
	if(PlayerLevel[playerid] == 1)
	{
	    if(PlayerXp[playerid] >= 100)
		{
		    PlayerLevel[playerid]++;
		    PlayerXp[playerid] = PlayerXp[playerid] - 100;
		    MaxLevelUp[playerid] = MaxLevelUp[playerid] * 2;
		}
		else
		{
		    PlayerXp[playerid] = PlayerXp[playerid] + xp;
		}
	}
	else
	{

		if(PlayerXp[playerid] >= (MaxLevelUp[playerid] * BasicXp))
		{
		    PlayerLevel[playerid]++;
		    PlayerXp[playerid] = PlayerXp[playerid] - (MaxLevelUp[playerid] * BasicXp);
		    MaxLevelUp[playerid] = MaxLevelUp[playerid] * 2;
		}
		else
		{
		    PlayerXp[playerid] = PlayerXp[playerid] + xp;
		}
	}
}
Please not when it reaches 200 XP will not change it Do you know where is the mistake? Help ME! And does not add to level
Reply


Messages In This Thread
Xp help - by RonnyCZ - 16.11.2014, 10:19

Forum Jump:


Users browsing this thread: 1 Guest(s)